1
0
mirror of https://github.com/RevCurtisP/C02.git synced 2024-11-24 15:31:17 +00:00
C02/include/apple2/screen.a02
2019-11-20 01:06:34 -05:00

40 lines
1.0 KiB
Plaintext

;Screen Control Assembly Lanuage Routines for Apple II
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
;Clear the Screen
CLRSCR: EQU $FC58 ;Applesoft Routine HOME
;Move Cursor To Home Position
CRSRHM LDA #0 ;Set Column to 0
TAY ;Set Row to 0
;and Fall into SETPOS
;Move Cursor to Specified Coordinates
SETPOS: STA $24 ;Store Column in CH
TYA ;Transfer Row to Accumulator
JMP $FB5B ;Exectute Monitor Routine TABV
;Get Cursor Position
GETPOS: LDA $24 ;Load Column from CH
LDY $25 ;Load Row from CV
RTS
;Get Screen Size
GETSIZ: LDA $21 ;Load Width from WNDWDTH
LDY $23 ;Load Height from WNDBTM
RTS