sa: initial 80col support

This commit is contained in:
Vince Weaver 2018-05-24 12:42:27 -04:00
parent 728d84d316
commit 267f1dca2e
4 changed files with 29 additions and 8 deletions

View File

@ -31,7 +31,8 @@ lz4 encode the ascii art: 15529
revert because lz4 code not re-entrant: 18910
add 4-channel music (KR4): 20128
add cursor (a bit distracting) 20162
feature complete 40 col: 20180
intial 80 col support: 20191
Memory Map

View File

@ -68,6 +68,9 @@ dal_loop:
lda dal_first+1
jsr COUT1
lda #13+$80
jsr COUT1
rts
@ -78,6 +81,16 @@ dal_loop:
; It's 7063 bytes of data unencoded
; A is which one to draw
draw_ascii_art:
lda FORTYCOL
bne fortycol_ascii_art
eightycol_ascii_art:
rts
fortycol_ascii_art:
sty TEMPY
asl ; point to ascii art we want

View File

@ -24,7 +24,7 @@ UNPACK_BUFFER EQU $5E00 ; $5E00 - $9600, 14k, $3800
sta LYRICS_ACTIVE
; Testing, let's get 40col working first
lda #1
lda #0
sta FORTYCOL
; print detection message
@ -100,13 +100,19 @@ mockingboard_found:
; clear both screens
;===========================
lda FORTYCOL
bne only_forty
switch_to_80:
; Initialize 80 column firmware
jsr $C300 ; same as PR#3
only_forty:
; Clear text page0
lda #0
sta DRAW_PAGE
lda #(' '+$80)
sta clear_all_color+1
jsr clear_all
jsr HOME
;============================

View File

@ -143,7 +143,8 @@ KEYRESET EQU $C010
;; SOFT SWITCHES
CLR80COL EQU $C000 ; PAGE0/PAGE1 normal
SET80COL EQU $C001 ; PAGE0/PAGE1 switches PAGE0 in Aux instead
EIGHTYCOL EQU $C00D
EIGHTYCOLOFF EQU $C00C
EIGHTYCOLON EQU $C00D
SPEAKER EQU $C030
SET_GR EQU $C050
SET_TEXT EQU $C051