Fixed bug in module screen function setsrc()

This commit is contained in:
Curtis F Kaylor 2020-04-27 12:32:18 -04:00
parent 0e060485ff
commit 58bc426886
9 changed files with 51 additions and 10 deletions

View File

@ -6,7 +6,7 @@ SMTEXT EQU $00 ;Default Text Screen
SMWIDE EQU $FF ;Wide Text Screen (Undefined)
;Set Screen Mode
SETSCR: CMP SMTEXT ;If Default Text Screen
SETSCR: CMP #SMTEXT ;If Default Text Screen
BEQ GETSCR ;Return Return 0
LDA #$FF ;Else Return ERROR
RTS

View File

@ -6,7 +6,7 @@ SMTEXT EQU $00 ;Default Text Screen
SMWIDE EQU $FF ;Wide Text Screen (Undefined)
;Set Screen Mode
SETSCR: CMP SMTEXT ;If Default Text Screen
SETSCR: CMP #SMTEXT ;If Default Text Screen
BEQ GETSCR ;Return Return 0
LDA #$FF ;Else Return ERROR
RTS

View File

@ -6,7 +6,7 @@ SMTEXT EQU $00 ;Default Text Screen
SMWIDE EQU $FF ;Wide Text Screen (Undefined)
;Set Screen Mode
SETSCR: CMP SMTEXT ;If Default Text Screen
SETSCR: CMP #SMTEXT ;If Default Text Screen
BEQ GETSCR ;Return Return 0
LDA #$FF ;Else Return ERROR
RTS

View File

@ -7,7 +7,7 @@ SMTEXT EQU $00 ;Default Text Screen
SMWIDE EQU $FF ;Wide Text Screen (Undefined)
;Set Screen Mode
SETSCR: CMP SMTEXT ;If Default Text Screen
SETSCR: CMP #SMTEXT ;If Default Text Screen
BEQ GETSCR ;Return Return 0
LDA #$FF ;Else Return ERROR
RTS

View File

@ -6,7 +6,7 @@ SMTEXT EQU $00 ;Default Text Screen
SMWIDE EQU $FF ;Wide Text Screen (Undefined)
;Set Screen Mode
SETSCR: CMP SMTEXT ;If Default Text Screen
SETSCR: CMP #SMTEXT ;If Default Text Screen
BEQ GETSCR ;Return Return 0
LDA #$FF ;Else Return ERROR
RTS

View File

@ -0,0 +1,39 @@
;Screen Control Assembly Lanuage Routines for C02
;Skeleton Code for Systems with no Screen Control
SUBROUTINE _SCREEN
SMTEXT EQU $00 ;Default Text Screen
SMWIDE EQU $FF ;Wide Text Screen (Undefined)
;Set Screen Mode
SETSCR: CMP #SMTEXT ;If Not Default Text
BNE GETPOS ;Return Error
;Else Return 0
;Get Screen Mode
GETSCR: LDA #0 ;Return 0 (Default Text Mode)
RTS
;Clear the Screen
CLRSCR: RTS ;No Action
LDY #>.CLRSCS ;Execute System Call CLS
LDX #<.CLRSCS
JMP SYSTEM
.CLRSCS BYTE "CLS",0
;Move Cursor Home
CRSRHM RTS ;No Action
;Move Cursor to Specified Coordinates
SETPOS RTS ;No Action
;Get Cursor Position
GETPOS: LDA #$FF ;Return Error
TAY
RTS
;Get Screen Size
GETSIZ LDA #80 ;Return 80x25
LDY #25
RTS

View File

@ -7,8 +7,8 @@ SMTEXT EQU $00 ;Default Text Screen
SMWIDE EQU $FF ;Wide Text Screen (Undefined)
;Set Screen Mode
SETSCR: CMP SMTEXT ;If Not Default Text
BEQ GETPOS ;Return Error
SETSCR: CMP #SMTEXT ;If Not Default Text
BNE GETPOS ;Return Error
;Else Return 0
;Get Screen Mode
GETSCR: LDA #0 ;Return 0 (Default Text Mode)
@ -29,5 +29,7 @@ GETPOS: LDA #$FF ;Return Error
RTS
;Get Screen Size
GETSIZ EQU GETPOS ;Return Error
GETSIZ LDA #80 ;Return 80x25
LDY #25
RTS

View File

@ -5,7 +5,7 @@
/* Screen Modes for getscr() and setscr() *
* Invalid Modes have value $FF */
#define SMTEXT $00 //System Default Text Mode
#define SMWIDE $FF //Wide Screen Text Mode (Usuallu 80 Columns)
#define SMWIDE $FF //Wide Screen Text Mode (Usually 80 Columns)
/* Clear the Screen */
void clrscn();

View File

@ -6,7 +6,7 @@ SMTEXT EQU $00 ;Default Text Screen
SMWIDE EQU $FF ;Wide Text Screen (Undefined)
;Set Screen Mode
SETSCR: CMP SMTEXT ;If Default Text Screen
SETSCR: CMP #SMTEXT ;If Default Text Screen
BEQ GETSCR ;Return Return 0
LDA #$FF ;Else Return ERROR
RTS