;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