.DODIALS TAX \ Copy the number of rows to display into X LDA #6 \ Set A to 6 so we can update 6845 register R6 below SEI \ Disable interrupts so we can update the 6845 STA VIA+&00 \ Set 6845 register R6 to the value in X. Register R6 STX VIA+&01 \ is the "vertical displayed" register, which sets the \ number of rows shown on the screen CLI \ Re-enable interrupts JMP PUTBACK \ Jump to PUTBACK to restore the USOSWRCH handler and \ return from the subroutine using a tail callName: DODIALS [Show more] Type: Subroutine Category: Drawing the screen Summary: Implement the #DODIALS <rows> command (show or hide the dashboard)Context: See this subroutine in context in the source code Variations: See code variations for this subroutine in the different versions References: This subroutine is called as follows: * JMPTAB calls DODIALS
This routine sets the screen to show the number of text rows given in X. It is used when we are killed, as reducing the number of rows from the usual 31 to 24 has the effect of hiding the dashboard, leaving a monochrome image of ship debris and explosion clouds. Increasing the rows back up to 31 makes the dashboard reappear, as the dashboard's screen memory doesn't get touched by this process.
Arguments: A The number of text rows to display on the screen (24 will hide the dashboard, 31 will make it reappear)
Returns: A A is set to 6
[X]
Subroutine PUTBACK (category: Tube)
Reset the OSWRCH vector in WRCHV to point to USOSWRCH
[X]
Configuration variable VIA = &FE00
Memory-mapped space for accessing internal hardware, such as the video ULA, 6845 CRTC and 6522 VIAs (also known as SHEILA)