Reading jagpad A from GFABASIC: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 82: | Line 82: | ||
ENDFUNC |
ENDFUNC |
||
</pre> |
</pre> |
||
+ | Back to [[Game_%26_Demo_programming_techniques]] |
||
+ | |||
+ | |||
+ | [[Category:GFA Basic]] |
Latest revision as of 13:21, 13 October 2011
' ' Jagpad routine in GFABASIC ' by Simon Sunnyboy / Paradize ' DO jag%=FN jagpad_a EXIT IF jag% AND 128 ! exit if button IF jag% AND 1 PRINT "UP "; ENDIF IF jag% AND 2 PRINT "DOWN "; ENDIF IF jag% AND 4 PRINT "LEFT "; ENDIF IF jag% AND 8 PRINT "RIGHT "; ENDIF IF jag% AND 16 PRINT "OPTIONS "; ENDIF IF jag% AND 32 PRINT "BUTC "; ENDIF IF jag% AND 64 PRINT "BUTB "; ENDIF LOOP EDIT ' FUNCTION jagpad_a LOCAL vec%,pad% ' ' returns the state of Jagpad A as a vector ' Bits 0-3 standard joystick directions (compatible with IKBD) ' Bit 4 Options button ' Bit 5 Button C ' Bit 6 Button B ' Bit 7 Button A ' directions vec%=0 SDPOKE &HFF9202,&HFFFE pad%=NOT (DPEEK(&HFF9202) AND &HF00) IF pad% AND 2048 ! right vec%=vec% OR 8 ENDIF IF pad% AND 1024 ! left vec%=vec% OR 4 ENDIF IF pad% AND 512 ! down vec%=vec% OR 2 ENDIF IF pad% AND 256 ! up vec%=vec% OR 1 ENDIF ' SDPOKE &HFF9202,&HFFFE pad%=NOT (DPEEK(&HFF9200) AND &HF) IF pad% AND 2 vec%=vec% OR 128 ! button A ENDIF SDPOKE &HFF9202,&HFFFD pad%=NOT (DPEEK(&HFF9200) AND &HF) IF pad% AND 2 vec%=vec% OR 64 ! button B ENDIF SDPOKE &HFF9202,&HFFFB pad%=NOT (DPEEK(&HFF9200) AND &HF) IF pad% AND 2 vec%=vec% OR 32 ! button C ENDIF ' SDPOKE &HFF9202,&HFFF7 pad%=NOT (DPEEK(&HFF9200) AND &HF) IF pad% AND 2 vec%=vec% OR 16 ! Options ENDIF ' RETURN vec% ENDFUNC