From 58bc426886f798539ab5e8480729cab21b275a9f Mon Sep 17 00:00:00 2001 From: Curtis F Kaylor Date: Mon, 27 Apr 2020 12:32:18 -0400 Subject: [PATCH] Fixed bug in module screen function setsrc() --- include/apple1/screen.a02 | 2 +- include/apple2/screen.a02 | 2 +- include/c64/screen.a02 | 2 +- include/orao/screen.a02 | 2 +- include/oric/screen.a02 | 2 +- include/run6502/screen.a02 | 39 ++++++++++++++++++++++++++++++++++++++ include/screen.a02 | 8 +++++--- include/screen.h02 | 2 +- include/vic/screen.a02 | 2 +- 9 files changed, 51 insertions(+), 10 deletions(-) create mode 100644 include/run6502/screen.a02 diff --git a/include/apple1/screen.a02 b/include/apple1/screen.a02 index 18a139a..02e8efb 100644 --- a/include/apple1/screen.a02 +++ b/include/apple1/screen.a02 @@ -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 diff --git a/include/apple2/screen.a02 b/include/apple2/screen.a02 index 98b4020..c070cb0 100644 --- a/include/apple2/screen.a02 +++ b/include/apple2/screen.a02 @@ -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 diff --git a/include/c64/screen.a02 b/include/c64/screen.a02 index ce03dd3..00acbe4 100644 --- a/include/c64/screen.a02 +++ b/include/c64/screen.a02 @@ -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 diff --git a/include/orao/screen.a02 b/include/orao/screen.a02 index b0ac3d5..af37ac5 100644 --- a/include/orao/screen.a02 +++ b/include/orao/screen.a02 @@ -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 diff --git a/include/oric/screen.a02 b/include/oric/screen.a02 index 5a0e71e..ecff283 100644 --- a/include/oric/screen.a02 +++ b/include/oric/screen.a02 @@ -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 diff --git a/include/run6502/screen.a02 b/include/run6502/screen.a02 new file mode 100644 index 0000000..b28ab34 --- /dev/null +++ b/include/run6502/screen.a02 @@ -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 + diff --git a/include/screen.a02 b/include/screen.a02 index f025045..3155451 100644 --- a/include/screen.a02 +++ b/include/screen.a02 @@ -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 diff --git a/include/screen.h02 b/include/screen.h02 index 265f78d..60f8d45 100644 --- a/include/screen.h02 +++ b/include/screen.h02 @@ -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(); diff --git a/include/vic/screen.a02 b/include/vic/screen.a02 index f262a18..e360783 100644 --- a/include/vic/screen.a02 +++ b/include/vic/screen.a02 @@ -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