Difference between revisions of "SYSTEM INT1"

From NeoGeo Development Wiki
Jump to: navigation, search
m
(SYSTEM_INT1 ($C00438): Multi-purpose VBL call)
Line 1: Line 1:
 
== [[SYSTEM_INT1]] ($C00438): Multi-purpose VBL call ==
 
== [[SYSTEM_INT1]] ($C00438): Multi-purpose VBL call ==
  
'''TO CHANGE: THIS IS NOT SYSTEM_IO'''
+
The SYSTEM_INT1 bios calls is the BIOS vblank interrupt routines.
  
Needs to be called at the beginning of the [[68k interrupts|vblank]] period. Sets values in RAM according to buttons states, checks [[CDDA]] commands, calls [[MESS_OUT]], and probably other things...
+
It will call [[MESS_OUT]] and [[SYSTEM_IO]]
  
If called outside of vblank, interrupts need to be disabled before.
+
It has it's own frame counter (BIOS_INT1_FRAME_COUNTER, $10FDD4) and a flag to skip [[MESS_OUT]] and [[SYSTEM_IO]] (BIOS_INT1_SKIP, $10FEE3).
 
 
Memory locations set (all 8bit):
 
<syntaxhighlight>
 
BIOS_P1CURRENT    ;$10FD95 Joystick 1 state
 
BIOS_P1PREVIOUS    ;$10FD96 Previous joystick 1 state
 
BIOS_P1CHANGE      ;$10FD97 Joystick 1 state change (edges)
 
BIOS_P1REPEAT      ;$10FD98 Joystick 1 repeat (edge, and strobe if held more than ? calls)
 
 
 
BIOS_P2CURRENT    ;$10FD9B Joystick 2 state
 
BIOS_P2PREVIOUS    ;$10FD9C Previous joystick 2 state
 
BIOS_P2CHANGE      ;$10FD9D Joystick 2 state change (edges)
 
BIOS_P2REPEAT      ;$10FD9E Joystick 2 repeat (edge, and strobe if held more than ? calls)
 
 
 
BIOS_STATCURNT    ;Joystick 1/2 start/select state
 
BIOS_STATCHANGE    ;Previous Joystick 1/2 start/select state
 
</syntaxhighlight>
 
 
 
Bit definitions: see [[Joypad]]
 
  
 
[[Category:BIOS calls]]
 
[[Category:BIOS calls]]

Revision as of 10:14, 20 October 2012

SYSTEM_INT1 ($C00438): Multi-purpose VBL call

The SYSTEM_INT1 bios calls is the BIOS vblank interrupt routines.

It will call MESS_OUT and SYSTEM_IO

It has it's own frame counter (BIOS_INT1_FRAME_COUNTER, $10FDD4) and a flag to skip MESS_OUT and SYSTEM_IO (BIOS_INT1_SKIP, $10FEE3).