Differences

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

Link to this comparison view

Next revision
Previous revision
system_routines:upi [2016/06/01 15:48]
ex_writer created
system_routines:upi [2016/06/05 16:17] (current)
ex_writer [User Program Interface]
Line 1: Line 1:
 ====== User Program Interface ====== ====== User Program Interface ======
-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 [[software:system ​ROM]].
  
-For details on the UPI'​s ​usage, see [[UPI Conventions]].+For details on UPI usage, see [[software: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. |