Folgende Routine hab ich aus dem TOS-Hyp. Sie ermittelt die Flags, die man bei
Mxalloc setzen kann. Ich frage mich, ob das auch unter härtesten
Sicherheitsbedingungen unter MiNT noch läuft:
FUNCTION mxmask
LOCAL svstack%
LOCAL sram%,sramg%
LOCAL aram%,aramg%
LET svstack%=GEMDOS(32,L:0) ! unterbinde Taskwechsel
sram%=GEMDOS(68,L:-1,0)
sramg%=GEMDOS(68,L:-1,&H40) ! im Fehlerfall Mxalloc( -1, 3)
aram%=GEMDOS(68,L:-1,1)
aramg%=GEMDOS(68,L:-1,&H41) ! im Fehlerfall Mxalloc( -1, 3)
~GEMDOS(32,L:svstack%) ! erlaube Taskwechsel
IF (sram%=-32)
RETURN 0 ! Mxalloc() ist nicht implementiert
ELSE IF (((sram%+aram%)=sramg%) AND ((sram%+aram%)=aramg%))
RETURN &H3 ! oldfashion Mxalloc()
ELSE
RETURN &HFFFF
ENDIF
ENDFUNC
Wie macht Ihr das? Sollte man vielleicht irgendwie noch auf MiNT testen, und
falls MiNT läuft, einfach -1 zurückgeben? Oder gibt es auch MiNT-Versionen, die
bei zu viel gesetzten Flags Mist bauen?
Viele Grüße,
Holger