Détection du blitter

Bah, tout est dit non ?

Re: Détection du blitter

Messagede leglod » Dim 22 Jan 2012 14:08

Non pas de Blitter sur les STF par contre il me semble qu'il ya un support pour en rajouter un mais je ne sais pas si c'est sur tout les models , enfin c'est ce qui se disait a l'epoque !
Avatar de l’utilisateur
leglod
 
Messages: 182
Inscription: Jeu 6 Nov 2008 22:33
Localisation: Montpellier (34) sud France

Re: Détection du blitter

Messagede tomchi » Dim 22 Jan 2012 15:04

eh ben voila, la solution est trouvée :)
Avatar de l’utilisateur
tomchi
Administrateur du site
 
Messages: 342
Inscription: Mer 15 Oct 2008 20:51

Re: Détection du blitter

Messagede shadow272 » Lun 23 Jan 2012 08:11

Houlà, ce ManuM est un testeur pro.
Merci à tous pour votre participation et comme dit Tomchi, on a la solution.

a%=XBIOS(64,-1)
IF a% <>3
PRINT "Pas de blitter actif"
ENDIF
Un ATARI, le GFA c'est le bonheur
Avatar de l’utilisateur
shadow272
Administrateur du site
 
Messages: 211
Inscription: Mer 15 Oct 2008 21:40
Localisation: Hainaut, Belgique

Re: Détection du blitter

Messagede lafleche » Lun 23 Jan 2012 09:38

J'ajouterais que ça ne fonctionne pas avec EmuTOS, testé avec Aranym et Hatari.
Avatar de l’utilisateur
lafleche
 
Messages: 136
Inscription: Lun 25 Jan 2010 14:41
Localisation: Lille

Re: Détection du blitter

Messagede shadow272 » Lun 23 Jan 2012 11:38

C'est noté.
Un ATARI, le GFA c'est le bonheur
Avatar de l’utilisateur
shadow272
Administrateur du site
 
Messages: 211
Inscription: Mer 15 Oct 2008 21:40
Localisation: Hainaut, Belgique

Re: Détection du blitter

Messagede Helijah » Lun 27 Fév 2012 00:37

Salut shadow272

Voici ceque, personnellement, j'avais fait il y a.... houlà.... Dieu que le temps passe.... bref, que h'avais fait ! Non mais des fois :lol:

Code: Tout sélectionner
> PROCEDURE etude_du_systeme            ! Mais quelle machine est ce donc ?
  LOCAL super%,adr%,type%,slot%,long%,magic_cookie%
  son|=255
  pro|=255
  copro|=255
  video|=255
  machine|=255
  magic!=FALSE
  mint!=FALSE
  geneva!=FALSE
  mode_winx!=FALSE
  mode_nvdi!=FALSE
  bubble_gem!=FALSE
  mode_naes!=FALSE
  mode_myaes!=FALSE
  tos2gem!=FALSE
  mode_fvdi!=FALSE
  CLR magic_version&
  gdos!=FALSE
  super%=GEMDOS(&H20,L:0)                 ! Passage en mode SUPERVISEUR
  adr%={&H5A0}                            ! Pointeur sur le premier COOKIE
  IF adr%=0
    ' Il n'y a aucun COOKIEs en m‚moire
    ' Il est donc impossible de d‚terminer le type d'ATARI sur lequel
    ' on se trouve par le systŠme des COOKIEs
    son|=0
    pro|=0
    copro|=0
    video|=0
    machine|=0
  ELSE
    CLR slot%
    WHILE {ADD(adr%,SHL(slot%,3))}<>0
      long%={ADD(ADD(adr%,SHL(slot%,3)),4)}
      $S%,$S>
      SELECT LEFT$(CHAR{ADD(adr%,SHL(slot%,3))},4)
      CASE "_MCH"
        IF machine|=255
          SELECT INT(SWAP(long%))  ! Mot de poid fort
          CASE 0                                ! STf
            machine|=0
          CASE 1
            SELECT INT(long%)      ! Mot de poid faible
            CASE 0                              ! STe
              machine|=1
            CASE 1                              ! ST Book
              machine|=2
            CASE 8                              ! STE avec IDE
              machine|=3
            CASE 16                             ! Mega STE
              machine|=4
            CASE 256                            ! Falcon
              machine|=5
            ENDSELECT
          CASE 2                                ! TT
            machine|=6
          CASE 3                                ! Falcon
            machine|=5
          CASE 4                                ! MILAN
            machine|=7
          CASE 5                                ! ARANYM l'‚mulateur ultime
            machine|=9
          DEFAULT                               ! Inconnu (par d‚faut STf)
            machine|=0
          ENDSELECT
        ENDIF
      CASE "_MIL"                               ! Ah! tiens! un MILAN
        machine|=7
      CASE "hade"                               ! Oh! un HADES
        machine|=8
      CASE "_CPU"
        SELECT long%
        CASE 0                                  ! 68000
          pro|=0
        CASE 10                                 ! 68010
          pro|=1
        CASE 20                                 ! 68020
          pro|=2
        CASE 30                                 ! 68030
          pro|=3
        CASE 40                                 ! 68040
          pro|=4
        CASE 60                                 ! 68060
          pro|=5
        DEFAULT                                 ! Inconnue (68000 par d‚faut)
          pro|=0
        ENDSELECT
      CASE "_FPU"
        SELECT INT(SWAP(long%))  ! Mot de poid fort
        CASE 0                                  ! Pas de copro
          copro|=0
        CASE 1                                  ! SFP004
          copro|=1
        CASE 2                                  ! 68881 ou 68882
          copro|=2
        CASE 3                                  ! 68881 ou 68882 et SFP004
          copro|=3
        CASE 4                                  ! 68881
          copro|=4
        CASE 5                                  ! 68881 et SFP004
          copro|=5
        CASE 6                                  ! 68882
          copro|=6
        CASE 7                                  ! 68882 et SFP004
          copro|=7
        CASE 8                                  ! 68040
          copro|=8
        CASE 9                                  ! 68040 et SFP004
          copro|=9
        DEFAULT                                 ! par d‚faut pas de copro
          copro|=0
        ENDSELECT
      CASE "_VDO"
        SELECT INT(SWAP(long%))  ! Mot de poid fort
        CASE 0                                  ! STf
          video|=0
        CASE 1
          SELECT INT(long%)      ! Mot de poid faible
          CASE 0                                ! STe Scroll hard
            video|=1
          CASE 1                                ! ST Book
            video|=2
          ENDSELECT
        CASE 2                                  ! TT
          video|=3
        CASE 3                                  ! FALCON
          video|=4
        CASE 4                                  ! Carte PCI
          video|=5
        DEFAULT                                 !
          video|=0
        ENDSELECT
      CASE "_SWI"
        ' Etat des switch avec INT(long%)
        ' mot de poid faible.
      CASE "_SND"
        IF BTST(long%,0)                        ! PSG pr‚sent
          son|=0
        ENDIF
        IF BTST(long%,1)                        ! 8 Bit DMA pr‚sent
          son|=1                                        ! (STe, TT et FALCON)
        ENDIF
        IF BTST(long%,2)                        ! 16 Bit CODEC pr‚sent (FALCON)
          son|=2
        ENDIF
        IF BTST(long%,3)                        ! DSP pr‚sent (FALCON)
          son|=3
        ENDIF
        IF BTST(long%,4)                        ! MATRIX pr‚sent (FALCON)
          son|=4
        ENDIF
      CASE "MagX"                               ! Multitƒche avec MagiC
        magic_cookie%=long%
        magic_version&=INT{ADD({ADD(magic_cookie%,8)},48)}
        magic_date%={ADD({ADD(magic_cookie%,8)},16)}
        magic!=TRUE
      CASE "Gnva"                               ! Multitƒche avec Geneva
        geneva!=TRUE
      CASE "MiNT"                               ! Multitƒche avec MiNT
        mint!=TRUE
      CASE "nAES"                               ! N AES
        mode_naes!=TRUE
        ver_naes1|=VAL(MID$(HEX$(INT{long%},4),2,1))
        ver_naes2|=VAL(MID$(HEX$(INT{long%},4),2,1))
        ver_naes3|=VAL(RIGHT$(HEX$(INT{long%},4),1))
        dat_naes1|=VAL("%"+RIGHT$(BIN$(INT{ADD(long%,2)},16),5))
        dat_naes2|=VAL("%"+MID$(BIN$(INT{ADD(long%,2)},16),8,4))
        dat_naes3&=ADD(1980,VAL("%"+LEFT$(BIN$(INT{ADD(long%,2)},16),7)))
      CASE "_MAS"
        mode_myaes!=TRUE
      CASE "PSND"                               ! PSOUND de Loic SEBALD
        son|=5
        psound_fnct%=VAL("&H"+LEFT$(HEX$(long%),4))
        psound0|=VAL("$"+MID$(HEX$(long%),5,2))
        psound1|=VAL("$"+RIGHT$(HEX$(long%),2))
      CASE "BGEM"                               ! BUBBLEGEM
        bubble_gem!=TRUE
        bubble_release%=CARD{ADD(long%,8)}
      CASE "NVDI"                               ! NVDI
        mode_nvdi!=TRUE
        ver_nvdi1|=VAL(LEFT$(HEX$(CARD{long%},4),2))
        ver_nvdi2|=VAL(RIGHT$(HEX$(CARD{long%},4),2))
        dat_nvdi1|=VAL(LEFT$(HEX$({ADD(long%,2)},8),2))
        dat_nvdi2|=VAL(MID$(HEX$({ADD(long%,2)},8),3,2))
        dat_nvdi3&=VAL(RIGHT$(HEX$({ADD(long%,2)},8),4))
      CASE "LDGM"
        ldg_gl%=long%
        ldg_version%=WORD{ldg_gl%}
        ldg_path%=ADD(ldg_gl%,2)
        ldg_garbage%=WORD{ADD(ldg_gl%,130)}
        ldg_idle%=WORD{ADD(ldg_gl%,132)}
        ldg_libexec%={ADD(ldg_gl%,134)}
        ldg_libterm%={ADD(ldg_gl%,138)}
        ldg_find%={ADD(ldg_gl%,142)}
        ldg_libexec_evnt%={ADD(ldg_gl%,146)}
        ldg_error%={ADD(ldg_gl%,150)}
      CASE "_FDC"
        ' CHAR{long%}
      CASE "_JPD"
        ' "D‚codeur JPEG pr‚sent"
      CASE "_AFM"
        ' "Audio Fun Machine pr‚sent"
      CASE "WINX"
        mode_winx!=TRUE
      CASE "T2GM"
        tos2gem!=TRUE
        adresse_tos2gem%=long%
      CASE "FSMC"
        IF CHAR{long%}="_FSM"                   ! "FSM GDOS pr‚sent"
          speedogdos!=TRUE
        ELSE IF CHAR{long%}="_SPD"              ! "SPEEDO GDOS pr‚sent"
          speedogdos!=TRUE
        ENDIF
      CASE "fVDI"
        mode_fvdi!=TRUE
      ENDSELECT
      INC slot%
    WEND
  ENDIF
  ~GEMDOS(&H20,L:super%)                ! Retour en mode UTILISATEUR
  pro|=0*(pro|=255)-pro|*(pro|<>0)
  copro|=0*(copro|=255)-copro|*(copro|<>0)
  video|=0*(video|=255)-video|*(video|<>0)
  machine|=0*(machine|=255)-machine|*(machine|<>0)
  IF NOT speedogdos!                    ! Si SPEEDOGDOS ou FSMGDOS
    gdos!=GDOS?                         ! est absent alors on test
  ENDIF                                 ! le bon vieux GDOS
  nombre_de_fontes%=1                   ! est disponible pour ‚crire
  '
  CLR winx_version&
  IF @wind_get(0,wf_return&,d&,d&,d&,d&)=0
    IF @wind_get(0,wf_winx&,winx_version&,d&,d&,d&)=wf_winx&
      winx_beta&=VAL("%"+LEFT$(BIN$(winx_version&,16),4))
      winx_major&=VAL("%"+MID$(BIN$(winx_version&,16),5,4))
      winx_minor&=VAL("%"+MID$(BIN$(winx_version&,16),9,4))
      winx_ident&=VAL("%"+RIGHT$(BIN$(winx_version&,16),4))
    ELSE
      CLR winx_version&
    ENDIF
  ENDIF
  IF INT{{ADD(GB,4)}}=>&H400 OR magic_version&=>&H200 OR winx_version&=>&H210 OR APPL_FIND("AGI?")=0
    INT{ADD(GCONTRL,2)}=1
    INT{ADD(GCONTRL,4)}=5
    INT{ADD(GCONTRL,6)}=0
    INT{ADD(GCONTRL,8)}=0
    INT{GINTIN}=0
    GEMSYS 130
    ' gout1&=INT{ADD(GINTOUT,2)}
    ' gout2&=INT{ADD(GINTOUT,4)}
    ' gout3&=INT{ADD(GINTOUT,6)}
    ' gout4&=INT{ADD(GINTOUT,8)}
    ' RETURN INT{GINTOUT}
  ENDIF
