SYSTEM INT1: Difference between revisions

From NeoGeo Development Wiki
Jump to navigation Jump to search
m (moved BIOSF VBL to SYSTEM INT1: rename page according to official SNK doc)
mNo edit summary
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== [[BIOSF_VBL]] ($C0044A): Multiple purpose VBL routine ==
== [[SYSTEM_INT1]] ($C00438): Multi-purpose VBL call ==


Sets values in RAM according to buttons states, checks CDDA commands, probably other things... Always (?) called each frame by games.
The SYSTEM_INT1 call is the [[system ROM]]'s v-blank [[68k interrupts|interrupt]] routine.


Memory locations set (all 8bit):
It will call [[MESS_OUT]] and [[SYSTEM_IO]].
<pre>
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
It has its own frame counter (BIOS_INT1_FRAME_COUNTER, $10FDD4) and a flag to skip [[MESS_OUT]] and [[SYSTEM_IO]] (BIOS_INT1_SKIP, $10FEE3).
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
</pre>
 
Bit definitions: see [[Joypad]]


[[Category:BIOS calls]]
[[Category:BIOS calls]]

Latest revision as of 05:28, 28 February 2017

SYSTEM_INT1 ($C00438): Multi-purpose VBL call

The SYSTEM_INT1 call is the system ROM's v-blank interrupt routine.

It will call MESS_OUT and SYSTEM_IO.

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