Quelle machine ?

Quelle machine ?

Messagede leglod » Sam 28 Mai 2011 22:29

J'ai trouver sur le net un petit listing qui permet de savoir sir la machine est un ST , STE ou TT ! Pour le reste il ya les cookie :)
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 !
Avatar de l’utilisateur
leglod
 
Messages: 182
Inscription: Jeu 6 Nov 2008 22:33
Localisation: Montpellier (34) sud France

Retourner vers Programmes divers

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron