.JMPTAB EQUW USOSWRCH \ 128 (&80) 0 = Put back to USOSWRCH EQUW BEGINLIN \ 129 (&81) 1 = Begin drawing a line EQUW ADDBYT \ 130 (&82) 2 = Add line byte/draw line EQUW DOFE21 \ #DOFE21 = 131 (&83) 3 = Show energy bomb effect EQUW DOHFX \ #DOhfx = 132 (&84) 4 = Show hyperspace colours EQUW SETXC \ #SETXC = 133 (&85) 5 = Set text cursor column EQUW SETYC \ #SETYC = 134 (&86) 6 = Set text cursor row EQUW CLYNS \ #clyns = 135 (&87) 7 = Clear bottom of screen EQUW RDPARAMS \ #RDPARAMS = 136 (&88) 8 = Update dashboard EQUW ADPARAMS \ 137 (&89) 9 = Add dashboard parameter EQUW DODIALS \ #DODIALS = 138 (&8A) 10 = Show or hide dashboard EQUW DOVIAE \ #VIAE = 139 (&8B) 11 = Set 6522 System VIA IER EQUW DOBULB \ #DOBULB = 140 (&8C) 12 = Toggle dashboard bulb EQUW DOCATF \ #DOCATF = 141 (&8D) 13 = Set disc catalogue flag EQUW DOCOL \ #SETCOL = 142 (&8E) 14 = Set the current colour EQUW SETVDU19 \ #SETVDU19 = 143 (&8F) 15 = Change mode 1 palette EQUW DOSVN \ #DOsvn = 144 (&90) 16 = Set file saving flag EQUW DOBRK \ 145 (&91) 17 = Execute BRK instruction EQUW printer \ #printcode = 146 (&92) 18 = Write to printer/screen EQUW prilf \ #prilf = 147 (&93) 19 = Blank line on printerName: JMPTAB [Show more] Type: Variable Category: Tube Summary: The lookup table for OSWRCH jump commands (128-147) Deep dive: 6502 Second Processor Tube communicationContext: See this variable in context in the source code References: This variable is used as follows: * USOSWRCH uses JMPTAB
Once they have finished, routines in this table should reset WRCHV to point back to USOSWRCH again by calling the PUTBACK routine with a JMP as their last instruction.
[X]
Subroutine ADDBYT (category: Drawing lines)
Implement the OSWRCH 130 command (add a byte to a line and draw it when all bytes are received)
[X]
Subroutine ADPARAMS (category: Dashboard)
Implement the OSWRCH 137 command (add a dashboard parameter and update the dashboard when all are received)
[X]
Subroutine BEGINLIN (category: Drawing lines)
Implement the OSWRCH 129 command (start receiving a new line to draw)
[X]
Subroutine CLYNS (category: Drawing the screen)
Implement the #clyns command (clear the bottom of the screen)
[X]
Subroutine DOBRK (category: Utility routines)
Implement the OSWRCH 145 command (execute a BRK instruction)
[X]
Subroutine DOBULB (category: Dashboard)
Implement the #DOBULB 0 command (draw the space station indicator bulb)
[X]
Subroutine DOCATF (category: Save and load)
Implement the #DOCATF command (update the disc catalogue flag)
[X]
Subroutine DOCOL (category: Text)
Implement the #SETCOL command (set the current colour)
[X]
Subroutine DODIALS (category: Drawing the screen)
Implement the #DODIALS command (show or hide the dashboard)
[X]
Subroutine DOFE21 (category: Flight)
Implement the #DOFE21 command (show the energy bomb effect)
[X]
Subroutine DOHFX (category: Drawing circles)
Implement the #DOHFX command (update the hyperspace effect flag)
[X]
Subroutine DOSVN (category: Save and load)
Implement the #DOSVN command (update the "save in progress" flag)
[X]
Subroutine DOVIAE (category: Keyboard)
Implement the #VIAE command (enable/disable interrupts)
[X]
Subroutine RDPARAMS (category: Dashboard)
Implement the #RDPARAMS command (start receiving a new set of parameters for updating the dashboard)
[X]
Subroutine SETVDU19 (category: Drawing the screen)
Implement the #SETVDU19 command (change mode 1 palette)
[X]
Subroutine SETXC (category: Text)
Implement the #SETXC command (move the text cursor to a specific column)
[X]
Subroutine SETYC (category: Text)
Implement the #SETYC command (move the text cursor to a specific row)
[X]
Subroutine USOSWRCH (category: Tube)
The custom OSWRCH routine for writing characters and implementing jump table commands
[X]
Subroutine prilf (category: Text)
Implement the #prilf command (print a blank line on the printer)
[X]
Subroutine printer (category: Text)
Implement the #printcode command (print a character on the printer and screen)