Re: [AD] About inp & outp

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


Here are the latest news:
The problem is with inportb() only... outportb() works. This is for sure, as it worked nicely when I only exchanged
inportb with inp, leaving outportb there. If inportb() is the problem, then the delay issue makes more sense, and
it seems the way to go. But I didn't manage to make it to work, with several kind of tries; from Michael's patch, up to
using rest() and other ways... The only case in which it works, is when I exchange inportb with inp.

So I read (again) the RHIDE online help on inportb, and I understood this C instruction is translated directly into asm
I/O instructions, -when optimization is enable-. So I made my final try: I took again the original 3.9.32 sndscape.c
file, and I compiled with the same gcc options all the Allegro C sources use (taken directly from the makefile), but
with several values for the -O switch. Here are the results of this try:

-O3: the default value for me, without setting PGCC=1. If PGCC is set, -O6 is used. In both cases, it didn't work.
-O2: the digitest.exe program now crashes (!?!?). Shouldn't this differ from O3 only by unrolling loops??
-O1: doesn't work, the same as for -O3 (Soundscape fails to be detected)
No -O switch: works!! Soundscape is detected, and all runs smoothly (except from that >16 on line 580, that had to
be fixed) with inportb()!

Now, I have a K6-200; could it be related to the code generated with -Ox on my system? Is my DJGPP broken? I have the
latest release, and I've just reinstalled it...

-- 
Angelo Mottola
a.mottola@xxxxxxxxxx



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