2015-08-29 13:58:57 +00:00
|
|
|
.include "pce.inc"
|
2015-09-19 13:37:39 +00:00
|
|
|
.include "extzp.inc"
|
2014-11-29 13:18:48 +00:00
|
|
|
|
2015-10-09 19:44:20 +00:00
|
|
|
.import vce_init
|
|
|
|
.import psg_init
|
|
|
|
.import colors
|
|
|
|
.importzp ptr1, tmp1
|
2014-11-29 13:18:48 +00:00
|
|
|
|
2015-10-09 11:42:25 +00:00
|
|
|
.constructor initconio
|
2015-08-29 13:58:57 +00:00
|
|
|
|
|
|
|
.macpack longbranch
|
2015-07-12 12:27:24 +00:00
|
|
|
|
2016-03-06 20:26:22 +00:00
|
|
|
.segment "ONCE"
|
2014-11-29 13:18:48 +00:00
|
|
|
initconio:
|
2015-08-29 13:58:57 +00:00
|
|
|
jsr vce_init
|
|
|
|
jsr psg_init
|
|
|
|
jsr conio_init
|
|
|
|
jsr set_palette
|
|
|
|
|
2015-09-07 10:55:36 +00:00
|
|
|
st0 #VDC_CR
|
2015-08-29 13:58:57 +00:00
|
|
|
st1 #<$0088
|
|
|
|
st2 #>$0088
|
|
|
|
rts
|
|
|
|
|
2014-11-29 13:18:48 +00:00
|
|
|
set_palette:
|
2015-08-29 13:58:57 +00:00
|
|
|
stz VCE_ADDR_LO
|
|
|
|
stz VCE_ADDR_HI
|
2014-11-29 13:18:48 +00:00
|
|
|
|
2015-08-29 13:58:57 +00:00
|
|
|
ldx #0
|
2014-11-29 13:18:48 +00:00
|
|
|
@lp:
|
2015-08-29 13:58:57 +00:00
|
|
|
ldy #16
|
2015-07-15 11:18:12 +00:00
|
|
|
@lp1:
|
2015-08-29 13:58:57 +00:00
|
|
|
lda colors,x
|
|
|
|
sta VCE_DATA_LO
|
|
|
|
lda colors+1,x
|
|
|
|
sta VCE_DATA_HI
|
|
|
|
dey
|
|
|
|
bne @lp1
|
2015-07-12 12:27:24 +00:00
|
|
|
|
2015-08-29 13:58:57 +00:00
|
|
|
inx
|
|
|
|
inx
|
|
|
|
cpx #16*2
|
|
|
|
jne @lp
|
2015-07-12 12:27:24 +00:00
|
|
|
|
2015-08-29 13:58:57 +00:00
|
|
|
stz VCE_ADDR_LO
|
|
|
|
stz VCE_ADDR_HI
|
|
|
|
stz VCE_DATA_LO
|
|
|
|
stz VCE_DATA_HI
|
2015-07-12 12:27:24 +00:00
|
|
|
|
2015-08-29 13:58:57 +00:00
|
|
|
rts
|
2014-11-29 13:18:48 +00:00
|
|
|
|
|
|
|
conio_init:
|
2015-08-29 13:58:57 +00:00
|
|
|
; Load font
|
|
|
|
st0 #VDC_MAWR
|
|
|
|
st1 #<$2000
|
|
|
|
st2 #>$2000
|
2015-07-12 12:27:24 +00:00
|
|
|
|
2015-08-29 13:58:57 +00:00
|
|
|
; ptr to font data
|
|
|
|
lda #<font
|
|
|
|
sta ptr1
|
|
|
|
lda #>font
|
|
|
|
sta ptr1+1
|
2015-07-12 12:27:24 +00:00
|
|
|
|
2015-08-29 13:58:57 +00:00
|
|
|
st0 #VDC_VWR ; VWR
|
2015-07-16 14:00:32 +00:00
|
|
|
|
2015-08-29 13:58:57 +00:00
|
|
|
lda #0
|
|
|
|
sta tmp1
|
|
|
|
jsr copy
|
2015-07-16 14:00:32 +00:00
|
|
|
|
2015-08-29 13:58:57 +00:00
|
|
|
lda #<font
|
|
|
|
sta ptr1
|
|
|
|
lda #>font
|
|
|
|
sta ptr1+1
|
2015-07-16 14:00:32 +00:00
|
|
|
|
2015-08-29 13:58:57 +00:00
|
|
|
lda #$ff
|
|
|
|
sta tmp1
|
|
|
|
jsr copy
|
2015-07-16 14:00:32 +00:00
|
|
|
|
2015-08-29 13:58:57 +00:00
|
|
|
ldx #0
|
|
|
|
stx BGCOLOR
|
|
|
|
inx
|
|
|
|
stx CHARCOLOR
|
2015-07-16 14:00:32 +00:00
|
|
|
|
2015-08-29 13:58:57 +00:00
|
|
|
rts
|
2015-07-16 14:00:32 +00:00
|
|
|
|
|
|
|
copy:
|
2015-08-29 13:58:57 +00:00
|
|
|
ldy #$80 ; 128 chars
|
|
|
|
charloop:
|
|
|
|
ldx #$08 ; 8 bytes/char
|
2015-07-12 12:27:24 +00:00
|
|
|
lineloop:
|
2015-08-29 13:58:57 +00:00
|
|
|
lda (ptr1)
|
|
|
|
eor tmp1
|
|
|
|
sta a:VDC_DATA_LO ; bitplane 0
|
|
|
|
stz a:VDC_DATA_HI ; bitplane 1
|
|
|
|
|
|
|
|
clc ; increment font pointer
|
|
|
|
lda ptr1
|
|
|
|
adc #$01
|
|
|
|
sta ptr1
|
|
|
|
lda ptr1+1
|
|
|
|
adc #$00
|
|
|
|
sta ptr1+1
|
|
|
|
dex
|
|
|
|
bne lineloop ; next bitplane 0 byte
|
|
|
|
ldx #$08 ; fill bitplane 2/3 with 0
|
|
|
|
fillloop:
|
|
|
|
st1 #$00
|
|
|
|
st2 #$00
|
|
|
|
dex
|
|
|
|
bne fillloop ; next byte
|
|
|
|
dey
|
|
|
|
bne charloop ; next character
|
|
|
|
|
|
|
|
rts
|
|
|
|
|
2015-07-12 12:27:24 +00:00
|
|
|
font:
|
2015-08-29 13:58:57 +00:00
|
|
|
.include "vga.inc"
|