1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-10-11 12:23:45 +00:00

Added Sixs FRED 2 mode

This commit is contained in:
jespergravgaard 2018-03-28 16:43:47 +02:00
parent b4bfaf016a
commit 7a55705b3e
5 changed files with 6664 additions and 3783 deletions

View File

@ -69,6 +69,10 @@ void menu() {
print_str_lines(MENU_TEXT);
// Wait for key press
while(true) {
if(keyboard_key_pressed(KEY_A)!=0) {
mode_sixsfred2();
return;
}
if(keyboard_key_pressed(KEY_B)!=0) {
mode_twoplanebitmap();
return;
@ -207,7 +211,7 @@ void mode_sixsfred() {
// Screen colors
*BORDERCOL = $00;
// Colors for high 4 bits of 8bpp
byte* col=TWOPLANE_COLORS;
byte* col=SIXSFRED_COLORS;
for(byte cy: 0..24 ) {
for(byte cx: 0..39) {
*col++ = (cx+cy) & $f;
@ -238,6 +242,77 @@ void mode_sixsfred() {
}
const byte* SIXSFRED2_PLANEA = $4000;
const byte* SIXSFRED2_PLANEB = $6000;
const byte* SIXSFRED2_COLORS = $8000;
// Sixs Fred Mode 2 - 8bpp Packed Bitmap - Generated from the two DTV linear graphics plane counters
// Two Plane MultiColor Bitmap - 8bpp Packed Bitmap (CHUNK/COLDIS/HICOL = 0, ECM/BMM/MCM/LINEAR = 1)
// Resolution: 160x200
// Linear Adressing
// PlaneA Pixel Shifter (2), PlaneB Pixel Shifter (2):
// - 8bpp color (PlaneB[1:0],ColorData[5:4],PlaneA[1:0],ColorData[1:0])
void mode_sixsfred2() {
// DTV Graphics Mode
*DTV_CONTROL = DTV_CONTROL_LINEAR_ADDRESSING_ON;
// VIC Graphics Mode
*VIC_CONTROL = VIC_ECM|VIC_BMM|VIC_DEN|VIC_RSEL|3;
*VIC_CONTROL2 = VIC_MCM|VIC_CSEL;
// Linear Graphics Plane A Counter
*DTV_PLANEA_START_LO = <SIXSFRED2_PLANEA;
*DTV_PLANEA_START_MI = >SIXSFRED2_PLANEA;
*DTV_PLANEA_START_HI = 0;
*DTV_PLANEA_STEP = 1;
*DTV_PLANEA_MODULO_LO = 0;
*DTV_PLANEA_MODULO_HI = 0;
// Linear Graphics Plane B Counter
*DTV_PLANEB_START_LO = <SIXSFRED2_PLANEB;
*DTV_PLANEB_START_MI = >SIXSFRED2_PLANEB;
*DTV_PLANEB_START_HI = 0;
*DTV_PLANEB_STEP = 1;
*DTV_PLANEB_MODULO_LO = 0;
*DTV_PLANEB_MODULO_HI = 0;
// DTV Color Bank
*DTV_COLOR_BANK_LO = <(SIXSFRED2_COLORS/$400);
*DTV_COLOR_BANK_HI = >(SIXSFRED2_COLORS/$400);
// DTV Palette - Grey Tones
for(byte i : 0..$f) {
DTV_PALETTE[i] = i;
}
// Screen colors
*BORDERCOL = $00;
// Colors for high 4 bits of 8bpp
byte* col=SIXSFRED2_COLORS;
for(byte cy: 0..24 ) {
for(byte cx: 0..39) {
*col++ = (cx&3)<<4|(cy&3);
}
}
// Graphics for Plane A () - horizontal stripes every 2 pixels
byte* gfxa = SIXSFRED2_PLANEA;
byte[] row_bitmask = { %00000000, %01010101, %10101010, %11111111 };
for(byte ay : 0..199) {
for (byte ax : 0..39) {
byte row = (ay>>1) & 3;
*gfxa++ = row_bitmask[row];
}
}
// Graphics for Plane B - vertical stripes every 2 pixels
byte* gfxb = SIXSFRED2_PLANEB;
for(byte by : 0..199) {
for ( byte bx : 0..39) {
*gfxb++ = %00011011;
}
}
// Wait for keypress
while(true) {
if(keyboard_key_pressed(KEY_SPACE)!=0) {
return;
}
}
}
// 8BPP Pixel Cell Screen (contains 40x25=1000 chars)
const byte* PIXELCELL8BPP_PLANEA = $3c00;
// 8BPP Pixel Cell Charset (contains 256 64 byte chars)

View File

@ -44,6 +44,7 @@
.label DTV_COLOR_BANK_LO = $d036
.label DTV_COLOR_BANK_HI = $d037
.label DTV_GRAPHICS_VIC_BANK = $d03d
.const KEY_A = $a
.const KEY_E = $e
.const KEY_D = $12
.const KEY_C = $14
@ -58,6 +59,9 @@
.label SIXSFRED_PLANEA = $4000
.label SIXSFRED_PLANEB = $6000
.label SIXSFRED_COLORS = $8000
.label SIXSFRED2_PLANEA = $4000
.label SIXSFRED2_PLANEB = $6000
.label SIXSFRED2_COLORS = $8000
.label PIXELCELL8BPP_PLANEA = $3c00
.label PIXELCELL8BPP_PLANEB = $4000
.const CHUNKYBMM8BPP_PLANEB = $20000
@ -126,27 +130,34 @@ menu: {
breturn:
rts
b4:
ldx #KEY_B
ldx #KEY_A
jsr keyboard_key_pressed
cmp #0
beq b6
jsr mode_twoplanebitmap
jsr mode_sixsfred2
jmp breturn
b6:
ldx #KEY_C
ldx #KEY_B
jsr keyboard_key_pressed
cmp #0
beq b7
jsr mode_sixsfred
jsr mode_twoplanebitmap
jmp breturn
b7:
ldx #KEY_D
ldx #KEY_C
jsr keyboard_key_pressed
cmp #0
beq b8
jsr mode_8bpppixelcell
jsr mode_sixsfred
jmp breturn
b8:
ldx #KEY_D
jsr keyboard_key_pressed
cmp #0
beq b9
jsr mode_8bpppixelcell
jmp breturn
b9:
ldx #KEY_E
jsr keyboard_key_pressed
cmp #0
@ -469,9 +480,9 @@ mode_sixsfred: {
bne b1
lda #0
sta BORDERCOL
lda #<TWOPLANE_COLORS
lda #<SIXSFRED_COLORS
sta col
lda #>TWOPLANE_COLORS
lda #>SIXSFRED_COLORS
sta col+1
lda #0
sta cy
@ -711,6 +722,148 @@ mode_twoplanebitmap: {
!:
jmp b7
}
mode_sixsfred2: {
.label _15 = 7
.label col = 2
.label cy = 4
.label gfxa = 2
.label ay = 4
.label gfxb = 2
.label by = 4
lda #DTV_CONTROL_LINEAR_ADDRESSING_ON
sta DTV_CONTROL
lda #VIC_ECM|VIC_BMM|VIC_DEN|VIC_RSEL|3
sta VIC_CONTROL
lda #VIC_MCM|VIC_CSEL
sta VIC_CONTROL2
lda #<SIXSFRED2_PLANEA
sta DTV_PLANEA_START_LO
lda #>SIXSFRED2_PLANEA
sta DTV_PLANEA_START_MI
lda #0
sta DTV_PLANEA_START_HI
lda #1
sta DTV_PLANEA_STEP
lda #0
sta DTV_PLANEA_MODULO_LO
sta DTV_PLANEA_MODULO_HI
lda #<SIXSFRED2_PLANEB
sta DTV_PLANEB_START_LO
lda #>SIXSFRED2_PLANEB
sta DTV_PLANEB_START_MI
lda #0
sta DTV_PLANEB_START_HI
lda #1
sta DTV_PLANEB_STEP
lda #0
sta DTV_PLANEB_MODULO_LO
sta DTV_PLANEB_MODULO_HI
lda #<SIXSFRED2_COLORS/$400
sta DTV_COLOR_BANK_LO
lda #>SIXSFRED2_COLORS/$400
sta DTV_COLOR_BANK_HI
ldx #0
b1:
txa
sta DTV_PALETTE,x
inx
cpx #$10
bne b1
lda #0
sta BORDERCOL
lda #<SIXSFRED2_COLORS
sta col
lda #>SIXSFRED2_COLORS
sta col+1
lda #0
sta cy
b2:
ldx #0
b3:
txa
and #3
asl
asl
asl
asl
sta _15
lda #3
and cy
ora _15
ldy #0
sta (col),y
inc col
bne !+
inc col+1
!:
inx
cpx #$28
bne b3
inc cy
lda cy
cmp #$19
bne b2
lda #<SIXSFRED2_PLANEA
sta gfxa
lda #>SIXSFRED2_PLANEA
sta gfxa+1
lda #0
sta ay
b4:
ldx #0
b5:
lda ay
lsr
and #3
tay
lda row_bitmask,y
ldy #0
sta (gfxa),y
inc gfxa
bne !+
inc gfxa+1
!:
inx
cpx #$28
bne b5
inc ay
lda ay
cmp #$c8
bne b4
lda #0
sta by
lda #<SIXSFRED2_PLANEB
sta gfxb
lda #>SIXSFRED2_PLANEB
sta gfxb+1
b6:
ldx #0
b7:
lda #$1b
ldy #0
sta (gfxb),y
inc gfxb
bne !+
inc gfxb+1
!:
inx
cpx #$28
bne b7
inc by
lda by
cmp #$c8
bne b6
jmp b9
breturn:
rts
b9:
ldx #KEY_SPACE
jsr keyboard_key_pressed
cmp #0
beq b9
jmp breturn
row_bitmask: .byte 0, $55, $aa, $ff
}
print_str_lines: {
.label str = 2
lda #<MENU_SCREEN

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
(label) @25
(label) @26
(label) @begin
(label) @end
(byte*) BGCOL
@ -71,6 +71,8 @@
(const byte*) DTV_PLANEB_START_MI#0 DTV_PLANEB_START_MI = ((byte*))(word/dword/signed dword) 53322
(byte*) DTV_PLANEB_STEP
(const byte*) DTV_PLANEB_STEP#0 DTV_PLANEB_STEP = ((byte*))(word/dword/signed dword) 53324
(byte) KEY_A
(const byte) KEY_A#0 KEY_A = (byte/signed byte/word/signed word/dword/signed dword) 10
(byte) KEY_B
(const byte) KEY_B#0 KEY_B = (byte/signed byte/word/signed word/dword/signed dword) 28
(byte) KEY_C
@ -95,6 +97,12 @@
(const byte*) PIXELCELL8BPP_PLANEB#0 PIXELCELL8BPP_PLANEB = ((byte*))(word/signed word/dword/signed dword) 16384
(byte*) PROCPORT
(const byte*) PROCPORT#0 PROCPORT = ((byte*))(byte/signed byte/word/signed word/dword/signed dword) 1
(byte*) SIXSFRED2_COLORS
(const byte*) SIXSFRED2_COLORS#0 SIXSFRED2_COLORS = ((byte*))(word/dword/signed dword) 32768
(byte*) SIXSFRED2_PLANEA
(const byte*) SIXSFRED2_PLANEA#0 SIXSFRED2_PLANEA = ((byte*))(word/signed word/dword/signed dword) 16384
(byte*) SIXSFRED2_PLANEB
(const byte*) SIXSFRED2_PLANEB#0 SIXSFRED2_PLANEB = ((byte*))(word/signed word/dword/signed dword) 24576
(byte*) SIXSFRED_COLORS
(const byte*) SIXSFRED_COLORS#0 SIXSFRED_COLORS = ((byte*))(word/dword/signed dword) 32768
(byte*) SIXSFRED_PLANEA
@ -139,17 +147,19 @@
(byte) keyboard_key_pressed::colidx
(byte) keyboard_key_pressed::colidx#0 reg byte y 0.6666666666666666
(byte) keyboard_key_pressed::key
(byte) keyboard_key_pressed::key#8 reg byte x 2.0
(byte) keyboard_key_pressed::key#10 reg byte x 2.0
(byte) keyboard_key_pressed::return
(byte) keyboard_key_pressed::return#0 reg byte a 81.0
(byte) keyboard_key_pressed::return#0 reg byte a 84.33333333333333
(byte) keyboard_key_pressed::return#10 reg byte a 202.0
(byte) keyboard_key_pressed::return#11 reg byte a 202.0
(byte) keyboard_key_pressed::return#12 reg byte a 202.0
(byte) keyboard_key_pressed::return#13 reg byte a 202.0
(byte) keyboard_key_pressed::return#14 reg byte a 202.0
(byte) keyboard_key_pressed::return#15 reg byte a 202.0
(byte) keyboard_key_pressed::return#16 reg byte a 202.0
(byte) keyboard_key_pressed::return#17 reg byte a 202.0
(byte) keyboard_key_pressed::return#18 reg byte a 202.0
(byte) keyboard_key_pressed::return#19 reg byte a 202.0
(byte) keyboard_key_pressed::return#20 reg byte a 202.0
(byte) keyboard_key_pressed::rowidx
(byte) keyboard_key_pressed::rowidx#0 reg byte a 4.0
(byte[]) keyboard_matrix_col_bitmask
@ -173,24 +183,28 @@
(byte~) menu::$33 reg byte a 202.0
(byte~) menu::$37 reg byte a 202.0
(byte~) menu::$41 reg byte a 202.0
(byte~) menu::$45 reg byte a 202.0
(label) menu::@1
(label) menu::@11
(label) menu::@14
(label) menu::@16
(label) menu::@18
(label) menu::@12
(label) menu::@15
(label) menu::@17
(label) menu::@19
(label) menu::@2
(label) menu::@20
(label) menu::@21
(label) menu::@23
(label) menu::@24
(label) menu::@26
(label) menu::@27
(label) menu::@29
(label) menu::@3
(label) menu::@31
(label) menu::@30
(label) menu::@32
(label) menu::@34
(label) menu::@36
(label) menu::@4
(label) menu::@6
(label) menu::@7
(label) menu::@8
(label) menu::@9
(label) menu::@return
(byte*) menu::c
(byte*) menu::c#1 c zp ZP_WORD:2 151.5
@ -360,6 +374,65 @@
(byte) mode_sixsfred::row#0 reg byte a 2002.0
(byte[]) mode_sixsfred::row_bitmask
(const byte[]) mode_sixsfred::row_bitmask#0 row_bitmask = { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 85, (byte/word/signed word/dword/signed dword) 170, (byte/word/signed word/dword/signed dword) 255 }
(void()) mode_sixsfred2()
(byte~) mode_sixsfred2::$14 reg byte a 2002.0
(byte~) mode_sixsfred2::$15 $15 zp ZP_BYTE:7 1001.0
(byte~) mode_sixsfred2::$16 reg byte a 2002.0
(byte~) mode_sixsfred2::$17 reg byte a 2002.0
(byte~) mode_sixsfred2::$20 reg byte a 2002.0
(byte~) mode_sixsfred2::$26 reg byte a 202.0
(label) mode_sixsfred2::@1
(label) mode_sixsfred2::@12
(label) mode_sixsfred2::@13
(label) mode_sixsfred2::@15
(label) mode_sixsfred2::@17
(label) mode_sixsfred2::@2
(label) mode_sixsfred2::@24
(label) mode_sixsfred2::@3
(label) mode_sixsfred2::@4
(label) mode_sixsfred2::@5
(label) mode_sixsfred2::@6
(label) mode_sixsfred2::@7
(label) mode_sixsfred2::@8
(label) mode_sixsfred2::@9
(label) mode_sixsfred2::@return
(byte) mode_sixsfred2::ax
(byte) mode_sixsfred2::ax#1 reg byte x 1501.5
(byte) mode_sixsfred2::ax#2 reg byte x 400.4
(byte) mode_sixsfred2::ay
(byte) mode_sixsfred2::ay#1 ay zp ZP_BYTE:4 151.5
(byte) mode_sixsfred2::ay#4 ay zp ZP_BYTE:4 150.375
(byte) mode_sixsfred2::bx
(byte) mode_sixsfred2::bx#1 reg byte x 1501.5
(byte) mode_sixsfred2::bx#2 reg byte x 667.3333333333334
(byte) mode_sixsfred2::by
(byte) mode_sixsfred2::by#1 by zp ZP_BYTE:4 151.5
(byte) mode_sixsfred2::by#4 by zp ZP_BYTE:4 33.666666666666664
(byte*) mode_sixsfred2::col
(byte*) mode_sixsfred2::col#1 col zp ZP_WORD:2 420.59999999999997
(byte*) mode_sixsfred2::col#2 col zp ZP_WORD:2 517.3333333333334
(byte*) mode_sixsfred2::col#3 col zp ZP_WORD:2 202.0
(byte) mode_sixsfred2::cx
(byte) mode_sixsfred2::cx#1 reg byte x 1501.5
(byte) mode_sixsfred2::cx#2 reg byte x 429.0
(byte) mode_sixsfred2::cy
(byte) mode_sixsfred2::cy#1 cy zp ZP_BYTE:4 151.5
(byte) mode_sixsfred2::cy#4 cy zp ZP_BYTE:4 120.29999999999998
(byte*) mode_sixsfred2::gfxa
(byte*) mode_sixsfred2::gfxa#1 gfxa zp ZP_WORD:2 420.59999999999997
(byte*) mode_sixsfred2::gfxa#2 gfxa zp ZP_WORD:2 776.0
(byte*) mode_sixsfred2::gfxa#3 gfxa zp ZP_WORD:2 202.0
(byte*) mode_sixsfred2::gfxb
(byte*) mode_sixsfred2::gfxb#1 gfxb zp ZP_WORD:2 420.59999999999997
(byte*) mode_sixsfred2::gfxb#2 gfxb zp ZP_WORD:2 1552.0
(byte*) mode_sixsfred2::gfxb#3 gfxb zp ZP_WORD:2 202.0
(byte) mode_sixsfred2::i
(byte) mode_sixsfred2::i#1 reg byte x 151.5
(byte) mode_sixsfred2::i#2 reg byte x 202.0
(byte) mode_sixsfred2::row
(byte) mode_sixsfred2::row#0 reg byte a 2002.0
(byte[]) mode_sixsfred2::row_bitmask
(const byte[]) mode_sixsfred2::row_bitmask#0 row_bitmask = { (byte/signed byte/word/signed word/dword/signed dword) 0, (byte/signed byte/word/signed word/dword/signed dword) 85, (byte/word/signed word/dword/signed dword) 170, (byte/word/signed word/dword/signed dword) 255 }
(void()) mode_twoplanebitmap()
(byte~) mode_twoplanebitmap::$14 reg byte a 2002.0
(byte~) mode_twoplanebitmap::$15 $15 zp ZP_BYTE:7 1001.0
@ -425,7 +498,7 @@
(byte*) print_char_cursor#17 print_char_cursor zp ZP_WORD:5 821.0
(byte*) print_char_cursor#19 print_char_cursor zp ZP_WORD:5 101.0
(byte*) print_char_cursor#32 print_char_cursor zp ZP_WORD:5 572.0
(byte*~) print_char_cursor#71 print_char_cursor zp ZP_WORD:5 202.0
(byte*~) print_char_cursor#76 print_char_cursor zp ZP_WORD:5 202.0
(void()) print_cls()
(label) print_cls::@1
(label) print_cls::@return
@ -458,16 +531,16 @@
(byte*) print_str_lines::str#3 str zp ZP_WORD:2 1552.0
reg byte x [ menu::i#2 menu::i#1 ]
zp ZP_WORD:2 [ menu::c#2 menu::c#1 mode_8bppchunkybmm::x#2 mode_8bppchunkybmm::x#1 mode_8bpppixelcell::gfxa#2 mode_8bpppixelcell::gfxa#3 mode_8bpppixelcell::gfxa#1 mode_8bpppixelcell::chargen#2 mode_8bpppixelcell::chargen#4 mode_8bpppixelcell::chargen#1 mode_sixsfred::col#2 mode_sixsfred::col#3 mode_sixsfred::col#1 mode_sixsfred::gfxa#2 mode_sixsfred::gfxa#3 mode_sixsfred::gfxa#1 mode_sixsfred::gfxb#2 mode_sixsfred::gfxb#3 mode_sixsfred::gfxb#1 mode_twoplanebitmap::col#2 mode_twoplanebitmap::col#3 mode_twoplanebitmap::col#1 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::gfxa#6 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::gfxa#2 mode_twoplanebitmap::gfxa#1 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::gfxb#1 print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 print_cls::sc#2 print_cls::sc#1 ]
zp ZP_WORD:2 [ menu::c#2 menu::c#1 mode_8bppchunkybmm::x#2 mode_8bppchunkybmm::x#1 mode_8bpppixelcell::gfxa#2 mode_8bpppixelcell::gfxa#3 mode_8bpppixelcell::gfxa#1 mode_8bpppixelcell::chargen#2 mode_8bpppixelcell::chargen#4 mode_8bpppixelcell::chargen#1 mode_sixsfred::col#2 mode_sixsfred::col#3 mode_sixsfred::col#1 mode_sixsfred::gfxa#2 mode_sixsfred::gfxa#3 mode_sixsfred::gfxa#1 mode_sixsfred::gfxb#2 mode_sixsfred::gfxb#3 mode_sixsfred::gfxb#1 mode_twoplanebitmap::col#2 mode_twoplanebitmap::col#3 mode_twoplanebitmap::col#1 mode_twoplanebitmap::gfxa#3 mode_twoplanebitmap::gfxa#6 mode_twoplanebitmap::gfxa#7 mode_twoplanebitmap::gfxa#2 mode_twoplanebitmap::gfxa#1 mode_twoplanebitmap::gfxb#2 mode_twoplanebitmap::gfxb#3 mode_twoplanebitmap::gfxb#1 mode_sixsfred2::col#2 mode_sixsfred2::col#3 mode_sixsfred2::col#1 mode_sixsfred2::gfxa#2 mode_sixsfred2::gfxa#3 mode_sixsfred2::gfxa#1 mode_sixsfred2::gfxb#2 mode_sixsfred2::gfxb#3 mode_sixsfred2::gfxb#1 print_str_lines::str#3 print_str_lines::str#2 print_str_lines::str#0 print_cls::sc#2 print_cls::sc#1 ]
reg byte x [ mode_8bppchunkybmm::i#2 mode_8bppchunkybmm::i#1 ]
zp ZP_BYTE:4 [ mode_8bppchunkybmm::y#6 mode_8bppchunkybmm::y#1 mode_8bpppixelcell::ay#4 mode_8bpppixelcell::ay#1 mode_8bpppixelcell::ch#8 mode_8bpppixelcell::ch#1 mode_sixsfred::cy#4 mode_sixsfred::cy#1 mode_sixsfred::ay#4 mode_sixsfred::ay#1 mode_sixsfred::by#4 mode_sixsfred::by#1 mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 ]
zp ZP_BYTE:4 [ mode_8bppchunkybmm::y#6 mode_8bppchunkybmm::y#1 mode_8bpppixelcell::ay#4 mode_8bpppixelcell::ay#1 mode_8bpppixelcell::ch#8 mode_8bpppixelcell::ch#1 mode_sixsfred::cy#4 mode_sixsfred::cy#1 mode_sixsfred::ay#4 mode_sixsfred::ay#1 mode_sixsfred::by#4 mode_sixsfred::by#1 mode_twoplanebitmap::cy#4 mode_twoplanebitmap::cy#1 mode_twoplanebitmap::ay#4 mode_twoplanebitmap::ay#1 mode_twoplanebitmap::by#4 mode_twoplanebitmap::by#1 mode_sixsfred2::cy#4 mode_sixsfred2::cy#1 mode_sixsfred2::ay#4 mode_sixsfred2::ay#1 mode_sixsfred2::by#4 mode_sixsfred2::by#1 ]
reg byte x [ mode_8bppchunkybmm::gfxbCpuBank#4 mode_8bppchunkybmm::gfxbCpuBank#7 mode_8bppchunkybmm::gfxbCpuBank#8 mode_8bppchunkybmm::gfxbCpuBank#2 ]
zp ZP_WORD:5 [ mode_8bppchunkybmm::gfxb#4 mode_8bppchunkybmm::gfxb#3 mode_8bppchunkybmm::gfxb#5 mode_8bppchunkybmm::gfxb#1 mode_8bpppixelcell::gfxb#2 mode_8bpppixelcell::gfxb#5 mode_8bpppixelcell::gfxb#7 mode_8bpppixelcell::gfxb#1 print_char_cursor#17 print_char_cursor#19 print_char_cursor#71 print_char_cursor#32 print_char_cursor#1 ]
reg byte x [ keyboard_key_pressed::key#8 ]
zp ZP_WORD:5 [ mode_8bppchunkybmm::gfxb#4 mode_8bppchunkybmm::gfxb#3 mode_8bppchunkybmm::gfxb#5 mode_8bppchunkybmm::gfxb#1 mode_8bpppixelcell::gfxb#2 mode_8bpppixelcell::gfxb#5 mode_8bpppixelcell::gfxb#7 mode_8bpppixelcell::gfxb#1 print_char_cursor#17 print_char_cursor#19 print_char_cursor#76 print_char_cursor#32 print_char_cursor#1 ]
reg byte x [ keyboard_key_pressed::key#10 ]
reg byte a [ dtvSetCpuBankSegment1::cpuBankIdx#3 dtvSetCpuBankSegment1::cpuBankIdx#1 ]
reg byte x [ mode_8bpppixelcell::i#2 mode_8bpppixelcell::i#1 ]
reg byte x [ mode_8bpppixelcell::ax#2 mode_8bpppixelcell::ax#1 ]
zp ZP_BYTE:7 [ mode_8bpppixelcell::cr#6 mode_8bpppixelcell::cr#1 mode_8bpppixelcell::$12 mode_twoplanebitmap::$15 ]
zp ZP_BYTE:7 [ mode_8bpppixelcell::cr#6 mode_8bpppixelcell::cr#1 mode_8bpppixelcell::$12 mode_twoplanebitmap::$15 mode_sixsfred2::$15 ]
zp ZP_BYTE:8 [ mode_8bpppixelcell::bits#2 mode_8bpppixelcell::bits#0 mode_8bpppixelcell::bits#1 ]
zp ZP_BYTE:9 [ mode_8bpppixelcell::col#2 mode_8bpppixelcell::col#5 mode_8bpppixelcell::col#7 mode_8bpppixelcell::col#1 ]
reg byte x [ mode_8bpppixelcell::cp#2 mode_8bpppixelcell::cp#1 ]
@ -480,17 +553,23 @@ reg byte x [ mode_twoplanebitmap::i#2 mode_twoplanebitmap::i#1 ]
reg byte x [ mode_twoplanebitmap::cx#2 mode_twoplanebitmap::cx#1 ]
reg byte x [ mode_twoplanebitmap::ax#2 mode_twoplanebitmap::ax#1 ]
reg byte x [ mode_twoplanebitmap::bx#2 mode_twoplanebitmap::bx#1 ]
reg byte x [ mode_sixsfred2::i#2 mode_sixsfred2::i#1 ]
reg byte x [ mode_sixsfred2::cx#2 mode_sixsfred2::cx#1 ]
reg byte x [ mode_sixsfred2::ax#2 mode_sixsfred2::ax#1 ]
reg byte x [ mode_sixsfred2::bx#2 mode_sixsfred2::bx#1 ]
zp ZP_WORD:10 [ print_line_cursor#18 print_line_cursor#17 print_line_cursor#19 mode_8bppchunkybmm::$20 ]
reg byte a [ keyboard_key_pressed::return#11 ]
reg byte a [ menu::$29 ]
reg byte a [ keyboard_key_pressed::return#12 ]
reg byte a [ menu::$33 ]
reg byte a [ keyboard_key_pressed::return#13 ]
reg byte a [ menu::$37 ]
reg byte a [ menu::$29 ]
reg byte a [ keyboard_key_pressed::return#14 ]
reg byte a [ menu::$33 ]
reg byte a [ keyboard_key_pressed::return#15 ]
reg byte a [ menu::$37 ]
reg byte a [ keyboard_key_pressed::return#16 ]
reg byte a [ menu::$41 ]
reg byte a [ keyboard_key_pressed::return#17 ]
reg byte a [ menu::$45 ]
reg byte a [ mode_8bppchunkybmm::c#0 ]
reg byte a [ keyboard_key_pressed::return#18 ]
reg byte a [ keyboard_key_pressed::return#11 ]
reg byte a [ mode_8bppchunkybmm::$27 ]
reg byte y [ keyboard_key_pressed::colidx#0 ]
reg byte a [ keyboard_key_pressed::rowidx#0 ]
@ -503,18 +582,25 @@ reg byte a [ mode_8bpppixelcell::$11 ]
reg byte a [ mode_8bpppixelcell::$13 ]
reg byte a [ mode_8bpppixelcell::$14 ]
reg byte a [ mode_8bpppixelcell::$17 ]
reg byte a [ keyboard_key_pressed::return#17 ]
reg byte a [ keyboard_key_pressed::return#10 ]
reg byte a [ mode_8bpppixelcell::$24 ]
reg byte a [ mode_sixsfred::$15 ]
reg byte a [ mode_sixsfred::$16 ]
reg byte a [ mode_sixsfred::$19 ]
reg byte a [ mode_sixsfred::row#0 ]
reg byte a [ keyboard_key_pressed::return#16 ]
reg byte a [ keyboard_key_pressed::return#19 ]
reg byte a [ mode_sixsfred::$25 ]
reg byte a [ mode_twoplanebitmap::$14 ]
reg byte a [ mode_twoplanebitmap::$16 ]
reg byte a [ mode_twoplanebitmap::$17 ]
reg byte a [ mode_twoplanebitmap::$20 ]
reg byte a [ keyboard_key_pressed::return#15 ]
reg byte a [ keyboard_key_pressed::return#18 ]
reg byte a [ mode_twoplanebitmap::$27 ]
reg byte a [ mode_sixsfred2::$14 ]
reg byte a [ mode_sixsfred2::$16 ]
reg byte a [ mode_sixsfred2::$17 ]
reg byte a [ mode_sixsfred2::$20 ]
reg byte a [ mode_sixsfred2::row#0 ]
reg byte a [ keyboard_key_pressed::return#20 ]
reg byte a [ mode_sixsfred2::$26 ]
reg byte a [ print_str_lines::ch#0 ]