
- Code: Tout sélectionner
' Ce programme permet de tester le type de machine
' en lisant la Cookie Jar.
' by Dominique LUGEOL
' (c) 1991 ESAT SOFTWARE Editions
'
IF LPEEK(&H5A0)=0
r$="ATARI STF"
p$=HEX$(DPEEK(LPEEK(&H4F2)+2))
r$=r$+" / TOS v"+LEFT$(p$)+"."+STR$(VAL(RIGHT$(p$,2)))
PRINT r$
ELSE
adresse_cookie%=LPEEK(&H5A0)
'
INLINE cache_ste%,56
INLINE cache_68030%,56
'
val1%=C:cache_ste%() ! Recherche position Cache STE
val2%=C:cache_68030%() ! Recherche Cache Register 68030
'
ofs%=0
a$=SPACE$(4)
DO
BMOVE adresse_cookie%+ofs%,V:a$,4
'
IF a$="_CPU"
info%=68000+DPEEK(adresse_cookie%+ofs%+6)
IF info%=68030
tt_68030!=TRUE
ENDIF
r$="MC "+STR$(info%)
'
IF val2%=&H3111
r$=r$+" Cache Register actif"
ENDIF
'
p$=HEX$(DPEEK(LPEEK(&H4F2)+2))
r$=r$+" / TOS v"+LEFT$(p$)+"."+STR$(VAL(RIGHT$(p$,2)))
PRINT r$
ELSE IF a$="_VDO"
r$="SHIFTER VIDEO "
SELECT DPEEK(adresse_cookie%+ofs%+4)
CASE 0
r$=r$+"STF"
CASE 1
r$=r$+"STE"
CASE 2
r$=r$+"TT"
ENDSELECT
PRINT r$
ELSE IF a$="_SND"
r$="CIRCUIT SON "
IF (DPEEK(adresse_cookie%+ofs%+6) AND &X10)<>0
r$=r$+"DMA STE"
ELSE
r$=r$+"YM 2149"
ENDIF
PRINT r$
ELSE IF a$="_MCH"
SELECT DPEEK(adresse_cookie%+ofs%+4)
CASE 0
r$="ST"
CASE 1
r$="STE"
CASE 2
r$="TT"
ENDSELECT
'
IF r$<>"TT"
IF BTST(val1%,1)=-1
r$=r$+" 16 MHZ"
IF BTST(val1%,0)=-1
r$=r$+" Cache actif"
ENDIF
ELSE
r$=r$+" 8 MHZ"
ENDIF
ELSE
r$=r$+" 32 MHZ"
ENDIF
'
r$="ATARI "+r$
PRINT r$
'
r$="MEMOIRE DISPONIBLE"
info%=LPEEK(&H42E)
IF info%=&H80000
r$=r$+" 512 Kilo-Octets "
ELSE
r$=r$+" "+HEX$(info% DIV &H100000)+" M‚ga-Octets"
ENDIF
PRINT r$
ELSE IF a$="_FPU"
IF LPEEK(adresse_cookie%+ofs%+4)>=65536
r$="COPROCESSEUR MATH PRESENT"
ELSE
r$=""
ENDIF
PRINT r$
ENDIF
'
ADD ofs%,8
EXIT IF (ofs% DIV 8)>10
LOOP
ENDIF
Un autre STE ou STF ?
- Code: Tout sélectionner
VSYNC ! Wait the next VBL
SPOKE &FFFF8209,74 ! Set the video counter
IF PEEK(&FFFF8209)=74 ! Still the same value ?
ste_flag!=-1 ! It's a STE
ELSE ! otherwise...
ste_flag!=0 ! It's a STF
ENDIF ! Wotta long routine !