[AD] os_multitasking vs. i_love_bill. a deathmatch.

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


hi! i was going to remove the i_love_bill variable and use the 
os_multitasking variable which is cross-platform and has a more informative 
name. these variables has almost the exact same function so keeping both 
seems a little dumb to me.

now some background matherial...

according to the changelog: Scott Harrison added code to detect OpenDOS, and 
use the i_love_bill mode if their version of EMM386 is in use.

according to the allegro docs: When running in clean DOS mode, the timer 
handler dynamically reprograms the clock chip to generate interrupts at 
exactly the right times, which gives an extremely high accuracy. 
Unfortunately, this constant speed adjustment doesn't work under most 
multitasking systems (notably Windows), so there is an alternative mode that 
just locks the hardware timer interrupt to a speed of 200 ticks per second. 
This reduces the accuracy of the timer (for instance, rest() will round the 
delay time to the nearest 5 milliseconds), and prevents the vertical retrace 
simulator from working, but on the plus side, it makes Allegro programs work 
under Windows. This flag is set by allegro_init() if it detects the presence 
of a multitasking OS, and enables the fixed rate timer mode.

as you can see opendos is a special case. anyone know if this OS has 
multitasking capabilities or just have a horrible memory manager? i_love_bill 
has traditionally only been used in allegro for setting the timer max 
frequency, so setting os_multitasking = TRUE for OpenDOS shouldn't be such a 
bad thing to do. any objections? this is a rather small API change.

-henrik



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/