2018-09-17 00:30:25 +00:00
|
|
|
;Screen Control Assembly Lanuage Routines for Apple 1
|
|
|
|
|
2019-11-20 06:06:34 +00:00
|
|
|
SUBROUTINE _SCREEN
|
|
|
|
|
|
|
|
SMTEXT EQU $00 ;Default Text Screen
|
|
|
|
SMWIDE EQU $FF ;Wide Text Screen (Undefined)
|
|
|
|
|
|
|
|
;Set Screen Mode
|
|
|
|
SETSCR: CMP SMTEXT ;If Default Text Screen
|
|
|
|
BEQ GETSCR ;Return Return 0
|
|
|
|
LDA #$FF ;Else Return ERROR
|
|
|
|
RTS
|
|
|
|
;Else Return 0
|
|
|
|
;Get Screen Mode
|
|
|
|
GETSCR: LDA #0 ;Return 0 (Default Text Mode)
|
|
|
|
RTS
|
|
|
|
|
2018-09-17 00:30:25 +00:00
|
|
|
;Clear the Screen
|
|
|
|
CLRSCR: RTS ;Do Nothing (Drop to RTS)
|
|
|
|
|
2019-11-20 06:06:34 +00:00
|
|
|
;Move Cursor Home
|
|
|
|
CRSRHM EQU CLRSCR ;No Action
|
|
|
|
|
2018-09-17 00:30:25 +00:00
|
|
|
;Move Cursor to Specified Coordinates
|
|
|
|
SETPOS EQU CLRSCR ;No Action
|
|
|
|
|
|
|
|
;Get Cursor Position
|
|
|
|
GETPOS: LDA #$FF ;Return Error
|
|
|
|
TAY
|
|
|
|
RTS
|
|
|
|
|
|
|
|
;Get Screen Size
|
|
|
|
GETSIZ: LDA #40 ;40 Columns
|
|
|
|
LDY #24 ;24 Lines
|
|
|
|
RTS
|