changeset 8:6e8bb5223e6a

Fix several bugs related to console operations
author William Astle <lost@l-w.ca>
date Fri, 04 Nov 2022 18:30:40 -0600
parents b898c74f745c
children f9ec351dd82b
files src/lwbasic.s
diffstat 1 files changed, 11 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/src/lwbasic.s	Fri Nov 04 17:10:38 2022 -0600
+++ b/src/lwbasic.s	Fri Nov 04 18:30:40 2022 -0600
@@ -236,25 +236,25 @@
 ; set the SAM to point to the text screen, which the code will handle at any
 ; arbitrary 512 byte aligned address in memory
                 ifne (textscreen)&0x200
-                sta (SAM.F0SET-SAMREG)-16,u
+                sta SAM.F0SET
                 endc
                 ifne (textscreen)&0x400
-                sta (SAM.F1SET-SAMREG)-16,u
+                sta SAM.F1SET
                 endc
                 ifne (textscreen)&0x800
-                sta (SAM.F2SET-SAMREG)-16,u
+                sta SAM.F2SET
                 endc
                 ifne (textscreen)&0x1000
-                sta (SAM.F3SET-SAMREG)-16,u
+                sta SAM.F3SET
                 endc
                 ifne (textscreen)&0x2000
-                sta (SAM.F4SET-SAMREG)-16,u
+                sta SAM.F4SET
                 endc
                 ifne (textscreen)&0x4000
-                sta (SAM.F5SET-SAMREG)-16,u
+                sta SAM.F5SET
                 endc
                 ifne (textscreen)&0x8000
-                sta (SAM.F6SET-SAMREG)-16,u
+                sta SAM.F6SET
                 endc
                 ifdef COCO2B
 ; The following SAM configuration sequence is different from the one in the usual
@@ -406,7 +406,7 @@
 greeting        fcc '\fLWBASIC VERSION 2022.0\r\n'
                 fcc 'COPYRIGHT (C) 2022 BY LOST\r\n'
                 fcc 'WIZARD ENTERPRISES INC.\r\n'
-                fcs '\n'
+                fcn '\n'
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ; Console output driver
 ;
@@ -425,11 +425,11 @@
                 rts
 ; Output a single character to the screen; enter with character in A
 console_outchr  pshs d,x                        ; save registers
-                ldx #console_curptr             ; get current cursor pointer
+                ldx console_curptr              ; get current cursor pointer
                 cmpa #0x20                      ; printable character?
-                bne console_outchr5             ; brif not
+                blo console_outchr5             ; brif not
                 tsta                            ; is it a graphics block?
-                beq console_outchr1             ; brif so - don't do anything to it
+                bmi console_outchr1             ; brif so - don't do anything to it
                 cmpa #0x40                      ; number or most non-alpha characters?
                 blo console_outchr0             ; brif so - will need to flip bit 6
                 cmpa #0x60                      ; upper case?