[AD] My journey to the lost BeOS world |
[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]
A copy of BeOS PE 5 had been sleeping for some time on my hard disk, so I decided yesterday to give it a try and installed it on my Win98 partition. Results: it booted (Win95 OSR2 and QNX RtP 6.1 don't boot any more after I installed a new 40 GB hard disk). The GUI bears much resemblance with the Photon MicroGUI of QNX 6.x, but the whole system looks more polished. Minor glitch: my legacy SB 16 ISA doesn't work (same thing under QNX). And of course I played with the current CVS version of Allegro. Good news: the library built in normal mode. Little problem: it failed in WARNMODE because of an incomplete initializer. Patch attached (beos.diff). Then I tried the test program: ok in most graphics modes, but a big crash in 15-bit depth on my 15-bit desktop. The culprit is the non-MMX asm color copy routine (%ecx and %edx were swapped). Patch attached (icolconv.diff). Then I wondered why the non-MMX routine was being used instead of the MMX one. It turned out that the MMX support was not compiled at all because of a bug in the makefile assembler test: a wrong option was passed to GCC that caused the SSE support to be tied to the MMX support. Now the GAS version supplied with BeOS doesn't support SSE instructions. Patch attached (mmxtest.diff). I tried next the demo program: unplayable because the joystick has not been calibrated. I chose to disable it by setting joytype = 0 in allegro.cfg, but that didn't work (although advertised as working). Patch attached (joystick.diff) Finally I implemented the synchronization routines so as to be able to define ALLEGRO_MULTITHREADED for BeOS too. BeOS has no notion of mutexes per se, only semaphores (that are of course über-mutexes). As a consequence they don't support nested locking, so I ended up defining my_mutex as I already did under Unix. Patch attached (beos_sync.diff). And last but not least... a bogus ASSERT. Patch attached (modesel.diff). 6 patches commited. -- Eric Botcazou
Attachment:
be_patches.zip
Description: Zip archive
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |