Joystick sur port Centronic ( // )
GFA :: Programmation :: Utilitaires
Page 1 sur 1
Joystick sur port Centronic ( // )
Joystick sur port Centronic ( // )
Par GT Turbo
Par GT Turbo
Vous avez tous du déjà voir ou peut être vous possédez l'adaptateur qui permet de branché deux joysticks sur le port centronic pour rajouté deux autres joueurs, je viens de faire un petit tour sur le dur de mon Falcon et voila une routine Gfa qui permet de lire les valeurs des deux joy branché sur ce port :
[Vous devez être inscrit et connecté pour voir ce lien] :
- Code:
'
' Centronic joy : Gfa rout
'
' GT Turbo(Cerebral Vortex)
'
ON BREAK GOSUB arret
ON ERROR GOSUB error
'
super%=GEMDOS(32,L:0) ! Supervisor mode
'
@init_centronic
'
DO
@centronic_joy
'
PRINT AT(10,10);joy_0&;" ";fire_0!;" ";
PRINT AT(16,10);joy_1&;" ";fire_1!;" ";
'
LOOP
> PROCEDURE arret
'
' Don't modify or kill theses lines !!!
'
BYTE{&HFFFF8800}=7
BYTE{&HFFFF8802}=old_reg_7|
'
~GEMDOS(32,L:super%)
EDIT
RETURN
> PROCEDURE error
'
' Don't modify or kill theses lines !!!
'
BYTE{&HFFFF8800}=7
BYTE{&HFFFF8802}=old_reg_7|
'
~GEMDOS(32,L:super%)
EDIT
RETURN
'
> PROCEDURE init_centronic
'
' WARNING !!!!!!!!!!!!!!!!!
' Don't try to modify or kill theses lines !!!
' or you will have some problems when saving your code !!!!!
'
BYTE{&HFFFF8800}=7
old_reg_7|=BYTE{&HFFFF8800}
'
a|=old_reg_7|
a|=AND(a|,127)
'
BYTE{&HFFFF8800}=7
BYTE{&HFFFF8802}=a|
'
RETURN
'
> PROCEDURE centronic_joy
'
' Normaly, the four next lines must be enough to
' test fire, in 68000 that will run correctly but
' in GFA, that doesn't run correctly !!!
' This is why i have addon 3 lines after this four lines !!
'
' If somebody can explain me, i will be happy !!!
'
BYTE{&HFF8800}=14 ! Reg 14 yamaha
a&=BYTE{&HFF8800} ! Data
'
b&=AND(NOT (a&),32) ! Test the bit 5
fire_1!=(AND(a&,32)=0) ! and set Fire_1!
'
' Trick !!!!
'
a&=BSET(a&,5) ! I have to done that
BYTE{&HFF8800}=14 ! coz else only one fire
BYTE{&HFF8802}=a& ! will be done !!!
'
' End of trick !!
'
'
BYTE{&HFFFF8800}=15
joy_0&=NOT (BYTE{&HFFFF8800})
joy_0&=AND(joy_0&,&HF0)
joy_0&=SHR(joy_0&,4)
'
fire_0&=NOT (BYTE{&HFFFFFA01})
fire_0&=AND(fire_0&,1)
fire_0!=(fire_0&<>0)
'
BYTE{&HFFFF8800}=15
joy_1&=NOT (BYTE{&HFFFF8800})
joy_1&=AND(joy_1&,&HF)
'
RETURN
Faudrait que je 'derange' ma boite a cable pour retrouver mon adaptateur, cela fait très longtemps que j'ai écrit ce source, donc si quelqu'un pourrait l'essayé pour etre sur que je publies pas une routine qui marche pas.
Faites attention par contre dans les procédures arret et error, vous avez deux lignes a insérer dans votre propre procédure d'arret, car sinon vous risquez de plus pouvoir faire de sauvegarde car chez Atari une partie de la gestion du lecteur de disquette et du port // passe par le meme registre dans la puce sonore !!
GT
Leglod :
Ya pas mal de jeux qui utilisaient ce système, par contre ce qui serai intéressent c'est le schéma de montage pour la fabriquer!
Sujets similaires
» Test joystick dans l'éditeur
» OUT pour port imprimante
» Gfabisc 3.06 avec compilateur
» Le port imprimante
» [Port Serie]
» OUT pour port imprimante
» Gfabisc 3.06 avec compilateur
» Le port imprimante
» [Port Serie]
GFA :: Programmation :: Utilitaires
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|