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 revert because lz4 code not re-entrant: 18910
add 4-channel music (KR4): 20128 add 4-channel music (KR4): 20128
add cursor (a bit distracting) 20162 add cursor (a bit distracting) 20162
feature complete 40 col: 20180
intial 80 col support: 20191
Memory Map Memory Map

View File

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

View File

@ -24,7 +24,7 @@ UNPACK_BUFFER EQU $5E00 ; $5E00 - $9600, 14k, $3800
sta LYRICS_ACTIVE sta LYRICS_ACTIVE
; Testing, let's get 40col working first ; Testing, let's get 40col working first
lda #1 lda #0
sta FORTYCOL sta FORTYCOL
; print detection message ; print detection message
@ -100,13 +100,19 @@ mockingboard_found:
; clear both screens ; 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 ; Clear text page0
lda #0 jsr HOME
sta DRAW_PAGE
lda #(' '+$80)
sta clear_all_color+1
jsr clear_all
;============================ ;============================

View File

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