Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
system_routines:upi [2016/06/01 15:58]
ex_writer
system_routines:upi [2016/06/01 15:59]
ex_writer [SUCK]
Line 2: Line 2:
 The User Program Interface (UPI) is a set of procedures and conventions used by a cartridge program to access the facilities provided by the Bally Arcade'​s [[:system rom|operating system]]. The User Program Interface (UPI) is a set of procedures and conventions used by a cartridge program to access the facilities provided by the Bally Arcade'​s [[:system rom|operating system]].
  
-For details on the UPI's usage, see [[UPI Conventions]].+For details on the UPI's usage, see [[:UPI Conventions]].
  
 ===== UPI System Routines ===== ===== UPI System Routines =====
Line 9: Line 9:
  
 ^ Name ^ Description ^ ^ Name ^ Description ^
-| [[user program interface#exit|EXIT / XINTC]] | Exit interpreter (with context) | +| [[#​exit|EXIT / XINTC]] | Exit interpreter (with context) | 
-| [[user program interface#​intpc|INTPC]] | Begin interpreting | +| [[#​intpc|INTPC]] | Begin interpreting | 
-| [[user program interface#​mcall|MCALL]] | "Macro Call" - Call an interpreter sequence as a subroutine | +| [[#​mcall|MCALL]] | "Macro Call" - Call an interpreter sequence as a subroutine | 
-| [[user program interface#​mjump|MJUMP]] | "Macro Jump" - Current interpretive PC is set to the contents of HL | +| [[#​mjump|MJUMP]] | "Macro Jump" - Current interpretive PC is set to the contents of HL | 
-| [[user program interface#​mret|MRET]] | "Macro Return"​ from interpreter subroutine |  +| [[#​mret|MRET]] | "Macro Return"​ from interpreter subroutine |  
-| [[user program interface#​rcall|RCALL]] | "Real Call" - Call any assembly language subroutine from the interpreter | +| [[#​rcall|RCALL]] | "Real Call" - Call any assembly language subroutine from the interpreter | 
-| [[user program interface#​suck|SUCK]]* | Suck inline arguments into context block |+| [[#​suck|SUCK]]* | Suck inline arguments into context block |
  
 ===== UPI System Routine Descriptions ===== ===== UPI System Routine Descriptions =====
Line 134: Line 134:
 | Arguments: | B =  Argument load mask | | Arguments: | B =  Argument load mask |
 | Output: | HL = Updated Program Counter | | Output: | HL = Updated Program Counter |
-| Notes: | Definition from source listing p. 21 | 
 | Description:​ | This routine implements a macro load instruction. It is used by the interpreter as well. A one bit in the inline load mask means '​transfer the next inline byte in'; a zero bit means '​advance context block pointer.'​\\ \\ The number of arguments following the mask in SYSSUK depends upon the value in mask. | | Description:​ | This routine implements a macro load instruction. It is used by the interpreter as well. A one bit in the inline load mask means '​transfer the next inline byte in'; a zero bit means '​advance context block pointer.'​\\ \\ The number of arguments following the mask in SYSSUK depends upon the value in mask. |