RETURN


Peut être trouveras tu ton bonheur là dedans. En tout les cas je ne peux que te signaler que ceci est tirer des sources de EB Model 3 qui sont disponibles totalement librement depuyis un moment ;)

Amicalement Emmanuel
Quelques avions pour FlightGear
http://helijah.free.fr
Avatar de l’utilisateur
Helijah
 
Messages: 9
Inscription: Mar 6 Déc 2011 19:22
Localisation: Chartres

Re: Détection du blitter

Messagede shadow272 » Lun 27 Fév 2012 07:18

Merci Emmanuel,

Très intéressant tout ça, à se garder sous la main.
Un ATARI, le GFA c'est le bonheur
Avatar de l’utilisateur
shadow272
Administrateur du site
 
Messages: 211
Inscription: Mer 15 Oct 2008 21:40
Localisation: Hainaut, Belgique

Re: Détection du blitter

Messagede Helijah » Lun 27 Fév 2012 12:17

Salut,

Pour information il faut savoir que EB Model 3 s'adapte à la machine qui l'acceuil. STf, STe, TT, Hades, Milan, ARAnyM etc.... Les Malloc se font en TT Ram si disponible, l'affichage se fait en 2, 4, 16, 256, 16bit, 24bit, 32 bit etc...... et la résolution est négligeable puisque c'est le GEM qui décide. C'est à dire, détail amusant, avec un maximum de 32767x32767 en 32 bit. Et oui le GEM avait cette capacité il y a déjà plus de 20 ans. Mieux encore, pour ceux qui sont passés à coté de cette informations, les couleurs ayant des composantes codées de 0 à 1000 nous avions la possibilité d'avoir 1 003 003 001 couleurs et non les "seulement" 16 777 216 du mode 24 bit des machines actuelles :lol:

Au passage c'était assez pénible d'ailleurs, car les fichiers images 'True color" avaient des composantes de 0 à 255 et il fallait faire des converstions dans tout les sens à chaque fois.

Amicalement Emmanuel
Quelques avions pour FlightGear
http://helijah.free.fr
Avatar de l’utilisateur
Helijah
 
Messages: 9
Inscription: Mar 6 Déc 2011 19:22
Localisation: Chartres

Précédent

Retourner vers Questions/aide

Qui est en ligne

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

cron