mirror of
https://gitlab.com/camelot/kickc.git
synced 2025-04-03 08:30:49 +00:00
Working on deprecating lo/hi operators. Closes #667
This commit is contained in:
parent
a8d84f5e60
commit
fa2378c38d
@ -97,7 +97,7 @@ __start: {
|
||||
}
|
||||
// VSYNC Interrupt Routine
|
||||
irq_vsync: {
|
||||
.const vram_sprite_attr_bank = VERA_SPRITE_ATTR>>$10
|
||||
.const vram_sprite_attr_bank = <VERA_SPRITE_ATTR>>$10
|
||||
.label __11 = $16
|
||||
.label __12 = $18
|
||||
.label i_x = 3
|
||||
@ -288,7 +288,7 @@ main: {
|
||||
// Copy 8* sprite attributes to VRAM
|
||||
.label vram_sprite_attr = $a
|
||||
.label s = 9
|
||||
// memcpy_to_vram((char)>SPRITE_PIXELS_VRAM, (char*)<SPRITE_PIXELS_VRAM, SPRITE_PIXELS, 64*64)
|
||||
// memcpy_to_vram(BYTE2(SPRITE_PIXELS_VRAM), (char*)WORD0(SPRITE_PIXELS_VRAM), SPRITE_PIXELS, 64*64)
|
||||
// Copy sprite data to VRAM
|
||||
lda #<$40*$40
|
||||
sta.z memcpy_to_vram.num
|
||||
@ -304,7 +304,7 @@ main: {
|
||||
lda #>SPRITE_PIXELS_VRAM&$ffff
|
||||
sta.z memcpy_to_vram.vdest+1
|
||||
jsr memcpy_to_vram
|
||||
// memcpy_to_vram((char)>VERA_PALETTE, (char*)<VERA_PALETTE, SPRITE_PIXELS+64*64, 0x200)
|
||||
// memcpy_to_vram(BYTE2(VERA_PALETTE), (char*)WORD0(VERA_PALETTE), SPRITE_PIXELS+64*64, 0x200)
|
||||
// Copy sprite palette to VRAM
|
||||
lda #<$200
|
||||
sta.z memcpy_to_vram.num
|
||||
@ -314,7 +314,7 @@ main: {
|
||||
sta.z memcpy_to_vram.src
|
||||
lda #>SPRITE_PIXELS+$40*$40
|
||||
sta.z memcpy_to_vram.src+1
|
||||
ldx #VERA_PALETTE>>$10
|
||||
ldx #<VERA_PALETTE>>$10
|
||||
lda #<VERA_PALETTE&$ffff
|
||||
sta.z memcpy_to_vram.vdest
|
||||
lda #>VERA_PALETTE&$ffff
|
||||
@ -371,7 +371,7 @@ main: {
|
||||
lda #>$a
|
||||
adc SPRITE_ATTR+OFFSET_STRUCT_VERA_SPRITE_Y+1
|
||||
sta SPRITE_ATTR+OFFSET_STRUCT_VERA_SPRITE_Y+1
|
||||
// memcpy_to_vram((char)>VERA_SPRITE_ATTR, vram_sprite_attr, &SPRITE_ATTR, sizeof(SPRITE_ATTR))
|
||||
// memcpy_to_vram((char)WORD1(VERA_SPRITE_ATTR), vram_sprite_attr, &SPRITE_ATTR, sizeof(SPRITE_ATTR))
|
||||
lda.z vram_sprite_attr
|
||||
sta.z memcpy_to_vram.vdest
|
||||
lda.z vram_sprite_attr+1
|
||||
@ -416,14 +416,14 @@ memcpy_to_vram: {
|
||||
lda #VERA_ADDRSEL^$ff
|
||||
and VERA_CTRL
|
||||
sta VERA_CTRL
|
||||
// <vdest
|
||||
// BYTE0(vdest)
|
||||
lda.z vdest
|
||||
// *VERA_ADDRX_L = <vdest
|
||||
// *VERA_ADDRX_L = BYTE0(vdest)
|
||||
// Set address
|
||||
sta VERA_ADDRX_L
|
||||
// >vdest
|
||||
// BYTE1(vdest)
|
||||
lda.z vdest+1
|
||||
// *VERA_ADDRX_M = >vdest
|
||||
// *VERA_ADDRX_M = BYTE1(vdest)
|
||||
sta VERA_ADDRX_M
|
||||
// VERA_INC_1 | vbank
|
||||
txa
|
||||
|
@ -35,7 +35,7 @@ irq_vsync::@2: scope:[irq_vsync] from irq_vsync::@1 irq_vsync::@4
|
||||
[13] irq_vsync::i_y#0 = sin_idx_y
|
||||
to:irq_vsync::@5
|
||||
irq_vsync::@5: scope:[irq_vsync] from irq_vsync::@2 irq_vsync::@9
|
||||
[14] irq_vsync::vram_sprite_pos#2 = phi( irq_vsync::@2/(byte*)<VERA_SPRITE_ATTR+2, irq_vsync::@9/irq_vsync::vram_sprite_pos#1 )
|
||||
[14] irq_vsync::vram_sprite_pos#2 = phi( irq_vsync::@2/(byte*)_word0_VERA_SPRITE_ATTR+2, irq_vsync::@9/irq_vsync::vram_sprite_pos#1 )
|
||||
[14] irq_vsync::i_y#3 = phi( irq_vsync::@2/irq_vsync::i_y#0, irq_vsync::@9/irq_vsync::i_y#9 )
|
||||
[14] irq_vsync::i_x#3 = phi( irq_vsync::@2/irq_vsync::i_x#0, irq_vsync::@9/irq_vsync::i_x#7 )
|
||||
[14] irq_vsync::s#2 = phi( irq_vsync::@2/0, irq_vsync::@9/irq_vsync::s#1 )
|
||||
@ -88,7 +88,7 @@ main::@5: scope:[main] from main
|
||||
[39] call memcpy_to_vram
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main::@5 main::@6
|
||||
[40] main::vram_sprite_attr#2 = phi( main::@5/(byte*)<VERA_SPRITE_ATTR, main::@6/main::vram_sprite_attr#1 )
|
||||
[40] main::vram_sprite_attr#2 = phi( main::@5/(byte*)_word0_VERA_SPRITE_ATTR, main::@6/main::vram_sprite_attr#1 )
|
||||
[40] main::s#2 = phi( main::@5/0, main::@6/main::s#1 )
|
||||
[41] if(main::s#2<$20) goto main::@2
|
||||
to:main::@3
|
||||
@ -124,8 +124,8 @@ void memcpy_to_vram(byte memcpy_to_vram::vbank , void* memcpy_to_vram::vdest , v
|
||||
memcpy_to_vram: scope:[memcpy_to_vram] from irq_vsync::@6 main main::@2 main::@5
|
||||
[55] memcpy_to_vram::num#4 = phi( irq_vsync::@6/4, main/(word)$40*$40, main::@2/SIZEOF_STRUCT_VERA_SPRITE, main::@5/$200 )
|
||||
[55] memcpy_to_vram::src#4 = phi( irq_vsync::@6/(void*)&SPRITE_ATTR+2, main/(void*)SPRITE_PIXELS, main::@2/(void*)&SPRITE_ATTR, main::@5/(void*)SPRITE_PIXELS+(word)$40*$40 )
|
||||
[55] memcpy_to_vram::vbank#4 = phi( irq_vsync::@6/irq_vsync::vram_sprite_attr_bank, main/0, main::@2/(byte)>VERA_SPRITE_ATTR, main::@5/(byte)>VERA_PALETTE )
|
||||
[55] memcpy_to_vram::vdest#4 = phi( irq_vsync::@6/memcpy_to_vram::vdest#3, main/(void*)(byte*)<SPRITE_PIXELS_VRAM, main::@2/memcpy_to_vram::vdest#2, main::@5/(void*)(byte*)<VERA_PALETTE )
|
||||
[55] memcpy_to_vram::vbank#4 = phi( irq_vsync::@6/irq_vsync::vram_sprite_attr_bank, main/0, main::@2/(byte)_word1_VERA_SPRITE_ATTR, main::@5/_byte2_VERA_PALETTE )
|
||||
[55] memcpy_to_vram::vdest#4 = phi( irq_vsync::@6/memcpy_to_vram::vdest#3, main/(void*)(byte*)_word0_SPRITE_PIXELS_VRAM, main::@2/memcpy_to_vram::vdest#2, main::@5/(void*)(byte*)_word0_VERA_PALETTE )
|
||||
[56] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL
|
||||
[57] memcpy_to_vram::$0 = < memcpy_to_vram::vdest#4
|
||||
[58] *VERA_ADDRX_L = memcpy_to_vram::$0
|
||||
|
@ -1,5 +1,5 @@
|
||||
Resolved forward reference irq_vsync to __interrupt(rom_sys_cx16) void irq_vsync()
|
||||
Setting struct to load/store in variable affected by address-of main::$6 = call memcpy_to_vram (byte)>VERA_SPRITE_ATTR main::vram_sprite_attr &SPRITE_ATTR main::$5
|
||||
Setting struct to load/store in variable affected by address-of main::$6 = call memcpy_to_vram (byte)_word1_VERA_SPRITE_ATTR main::vram_sprite_attr &SPRITE_ATTR main::$5
|
||||
Setting inferred volatile on symbol affected by address-of: setnam::filename_len in asm { ldafilename_len ldxfilename ldyfilename+1 jsr$ffbd }
|
||||
Setting inferred volatile on symbol affected by address-of: setnam::filename in asm { ldafilename_len ldxfilename ldyfilename+1 jsr$ffbd }
|
||||
Setting inferred volatile on symbol affected by address-of: setlfs::device in asm { ldxdevice lda#1 ldy#0 jsr$ffba }
|
||||
@ -52,21 +52,21 @@ memcpy_to_vram::@return: scope:[memcpy_to_vram] from memcpy_to_vram::@1
|
||||
|
||||
void main()
|
||||
main: scope:[main] from __start::@1
|
||||
memcpy_to_vram::vbank#0 = (byte)>SPRITE_PIXELS_VRAM
|
||||
memcpy_to_vram::vdest#0 = (void*)(byte*)<SPRITE_PIXELS_VRAM
|
||||
memcpy_to_vram::vbank#0 = _byte2_SPRITE_PIXELS_VRAM
|
||||
memcpy_to_vram::vdest#0 = (void*)(byte*)_word0_SPRITE_PIXELS_VRAM
|
||||
memcpy_to_vram::src#0 = (void*)SPRITE_PIXELS
|
||||
memcpy_to_vram::num#0 = $40*$40
|
||||
call memcpy_to_vram
|
||||
to:main::@5
|
||||
main::@5: scope:[main] from main
|
||||
memcpy_to_vram::vbank#1 = (byte)>VERA_PALETTE
|
||||
memcpy_to_vram::vdest#1 = (void*)(byte*)<VERA_PALETTE
|
||||
memcpy_to_vram::vbank#1 = _byte2_VERA_PALETTE
|
||||
memcpy_to_vram::vdest#1 = (void*)(byte*)_word0_VERA_PALETTE
|
||||
memcpy_to_vram::src#1 = (void*)SPRITE_PIXELS+$40*$40
|
||||
memcpy_to_vram::num#1 = $200
|
||||
call memcpy_to_vram
|
||||
to:main::@6
|
||||
main::@6: scope:[main] from main::@5
|
||||
main::vram_sprite_attr#0 = (byte*)<VERA_SPRITE_ATTR
|
||||
main::vram_sprite_attr#0 = (byte*)_word0_VERA_SPRITE_ATTR
|
||||
main::s#0 = 0
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main::@6 main::@7
|
||||
@ -81,7 +81,7 @@ main::@2: scope:[main] from main::@1
|
||||
*((word*)&SPRITE_ATTR+OFFSET_STRUCT_VERA_SPRITE_X) = *((word*)&SPRITE_ATTR+OFFSET_STRUCT_VERA_SPRITE_X) + $a
|
||||
*((word*)&SPRITE_ATTR+OFFSET_STRUCT_VERA_SPRITE_Y) = *((word*)&SPRITE_ATTR+OFFSET_STRUCT_VERA_SPRITE_Y) + $a
|
||||
main::$5 = SIZEOF_STRUCT_VERA_SPRITE
|
||||
memcpy_to_vram::vbank#2 = (byte)>VERA_SPRITE_ATTR
|
||||
memcpy_to_vram::vbank#2 = (byte)_word1_VERA_SPRITE_ATTR
|
||||
memcpy_to_vram::vdest#2 = (void*)main::vram_sprite_attr#2
|
||||
memcpy_to_vram::src#2 = (void*)&SPRITE_ATTR
|
||||
memcpy_to_vram::num#2 = main::$5
|
||||
@ -129,7 +129,7 @@ irq_vsync::@3: scope:[irq_vsync] from irq_vsync
|
||||
sin_idx_x = 0
|
||||
to:irq_vsync::@1
|
||||
irq_vsync::@2: scope:[irq_vsync] from irq_vsync::@1 irq_vsync::@4
|
||||
irq_vsync::vram_sprite_pos#0 = (byte*)<VERA_SPRITE_ATTR+2
|
||||
irq_vsync::vram_sprite_pos#0 = (byte*)_word0_VERA_SPRITE_ATTR+2
|
||||
irq_vsync::i_x#0 = sin_idx_x
|
||||
irq_vsync::i_y#0 = sin_idx_y
|
||||
irq_vsync::s#0 = 0
|
||||
@ -238,7 +238,7 @@ constant word* SINY[SINY_LEN] = kickasm {{ .fillword 256, 208+208*sin(i*2*PI/SI
|
||||
constant const byte SINY_LEN = $fb
|
||||
constant byte SIZEOF_STRUCT_VERA_SPRITE = 8
|
||||
constant byte SIZEOF_WORD = 2
|
||||
volatile struct VERA_SPRITE SPRITE_ATTR loadstore = { ADDR: (word)<SPRITE_PIXELS_VRAM/$20|VERA_SPRITE_8BPP, X: (word)$140-$20, Y: (word)$f0-$20, CTRL1: $c, CTRL2: $f0 }
|
||||
volatile struct VERA_SPRITE SPRITE_ATTR loadstore = { ADDR: _word0_SPRITE_PIXELS_VRAM/$20|VERA_SPRITE_8BPP, X: (word)$140-$20, Y: (word)$f0-$20, CTRL1: $c, CTRL2: $f0 }
|
||||
constant byte* SPRITE_PIXELS[$40*$40+$200] = kickasm {{ .var pic = LoadPicture("tut.png")
|
||||
// palette: rgb->idx
|
||||
.var palette = Hashtable()
|
||||
@ -337,7 +337,7 @@ byte irq_vsync::s#5
|
||||
byte irq_vsync::s#6
|
||||
byte irq_vsync::s#7
|
||||
byte irq_vsync::s#8
|
||||
constant const byte irq_vsync::vram_sprite_attr_bank = (byte)>VERA_SPRITE_ATTR
|
||||
constant const byte irq_vsync::vram_sprite_attr_bank = _byte2_VERA_SPRITE_ATTR
|
||||
byte* irq_vsync::vram_sprite_pos
|
||||
byte* irq_vsync::vram_sprite_pos#0
|
||||
byte* irq_vsync::vram_sprite_pos#1
|
||||
@ -407,7 +407,6 @@ void* memcpy_to_vram::vdest#4
|
||||
volatile word sin_idx_x loadstore
|
||||
volatile word sin_idx_y loadstore
|
||||
|
||||
Adding number conversion cast (unumber) <SPRITE_PIXELS_VRAM/$20 in
|
||||
Adding number conversion cast (unumber) $20 in
|
||||
Adding number conversion cast (unumber) $40*$40 in memcpy_to_vram::num#0 = $40*$40
|
||||
Adding number conversion cast (unumber) $40*$40 in memcpy_to_vram::src#1 = (void*)SPRITE_PIXELS+$40*$40
|
||||
@ -417,7 +416,7 @@ Adding number conversion cast (unumber) $a in *((word*)&SPRITE_ATTR+OFFSET_STRUC
|
||||
Adding number conversion cast (unumber) $a in *((word*)&SPRITE_ATTR+OFFSET_STRUCT_VERA_SPRITE_Y) = *((word*)&SPRITE_ATTR+OFFSET_STRUCT_VERA_SPRITE_Y) + $a
|
||||
Adding number conversion cast (unumber) $ffff in irq_vsync::$2 = sin_idx_y == $ffff
|
||||
Adding number conversion cast (unumber) 0 in sin_idx_x = 0
|
||||
Adding number conversion cast (unumber) 2 in irq_vsync::vram_sprite_pos#0 = (byte*)<VERA_SPRITE_ATTR+2
|
||||
Adding number conversion cast (unumber) 2 in irq_vsync::vram_sprite_pos#0 = (byte*)_word0_VERA_SPRITE_ATTR+2
|
||||
Adding number conversion cast (unumber) SINY_LEN-1 in sin_idx_y = SINY_LEN-1
|
||||
Adding number conversion cast (unumber) 1 in sin_idx_y = ((unumber)) SINY_LEN-1
|
||||
Adding number conversion cast (unumber) $20 in irq_vsync::$4 = irq_vsync::s#2 < $20
|
||||
@ -442,7 +441,6 @@ Simplifying constant pointer cast (byte*) 40742
|
||||
Simplifying constant pointer cast (byte*) 40743
|
||||
Simplifying constant pointer cast (byte*) 40745
|
||||
Simplifying constant pointer cast (void()**) 788
|
||||
Simplifying constant integer cast <SPRITE_PIXELS_VRAM/(unumber)$20
|
||||
Simplifying constant integer cast $20
|
||||
Simplifying constant integer cast $200
|
||||
Simplifying constant integer cast $20
|
||||
@ -513,21 +511,21 @@ Simple Condition irq_vsync::$10 [82] if(irq_vsync::i_y#1<SINY_LEN) goto irq_vsyn
|
||||
Successful SSA optimization Pass2ConditionalJumpSimplification
|
||||
Constant right-side identified [20] memcpy_to_vram::num#0 = (unumber)$40*$40
|
||||
Successful SSA optimization Pass2ConstantRValueConsolidation
|
||||
Constant memcpy_to_vram::vbank#0 = (byte)>SPRITE_PIXELS_VRAM
|
||||
Constant memcpy_to_vram::vdest#0 = (void*)(byte*)<SPRITE_PIXELS_VRAM
|
||||
Constant memcpy_to_vram::vbank#0 = _byte2_SPRITE_PIXELS_VRAM
|
||||
Constant memcpy_to_vram::vdest#0 = (void*)(byte*)_word0_SPRITE_PIXELS_VRAM
|
||||
Constant memcpy_to_vram::src#0 = (void*)SPRITE_PIXELS
|
||||
Constant memcpy_to_vram::num#0 = (unumber)$40*$40
|
||||
Constant memcpy_to_vram::vbank#1 = (byte)>VERA_PALETTE
|
||||
Constant memcpy_to_vram::vdest#1 = (void*)(byte*)<VERA_PALETTE
|
||||
Constant memcpy_to_vram::vbank#1 = _byte2_VERA_PALETTE
|
||||
Constant memcpy_to_vram::vdest#1 = (void*)(byte*)_word0_VERA_PALETTE
|
||||
Constant memcpy_to_vram::src#1 = (void*)SPRITE_PIXELS+(word)$40*$40
|
||||
Constant memcpy_to_vram::num#1 = $200
|
||||
Constant main::vram_sprite_attr#0 = (byte*)<VERA_SPRITE_ATTR
|
||||
Constant main::vram_sprite_attr#0 = (byte*)_word0_VERA_SPRITE_ATTR
|
||||
Constant main::s#0 = 0
|
||||
Constant memcpy_to_vram::num#2 = SIZEOF_STRUCT_VERA_SPRITE
|
||||
Constant memcpy_to_vram::vbank#2 = (byte)>VERA_SPRITE_ATTR
|
||||
Constant memcpy_to_vram::vbank#2 = (byte)_word1_VERA_SPRITE_ATTR
|
||||
Constant memcpy_to_vram::src#2 = (void*)&SPRITE_ATTR
|
||||
Constant main::$7 = SIZEOF_STRUCT_VERA_SPRITE
|
||||
Constant irq_vsync::vram_sprite_pos#0 = (byte*)<VERA_SPRITE_ATTR+2
|
||||
Constant irq_vsync::vram_sprite_pos#0 = (byte*)_word0_VERA_SPRITE_ATTR+2
|
||||
Constant irq_vsync::s#0 = 0
|
||||
Constant memcpy_to_vram::vbank#3 = irq_vsync::vram_sprite_attr_bank
|
||||
Constant memcpy_to_vram::src#3 = (void*)&SPRITE_ATTR+2
|
||||
@ -537,10 +535,8 @@ Successful SSA optimization Pass2ConstantIdentification
|
||||
De-inlining pointer[w] to *(pointer+w) [65] *((word*)&SPRITE_ATTR+OFFSET_STRUCT_VERA_SPRITE_X) = SINX[irq_vsync::$11]
|
||||
De-inlining pointer[w] to *(pointer+w) [67] *((word*)&SPRITE_ATTR+OFFSET_STRUCT_VERA_SPRITE_Y) = SINY[irq_vsync::$12]
|
||||
Successful SSA optimization Pass2DeInlineWordDerefIdx
|
||||
Simplifying constant evaluating to zero (byte)>SPRITE_PIXELS_VRAM in
|
||||
Simplifying constant evaluating to zero _byte2_SPRITE_PIXELS_VRAM in
|
||||
Successful SSA optimization PassNSimplifyConstantZero
|
||||
Simplifying constant integer cast <SPRITE_PIXELS_VRAM/$20|VERA_SPRITE_8BPP
|
||||
Successful SSA optimization PassNCastSimplification
|
||||
Inlining Noop Cast [8] memcpy_to_vram::$5 = (byte*)memcpy_to_vram::src#4 keeping memcpy_to_vram::src#4
|
||||
Inlining Noop Cast [10] memcpy_to_vram::s#0 = (byte*)memcpy_to_vram::src#4 keeping memcpy_to_vram::src#4
|
||||
Successful SSA optimization Pass2NopCastInlining
|
||||
@ -568,18 +564,18 @@ Inlining constant with var siblings irq_vsync::s#0
|
||||
Constant inlined memcpy_to_vram::num#0 = (word)$40*$40
|
||||
Constant inlined main::s#0 = 0
|
||||
Constant inlined memcpy_to_vram::src#3 = (void*)&SPRITE_ATTR+2
|
||||
Constant inlined memcpy_to_vram::vdest#0 = (void*)(byte*)<SPRITE_PIXELS_VRAM
|
||||
Constant inlined memcpy_to_vram::vdest#1 = (void*)(byte*)<VERA_PALETTE
|
||||
Constant inlined irq_vsync::vram_sprite_pos#0 = (byte*)<VERA_SPRITE_ATTR+2
|
||||
Constant inlined memcpy_to_vram::vdest#0 = (void*)(byte*)_word0_SPRITE_PIXELS_VRAM
|
||||
Constant inlined memcpy_to_vram::vdest#1 = (void*)(byte*)_word0_VERA_PALETTE
|
||||
Constant inlined irq_vsync::vram_sprite_pos#0 = (byte*)_word0_VERA_SPRITE_ATTR+2
|
||||
Constant inlined irq_vsync::s#0 = 0
|
||||
Constant inlined irq_vsync::$6 = SIZEOF_STRUCT_VERA_SPRITE
|
||||
Constant inlined main::vram_sprite_attr#0 = (byte*)<VERA_SPRITE_ATTR
|
||||
Constant inlined main::vram_sprite_attr#0 = (byte*)_word0_VERA_SPRITE_ATTR
|
||||
Constant inlined memcpy_to_vram::src#0 = (void*)SPRITE_PIXELS
|
||||
Constant inlined memcpy_to_vram::src#1 = (void*)SPRITE_PIXELS+(word)$40*$40
|
||||
Constant inlined memcpy_to_vram::vbank#0 = 0
|
||||
Constant inlined memcpy_to_vram::src#2 = (void*)&SPRITE_ATTR
|
||||
Constant inlined memcpy_to_vram::vbank#1 = (byte)>VERA_PALETTE
|
||||
Constant inlined memcpy_to_vram::vbank#2 = (byte)>VERA_SPRITE_ATTR
|
||||
Constant inlined memcpy_to_vram::vbank#1 = _byte2_VERA_PALETTE
|
||||
Constant inlined memcpy_to_vram::vbank#2 = (byte)_word1_VERA_SPRITE_ATTR
|
||||
Constant inlined memcpy_to_vram::num#3 = 4
|
||||
Constant inlined memcpy_to_vram::num#2 = SIZEOF_STRUCT_VERA_SPRITE
|
||||
Constant inlined memcpy_to_vram::vbank#3 = irq_vsync::vram_sprite_attr_bank
|
||||
@ -680,7 +676,7 @@ irq_vsync::@2: scope:[irq_vsync] from irq_vsync::@1 irq_vsync::@4
|
||||
[13] irq_vsync::i_y#0 = sin_idx_y
|
||||
to:irq_vsync::@5
|
||||
irq_vsync::@5: scope:[irq_vsync] from irq_vsync::@2 irq_vsync::@9
|
||||
[14] irq_vsync::vram_sprite_pos#2 = phi( irq_vsync::@2/(byte*)<VERA_SPRITE_ATTR+2, irq_vsync::@9/irq_vsync::vram_sprite_pos#1 )
|
||||
[14] irq_vsync::vram_sprite_pos#2 = phi( irq_vsync::@2/(byte*)_word0_VERA_SPRITE_ATTR+2, irq_vsync::@9/irq_vsync::vram_sprite_pos#1 )
|
||||
[14] irq_vsync::i_y#3 = phi( irq_vsync::@2/irq_vsync::i_y#0, irq_vsync::@9/irq_vsync::i_y#9 )
|
||||
[14] irq_vsync::i_x#3 = phi( irq_vsync::@2/irq_vsync::i_x#0, irq_vsync::@9/irq_vsync::i_x#7 )
|
||||
[14] irq_vsync::s#2 = phi( irq_vsync::@2/0, irq_vsync::@9/irq_vsync::s#1 )
|
||||
@ -733,7 +729,7 @@ main::@5: scope:[main] from main
|
||||
[39] call memcpy_to_vram
|
||||
to:main::@1
|
||||
main::@1: scope:[main] from main::@5 main::@6
|
||||
[40] main::vram_sprite_attr#2 = phi( main::@5/(byte*)<VERA_SPRITE_ATTR, main::@6/main::vram_sprite_attr#1 )
|
||||
[40] main::vram_sprite_attr#2 = phi( main::@5/(byte*)_word0_VERA_SPRITE_ATTR, main::@6/main::vram_sprite_attr#1 )
|
||||
[40] main::s#2 = phi( main::@5/0, main::@6/main::s#1 )
|
||||
[41] if(main::s#2<$20) goto main::@2
|
||||
to:main::@3
|
||||
@ -769,8 +765,8 @@ void memcpy_to_vram(byte memcpy_to_vram::vbank , void* memcpy_to_vram::vdest , v
|
||||
memcpy_to_vram: scope:[memcpy_to_vram] from irq_vsync::@6 main main::@2 main::@5
|
||||
[55] memcpy_to_vram::num#4 = phi( irq_vsync::@6/4, main/(word)$40*$40, main::@2/SIZEOF_STRUCT_VERA_SPRITE, main::@5/$200 )
|
||||
[55] memcpy_to_vram::src#4 = phi( irq_vsync::@6/(void*)&SPRITE_ATTR+2, main/(void*)SPRITE_PIXELS, main::@2/(void*)&SPRITE_ATTR, main::@5/(void*)SPRITE_PIXELS+(word)$40*$40 )
|
||||
[55] memcpy_to_vram::vbank#4 = phi( irq_vsync::@6/irq_vsync::vram_sprite_attr_bank, main/0, main::@2/(byte)>VERA_SPRITE_ATTR, main::@5/(byte)>VERA_PALETTE )
|
||||
[55] memcpy_to_vram::vdest#4 = phi( irq_vsync::@6/memcpy_to_vram::vdest#3, main/(void*)(byte*)<SPRITE_PIXELS_VRAM, main::@2/memcpy_to_vram::vdest#2, main::@5/(void*)(byte*)<VERA_PALETTE )
|
||||
[55] memcpy_to_vram::vbank#4 = phi( irq_vsync::@6/irq_vsync::vram_sprite_attr_bank, main/0, main::@2/(byte)_word1_VERA_SPRITE_ATTR, main::@5/_byte2_VERA_PALETTE )
|
||||
[55] memcpy_to_vram::vdest#4 = phi( irq_vsync::@6/memcpy_to_vram::vdest#3, main/(void*)(byte*)_word0_SPRITE_PIXELS_VRAM, main::@2/memcpy_to_vram::vdest#2, main::@5/(void*)(byte*)_word0_VERA_PALETTE )
|
||||
[56] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL
|
||||
[57] memcpy_to_vram::$0 = < memcpy_to_vram::vdest#4
|
||||
[58] *VERA_ADDRX_L = memcpy_to_vram::$0
|
||||
@ -795,7 +791,7 @@ memcpy_to_vram::@2: scope:[memcpy_to_vram] from memcpy_to_vram::@1
|
||||
|
||||
|
||||
VARIABLE REGISTER WEIGHTS
|
||||
volatile struct VERA_SPRITE SPRITE_ATTR loadstore = { ADDR: <SPRITE_PIXELS_VRAM/$20|VERA_SPRITE_8BPP, X: $140-$20, Y: (word)$f0-$20, CTRL1: $c, CTRL2: $f0 }
|
||||
volatile struct VERA_SPRITE SPRITE_ATTR loadstore = { ADDR: _word0_SPRITE_PIXELS_VRAM/$20|VERA_SPRITE_8BPP, X: $140-$20, Y: (word)$f0-$20, CTRL1: $c, CTRL2: $f0 }
|
||||
void __start()
|
||||
__interrupt(rom_sys_cx16) void irq_vsync()
|
||||
word~ irq_vsync::$11 22.0
|
||||
@ -1175,7 +1171,7 @@ __start: {
|
||||
// irq_vsync
|
||||
// VSYNC Interrupt Routine
|
||||
irq_vsync: {
|
||||
.const vram_sprite_attr_bank = VERA_SPRITE_ATTR>>$10
|
||||
.const vram_sprite_attr_bank = <VERA_SPRITE_ATTR>>$10
|
||||
.label __11 = $16
|
||||
.label __12 = $18
|
||||
.label i_x = 3
|
||||
@ -1244,7 +1240,7 @@ irq_vsync: {
|
||||
sta.z i_y+1
|
||||
// [14] phi from irq_vsync::@2 to irq_vsync::@5 [phi:irq_vsync::@2->irq_vsync::@5]
|
||||
__b5_from___b2:
|
||||
// [14] phi irq_vsync::vram_sprite_pos#2 = (byte*)<VERA_SPRITE_ATTR+2 [phi:irq_vsync::@2->irq_vsync::@5#0] -- pbuz1=pbuc1
|
||||
// [14] phi irq_vsync::vram_sprite_pos#2 = (byte*)_word0_VERA_SPRITE_ATTR+2 [phi:irq_vsync::@2->irq_vsync::@5#0] -- pbuz1=pbuc1
|
||||
lda #<VERA_SPRITE_ATTR+2&$ffff
|
||||
sta.z vram_sprite_pos
|
||||
lda #>VERA_SPRITE_ATTR+2&$ffff
|
||||
@ -1451,7 +1447,7 @@ main: {
|
||||
sta.z memcpy_to_vram.src+1
|
||||
// [55] phi memcpy_to_vram::vbank#4 = 0 [phi:main->memcpy_to_vram#2] -- vbuxx=vbuc1
|
||||
ldx #0
|
||||
// [55] phi memcpy_to_vram::vdest#4 = (void*)(byte*)<SPRITE_PIXELS_VRAM [phi:main->memcpy_to_vram#3] -- pvoz1=pvoc1
|
||||
// [55] phi memcpy_to_vram::vdest#4 = (void*)(byte*)_word0_SPRITE_PIXELS_VRAM [phi:main->memcpy_to_vram#3] -- pvoz1=pvoc1
|
||||
lda #<SPRITE_PIXELS_VRAM&$ffff
|
||||
sta.z memcpy_to_vram.vdest
|
||||
lda #>SPRITE_PIXELS_VRAM&$ffff
|
||||
@ -1476,9 +1472,9 @@ main: {
|
||||
sta.z memcpy_to_vram.src
|
||||
lda #>SPRITE_PIXELS+$40*$40
|
||||
sta.z memcpy_to_vram.src+1
|
||||
// [55] phi memcpy_to_vram::vbank#4 = (byte)>VERA_PALETTE [phi:main::@5->memcpy_to_vram#2] -- vbuxx=vbuc1
|
||||
ldx #VERA_PALETTE>>$10
|
||||
// [55] phi memcpy_to_vram::vdest#4 = (void*)(byte*)<VERA_PALETTE [phi:main::@5->memcpy_to_vram#3] -- pvoz1=pvoc1
|
||||
// [55] phi memcpy_to_vram::vbank#4 = _byte2_VERA_PALETTE [phi:main::@5->memcpy_to_vram#2] -- vbuxx=vbuc1
|
||||
ldx #<VERA_PALETTE>>$10
|
||||
// [55] phi memcpy_to_vram::vdest#4 = (void*)(byte*)_word0_VERA_PALETTE [phi:main::@5->memcpy_to_vram#3] -- pvoz1=pvoc1
|
||||
lda #<VERA_PALETTE&$ffff
|
||||
sta.z memcpy_to_vram.vdest
|
||||
lda #>VERA_PALETTE&$ffff
|
||||
@ -1486,7 +1482,7 @@ main: {
|
||||
jsr memcpy_to_vram
|
||||
// [40] phi from main::@5 to main::@1 [phi:main::@5->main::@1]
|
||||
__b1_from___b5:
|
||||
// [40] phi main::vram_sprite_attr#2 = (byte*)<VERA_SPRITE_ATTR [phi:main::@5->main::@1#0] -- pbuz1=pbuc1
|
||||
// [40] phi main::vram_sprite_attr#2 = (byte*)_word0_VERA_SPRITE_ATTR [phi:main::@5->main::@1#0] -- pbuz1=pbuc1
|
||||
lda #<VERA_SPRITE_ATTR&$ffff
|
||||
sta.z vram_sprite_attr
|
||||
lda #>VERA_SPRITE_ATTR&$ffff
|
||||
@ -1575,7 +1571,7 @@ main: {
|
||||
sta.z memcpy_to_vram.src
|
||||
lda #>SPRITE_ATTR
|
||||
sta.z memcpy_to_vram.src+1
|
||||
// [55] phi memcpy_to_vram::vbank#4 = (byte)>VERA_SPRITE_ATTR [phi:main::@2->memcpy_to_vram#2] -- vbuxx=vbuc1
|
||||
// [55] phi memcpy_to_vram::vbank#4 = (byte)_word1_VERA_SPRITE_ATTR [phi:main::@2->memcpy_to_vram#2] -- vbuxx=vbuc1
|
||||
ldx #VERA_SPRITE_ATTR>>$10
|
||||
// [55] phi memcpy_to_vram::vdest#4 = memcpy_to_vram::vdest#2 [phi:main::@2->memcpy_to_vram#3] -- register_copy
|
||||
jsr memcpy_to_vram
|
||||
@ -1617,12 +1613,12 @@ memcpy_to_vram: {
|
||||
lda #VERA_ADDRSEL^$ff
|
||||
and VERA_CTRL
|
||||
sta VERA_CTRL
|
||||
// [57] memcpy_to_vram::$0 = < memcpy_to_vram::vdest#4 -- vbuaa=_lo_pvoz1
|
||||
// [57] memcpy_to_vram::$0 = < memcpy_to_vram::vdest#4 -- vbuaa=_byte0_pvoz1
|
||||
lda.z vdest
|
||||
// [58] *VERA_ADDRX_L = memcpy_to_vram::$0 -- _deref_pbuc1=vbuaa
|
||||
// Set address
|
||||
sta VERA_ADDRX_L
|
||||
// [59] memcpy_to_vram::$1 = > memcpy_to_vram::vdest#4 -- vbuaa=_hi_pvoz1
|
||||
// [59] memcpy_to_vram::$1 = > memcpy_to_vram::vdest#4 -- vbuaa=_byte1_pvoz1
|
||||
lda.z vdest+1
|
||||
// [60] *VERA_ADDRX_M = memcpy_to_vram::$1 -- _deref_pbuc1=vbuaa
|
||||
sta VERA_ADDRX_M
|
||||
@ -1805,7 +1801,7 @@ constant word* SINY[SINY_LEN] = kickasm {{ .fillword 256, 208+208*sin(i*2*PI/SI
|
||||
}}
|
||||
constant const byte SINY_LEN = $fb
|
||||
constant byte SIZEOF_STRUCT_VERA_SPRITE = 8
|
||||
volatile struct VERA_SPRITE SPRITE_ATTR loadstore mem[8] = { ADDR: <SPRITE_PIXELS_VRAM/$20|VERA_SPRITE_8BPP, X: $140-$20, Y: (word)$f0-$20, CTRL1: $c, CTRL2: $f0 }
|
||||
volatile struct VERA_SPRITE SPRITE_ATTR loadstore mem[8] = { ADDR: _word0_SPRITE_PIXELS_VRAM/$20|VERA_SPRITE_8BPP, X: $140-$20, Y: (word)$f0-$20, CTRL1: $c, CTRL2: $f0 }
|
||||
constant byte* SPRITE_PIXELS[$40*$40+$200] = kickasm {{ .var pic = LoadPicture("tut.png")
|
||||
// palette: rgb->idx
|
||||
.var palette = Hashtable()
|
||||
@ -1879,7 +1875,7 @@ word irq_vsync::i_y#9 i_y zp[2]:5 16.5
|
||||
byte irq_vsync::s
|
||||
byte irq_vsync::s#1 s zp[1]:2 22.0
|
||||
byte irq_vsync::s#2 s zp[1]:2 1.736842105263158
|
||||
constant const byte irq_vsync::vram_sprite_attr_bank = (byte)>VERA_SPRITE_ATTR
|
||||
constant const byte irq_vsync::vram_sprite_attr_bank = _byte2_VERA_SPRITE_ATTR
|
||||
byte* irq_vsync::vram_sprite_pos
|
||||
byte* irq_vsync::vram_sprite_pos#1 vram_sprite_pos zp[2]:7 2.2
|
||||
byte* irq_vsync::vram_sprite_pos#2 vram_sprite_pos zp[2]:7 2.2
|
||||
@ -2049,7 +2045,7 @@ __start: {
|
||||
// irq_vsync
|
||||
// VSYNC Interrupt Routine
|
||||
irq_vsync: {
|
||||
.const vram_sprite_attr_bank = VERA_SPRITE_ATTR>>$10
|
||||
.const vram_sprite_attr_bank = <VERA_SPRITE_ATTR>>$10
|
||||
.label __11 = $16
|
||||
.label __12 = $18
|
||||
.label i_x = 3
|
||||
@ -2116,7 +2112,7 @@ irq_vsync: {
|
||||
lda.z sin_idx_y+1
|
||||
sta.z i_y+1
|
||||
// [14] phi from irq_vsync::@2 to irq_vsync::@5 [phi:irq_vsync::@2->irq_vsync::@5]
|
||||
// [14] phi irq_vsync::vram_sprite_pos#2 = (byte*)<VERA_SPRITE_ATTR+2 [phi:irq_vsync::@2->irq_vsync::@5#0] -- pbuz1=pbuc1
|
||||
// [14] phi irq_vsync::vram_sprite_pos#2 = (byte*)_word0_VERA_SPRITE_ATTR+2 [phi:irq_vsync::@2->irq_vsync::@5#0] -- pbuz1=pbuc1
|
||||
lda #<VERA_SPRITE_ATTR+2&$ffff
|
||||
sta.z vram_sprite_pos
|
||||
lda #>VERA_SPRITE_ATTR+2&$ffff
|
||||
@ -2302,7 +2298,7 @@ main: {
|
||||
// Copy 8* sprite attributes to VRAM
|
||||
.label vram_sprite_attr = $a
|
||||
.label s = 9
|
||||
// memcpy_to_vram((char)>SPRITE_PIXELS_VRAM, (char*)<SPRITE_PIXELS_VRAM, SPRITE_PIXELS, 64*64)
|
||||
// memcpy_to_vram(BYTE2(SPRITE_PIXELS_VRAM), (char*)WORD0(SPRITE_PIXELS_VRAM), SPRITE_PIXELS, 64*64)
|
||||
// [37] call memcpy_to_vram
|
||||
// Copy sprite data to VRAM
|
||||
// [55] phi from main to memcpy_to_vram [phi:main->memcpy_to_vram]
|
||||
@ -2318,7 +2314,7 @@ main: {
|
||||
sta.z memcpy_to_vram.src+1
|
||||
// [55] phi memcpy_to_vram::vbank#4 = 0 [phi:main->memcpy_to_vram#2] -- vbuxx=vbuc1
|
||||
ldx #0
|
||||
// [55] phi memcpy_to_vram::vdest#4 = (void*)(byte*)<SPRITE_PIXELS_VRAM [phi:main->memcpy_to_vram#3] -- pvoz1=pvoc1
|
||||
// [55] phi memcpy_to_vram::vdest#4 = (void*)(byte*)_word0_SPRITE_PIXELS_VRAM [phi:main->memcpy_to_vram#3] -- pvoz1=pvoc1
|
||||
lda #<SPRITE_PIXELS_VRAM&$ffff
|
||||
sta.z memcpy_to_vram.vdest
|
||||
lda #>SPRITE_PIXELS_VRAM&$ffff
|
||||
@ -2326,7 +2322,7 @@ main: {
|
||||
jsr memcpy_to_vram
|
||||
// [38] phi from main to main::@5 [phi:main->main::@5]
|
||||
// main::@5
|
||||
// memcpy_to_vram((char)>VERA_PALETTE, (char*)<VERA_PALETTE, SPRITE_PIXELS+64*64, 0x200)
|
||||
// memcpy_to_vram(BYTE2(VERA_PALETTE), (char*)WORD0(VERA_PALETTE), SPRITE_PIXELS+64*64, 0x200)
|
||||
// [39] call memcpy_to_vram
|
||||
// Copy sprite palette to VRAM
|
||||
// [55] phi from main::@5 to memcpy_to_vram [phi:main::@5->memcpy_to_vram]
|
||||
@ -2340,16 +2336,16 @@ main: {
|
||||
sta.z memcpy_to_vram.src
|
||||
lda #>SPRITE_PIXELS+$40*$40
|
||||
sta.z memcpy_to_vram.src+1
|
||||
// [55] phi memcpy_to_vram::vbank#4 = (byte)>VERA_PALETTE [phi:main::@5->memcpy_to_vram#2] -- vbuxx=vbuc1
|
||||
ldx #VERA_PALETTE>>$10
|
||||
// [55] phi memcpy_to_vram::vdest#4 = (void*)(byte*)<VERA_PALETTE [phi:main::@5->memcpy_to_vram#3] -- pvoz1=pvoc1
|
||||
// [55] phi memcpy_to_vram::vbank#4 = _byte2_VERA_PALETTE [phi:main::@5->memcpy_to_vram#2] -- vbuxx=vbuc1
|
||||
ldx #<VERA_PALETTE>>$10
|
||||
// [55] phi memcpy_to_vram::vdest#4 = (void*)(byte*)_word0_VERA_PALETTE [phi:main::@5->memcpy_to_vram#3] -- pvoz1=pvoc1
|
||||
lda #<VERA_PALETTE&$ffff
|
||||
sta.z memcpy_to_vram.vdest
|
||||
lda #>VERA_PALETTE&$ffff
|
||||
sta.z memcpy_to_vram.vdest+1
|
||||
jsr memcpy_to_vram
|
||||
// [40] phi from main::@5 to main::@1 [phi:main::@5->main::@1]
|
||||
// [40] phi main::vram_sprite_attr#2 = (byte*)<VERA_SPRITE_ATTR [phi:main::@5->main::@1#0] -- pbuz1=pbuc1
|
||||
// [40] phi main::vram_sprite_attr#2 = (byte*)_word0_VERA_SPRITE_ATTR [phi:main::@5->main::@1#0] -- pbuz1=pbuc1
|
||||
lda #<VERA_SPRITE_ATTR&$ffff
|
||||
sta.z vram_sprite_attr
|
||||
lda #>VERA_SPRITE_ATTR&$ffff
|
||||
@ -2419,7 +2415,7 @@ main: {
|
||||
lda #>$a
|
||||
adc SPRITE_ATTR+OFFSET_STRUCT_VERA_SPRITE_Y+1
|
||||
sta SPRITE_ATTR+OFFSET_STRUCT_VERA_SPRITE_Y+1
|
||||
// memcpy_to_vram((char)>VERA_SPRITE_ATTR, vram_sprite_attr, &SPRITE_ATTR, sizeof(SPRITE_ATTR))
|
||||
// memcpy_to_vram((char)WORD1(VERA_SPRITE_ATTR), vram_sprite_attr, &SPRITE_ATTR, sizeof(SPRITE_ATTR))
|
||||
// [51] memcpy_to_vram::vdest#2 = (void*)main::vram_sprite_attr#2 -- pvoz1=pvoz2
|
||||
lda.z vram_sprite_attr
|
||||
sta.z memcpy_to_vram.vdest
|
||||
@ -2437,7 +2433,7 @@ main: {
|
||||
sta.z memcpy_to_vram.src
|
||||
lda #>SPRITE_ATTR
|
||||
sta.z memcpy_to_vram.src+1
|
||||
// [55] phi memcpy_to_vram::vbank#4 = (byte)>VERA_SPRITE_ATTR [phi:main::@2->memcpy_to_vram#2] -- vbuxx=vbuc1
|
||||
// [55] phi memcpy_to_vram::vbank#4 = (byte)_word1_VERA_SPRITE_ATTR [phi:main::@2->memcpy_to_vram#2] -- vbuxx=vbuc1
|
||||
ldx #VERA_SPRITE_ATTR>>$10
|
||||
// [55] phi memcpy_to_vram::vdest#4 = memcpy_to_vram::vdest#2 [phi:main::@2->memcpy_to_vram#3] -- register_copy
|
||||
jsr memcpy_to_vram
|
||||
@ -2479,17 +2475,17 @@ memcpy_to_vram: {
|
||||
lda #VERA_ADDRSEL^$ff
|
||||
and VERA_CTRL
|
||||
sta VERA_CTRL
|
||||
// <vdest
|
||||
// [57] memcpy_to_vram::$0 = < memcpy_to_vram::vdest#4 -- vbuaa=_lo_pvoz1
|
||||
// BYTE0(vdest)
|
||||
// [57] memcpy_to_vram::$0 = < memcpy_to_vram::vdest#4 -- vbuaa=_byte0_pvoz1
|
||||
lda.z vdest
|
||||
// *VERA_ADDRX_L = <vdest
|
||||
// *VERA_ADDRX_L = BYTE0(vdest)
|
||||
// [58] *VERA_ADDRX_L = memcpy_to_vram::$0 -- _deref_pbuc1=vbuaa
|
||||
// Set address
|
||||
sta VERA_ADDRX_L
|
||||
// >vdest
|
||||
// [59] memcpy_to_vram::$1 = > memcpy_to_vram::vdest#4 -- vbuaa=_hi_pvoz1
|
||||
// BYTE1(vdest)
|
||||
// [59] memcpy_to_vram::$1 = > memcpy_to_vram::vdest#4 -- vbuaa=_byte1_pvoz1
|
||||
lda.z vdest+1
|
||||
// *VERA_ADDRX_M = >vdest
|
||||
// *VERA_ADDRX_M = BYTE1(vdest)
|
||||
// [60] *VERA_ADDRX_M = memcpy_to_vram::$1 -- _deref_pbuc1=vbuaa
|
||||
sta VERA_ADDRX_M
|
||||
// VERA_INC_1 | vbank
|
||||
|
@ -8,7 +8,7 @@ constant word* SINY[SINY_LEN] = kickasm {{ .fillword 256, 208+208*sin(i*2*PI/SI
|
||||
}}
|
||||
constant const byte SINY_LEN = $fb
|
||||
constant byte SIZEOF_STRUCT_VERA_SPRITE = 8
|
||||
volatile struct VERA_SPRITE SPRITE_ATTR loadstore mem[8] = { ADDR: <SPRITE_PIXELS_VRAM/$20|VERA_SPRITE_8BPP, X: $140-$20, Y: (word)$f0-$20, CTRL1: $c, CTRL2: $f0 }
|
||||
volatile struct VERA_SPRITE SPRITE_ATTR loadstore mem[8] = { ADDR: _word0_SPRITE_PIXELS_VRAM/$20|VERA_SPRITE_8BPP, X: $140-$20, Y: (word)$f0-$20, CTRL1: $c, CTRL2: $f0 }
|
||||
constant byte* SPRITE_PIXELS[$40*$40+$200] = kickasm {{ .var pic = LoadPicture("tut.png")
|
||||
// palette: rgb->idx
|
||||
.var palette = Hashtable()
|
||||
@ -82,7 +82,7 @@ word irq_vsync::i_y#9 i_y zp[2]:5 16.5
|
||||
byte irq_vsync::s
|
||||
byte irq_vsync::s#1 s zp[1]:2 22.0
|
||||
byte irq_vsync::s#2 s zp[1]:2 1.736842105263158
|
||||
constant const byte irq_vsync::vram_sprite_attr_bank = (byte)>VERA_SPRITE_ATTR
|
||||
constant const byte irq_vsync::vram_sprite_attr_bank = _byte2_VERA_SPRITE_ATTR
|
||||
byte* irq_vsync::vram_sprite_pos
|
||||
byte* irq_vsync::vram_sprite_pos#1 vram_sprite_pos zp[2]:7 2.2
|
||||
byte* irq_vsync::vram_sprite_pos#2 vram_sprite_pos zp[2]:7 2.2
|
||||
|
@ -96,11 +96,11 @@ memcpy_to_vram: {
|
||||
lda #VERA_ADDRSEL^$ff
|
||||
and VERA_CTRL
|
||||
sta VERA_CTRL
|
||||
// *VERA_ADDRX_L = <vdest
|
||||
// *VERA_ADDRX_L = BYTE0(vdest)
|
||||
// Set address
|
||||
lda #0
|
||||
sta VERA_ADDRX_L
|
||||
// *VERA_ADDRX_M = >vdest
|
||||
// *VERA_ADDRX_M = BYTE1(vdest)
|
||||
lda #>vdest
|
||||
sta VERA_ADDRX_M
|
||||
// *VERA_ADDRX_H = VERA_INC_1 | vbank
|
||||
@ -145,14 +145,14 @@ vpoke: {
|
||||
lda #VERA_ADDRSEL^$ff
|
||||
and VERA_CTRL
|
||||
sta VERA_CTRL
|
||||
// <vaddr
|
||||
// BYTE0(vaddr)
|
||||
lda.z vaddr
|
||||
// *VERA_ADDRX_L = <vaddr
|
||||
// *VERA_ADDRX_L = BYTE0(vaddr)
|
||||
// Set address
|
||||
sta VERA_ADDRX_L
|
||||
// >vaddr
|
||||
// BYTE1(vaddr)
|
||||
lda.z vaddr+1
|
||||
// *VERA_ADDRX_M = >vaddr
|
||||
// *VERA_ADDRX_M = BYTE1(vaddr)
|
||||
sta VERA_ADDRX_M
|
||||
// *VERA_ADDRX_H = VERA_INC_0 | vbank
|
||||
lda #0
|
||||
|
@ -712,12 +712,12 @@ vpoke: {
|
||||
lda #VERA_ADDRSEL^$ff
|
||||
and VERA_CTRL
|
||||
sta VERA_CTRL
|
||||
// [25] vpoke::$0 = < vpoke::vaddr#2 -- vbuaa=_lo_pbuz1
|
||||
// [25] vpoke::$0 = < vpoke::vaddr#2 -- vbuaa=_byte0_pbuz1
|
||||
lda.z vaddr
|
||||
// [26] *VERA_ADDRX_L = vpoke::$0 -- _deref_pbuc1=vbuaa
|
||||
// Set address
|
||||
sta VERA_ADDRX_L
|
||||
// [27] vpoke::$1 = > vpoke::vaddr#2 -- vbuaa=_hi_pbuz1
|
||||
// [27] vpoke::$1 = > vpoke::vaddr#2 -- vbuaa=_byte1_pbuz1
|
||||
lda.z vaddr+1
|
||||
// [28] *VERA_ADDRX_M = vpoke::$1 -- _deref_pbuc1=vbuaa
|
||||
sta VERA_ADDRX_M
|
||||
@ -951,12 +951,12 @@ memcpy_to_vram: {
|
||||
lda #VERA_ADDRSEL^$ff
|
||||
and VERA_CTRL
|
||||
sta VERA_CTRL
|
||||
// *VERA_ADDRX_L = <vdest
|
||||
// *VERA_ADDRX_L = BYTE0(vdest)
|
||||
// [15] *VERA_ADDRX_L = 0 -- _deref_pbuc1=vbuc2
|
||||
// Set address
|
||||
lda #0
|
||||
sta VERA_ADDRX_L
|
||||
// *VERA_ADDRX_M = >vdest
|
||||
// *VERA_ADDRX_M = BYTE1(vdest)
|
||||
// [16] *VERA_ADDRX_M = >memcpy_to_vram::vdest#0 -- _deref_pbuc1=vbuc2
|
||||
lda #>vdest
|
||||
sta VERA_ADDRX_M
|
||||
@ -1016,17 +1016,17 @@ vpoke: {
|
||||
lda #VERA_ADDRSEL^$ff
|
||||
and VERA_CTRL
|
||||
sta VERA_CTRL
|
||||
// <vaddr
|
||||
// [25] vpoke::$0 = < vpoke::vaddr#2 -- vbuaa=_lo_pbuz1
|
||||
// BYTE0(vaddr)
|
||||
// [25] vpoke::$0 = < vpoke::vaddr#2 -- vbuaa=_byte0_pbuz1
|
||||
lda.z vaddr
|
||||
// *VERA_ADDRX_L = <vaddr
|
||||
// *VERA_ADDRX_L = BYTE0(vaddr)
|
||||
// [26] *VERA_ADDRX_L = vpoke::$0 -- _deref_pbuc1=vbuaa
|
||||
// Set address
|
||||
sta VERA_ADDRX_L
|
||||
// >vaddr
|
||||
// [27] vpoke::$1 = > vpoke::vaddr#2 -- vbuaa=_hi_pbuz1
|
||||
// BYTE1(vaddr)
|
||||
// [27] vpoke::$1 = > vpoke::vaddr#2 -- vbuaa=_byte1_pbuz1
|
||||
lda.z vaddr+1
|
||||
// *VERA_ADDRX_M = >vaddr
|
||||
// *VERA_ADDRX_M = BYTE1(vaddr)
|
||||
// [28] *VERA_ADDRX_M = vpoke::$1 -- _deref_pbuc1=vbuaa
|
||||
sta VERA_ADDRX_M
|
||||
// *VERA_ADDRX_H = VERA_INC_0 | vbank
|
||||
|
@ -118,22 +118,22 @@
|
||||
// $0314 (RAM) IRQ vector - The vector used when the KERNAL serves IRQ interrupts
|
||||
.label KERNEL_IRQ = $314
|
||||
// Variable holding the screen width;
|
||||
.label conio_screen_width = $1e
|
||||
.label conio_screen_width = $20
|
||||
// Variable holding the screen height;
|
||||
.label conio_screen_height = $1f
|
||||
.label conio_screen_height = $21
|
||||
// Variable holding the screen layer on the VERA card with which conio interacts;
|
||||
.label conio_screen_layer = $20
|
||||
.label conio_screen_layer = $22
|
||||
// Variables holding the current map width and map height of the layer.
|
||||
.label conio_width = $21
|
||||
.label conio_height = $23
|
||||
.label conio_rowshift = $25
|
||||
.label conio_rowskip = $26
|
||||
.label conio_width = $23
|
||||
.label conio_height = $25
|
||||
.label conio_rowshift = $27
|
||||
.label conio_rowskip = $28
|
||||
// X sine index
|
||||
.label scroll_x = $28
|
||||
.label scroll_y = $2a
|
||||
.label delta_x = $2c
|
||||
.label delta_y = $2e
|
||||
.label speed = $30
|
||||
.label scroll_x = $2a
|
||||
.label scroll_y = $2c
|
||||
.label delta_x = $2e
|
||||
.label delta_y = $30
|
||||
.label speed = $32
|
||||
// The screen width
|
||||
// The screen height
|
||||
// The text screen base address, which is a 16:0 bit value in VERA VRAM.
|
||||
@ -148,8 +148,8 @@
|
||||
// based on the values of VERA_L0_MAPBASE or VERA_L1_MAPBASE, mapping the base address of the selected layer.
|
||||
// The function setscreenlayermapbase(layer,mapbase) allows to configure bit 16:9 of the
|
||||
// mapbase address of the time map in VRAM of the selected layer VERA_L0_MAPBASE or VERA_L1_MAPBASE.
|
||||
.label CONIO_SCREEN_TEXT = $3f
|
||||
.label CONIO_SCREEN_BANK = $3e
|
||||
.label CONIO_SCREEN_TEXT = $41
|
||||
.label CONIO_SCREEN_BANK = $40
|
||||
.segment Code
|
||||
__start: {
|
||||
// __ma unsigned byte conio_screen_width = 0
|
||||
@ -198,10 +198,10 @@ __start: {
|
||||
}
|
||||
// VSYNC Interrupt Routine
|
||||
irq_vsync: {
|
||||
.label __10 = $32
|
||||
.label __11 = $34
|
||||
.label vera_layer_set_horizontal_scroll1_scroll = $36
|
||||
.label vera_layer_set_vertical_scroll1_scroll = $38
|
||||
.label __10 = $34
|
||||
.label __11 = $36
|
||||
.label vera_layer_set_horizontal_scroll1_scroll = $38
|
||||
.label vera_layer_set_vertical_scroll1_scroll = $3a
|
||||
// scroll_x += delta_x
|
||||
lda.z scroll_x
|
||||
clc
|
||||
@ -319,18 +319,18 @@ irq_vsync: {
|
||||
sta.z vera_layer_set_horizontal_scroll1_scroll
|
||||
lda.z scroll_x+1
|
||||
sta.z vera_layer_set_horizontal_scroll1_scroll+1
|
||||
// <scroll
|
||||
// BYTE0(scroll)
|
||||
lda.z vera_layer_set_horizontal_scroll1_scroll
|
||||
// *vera_layer_hscroll_l[layer] = <scroll
|
||||
// *vera_layer_hscroll_l[layer] = BYTE0(scroll)
|
||||
ldy vera_layer_hscroll_l
|
||||
sty.z $fe
|
||||
ldy vera_layer_hscroll_l+1
|
||||
sty.z $ff
|
||||
ldy #0
|
||||
sta ($fe),y
|
||||
// >scroll
|
||||
// BYTE1(scroll)
|
||||
lda.z vera_layer_set_horizontal_scroll1_scroll+1
|
||||
// *vera_layer_hscroll_h[layer] = >scroll
|
||||
// *vera_layer_hscroll_h[layer] = BYTE1(scroll)
|
||||
ldy vera_layer_hscroll_h
|
||||
sty.z $fe
|
||||
ldy vera_layer_hscroll_h+1
|
||||
@ -342,18 +342,18 @@ irq_vsync: {
|
||||
sta.z vera_layer_set_vertical_scroll1_scroll
|
||||
lda.z scroll_y+1
|
||||
sta.z vera_layer_set_vertical_scroll1_scroll+1
|
||||
// <scroll
|
||||
// BYTE0(scroll)
|
||||
lda.z vera_layer_set_vertical_scroll1_scroll
|
||||
// *vera_layer_vscroll_l[layer] = <scroll
|
||||
// *vera_layer_vscroll_l[layer] = BYTE0(scroll)
|
||||
ldy vera_layer_vscroll_l
|
||||
sty.z $fe
|
||||
ldy vera_layer_vscroll_l+1
|
||||
sty.z $ff
|
||||
ldy #0
|
||||
sta ($fe),y
|
||||
// >scroll
|
||||
// BYTE1(scroll)
|
||||
lda.z vera_layer_set_vertical_scroll1_scroll+1
|
||||
// *vera_layer_vscroll_h[layer] = >scroll
|
||||
// *vera_layer_vscroll_h[layer] = BYTE1(scroll)
|
||||
ldy vera_layer_vscroll_h
|
||||
sty.z $fe
|
||||
ldy vera_layer_vscroll_h+1
|
||||
@ -414,7 +414,7 @@ conio_x16_init: {
|
||||
rts
|
||||
}
|
||||
main: {
|
||||
.label tilebase = $3a
|
||||
.label tilebase = $3c
|
||||
// vera_layer_set_textcolor(conio_screen_layer, color)
|
||||
ldx.z conio_screen_layer
|
||||
lda #WHITE
|
||||
@ -774,13 +774,13 @@ screensize: {
|
||||
// - layer: value of 0 or 1.
|
||||
// screenlayer(byte register(A) layer)
|
||||
screenlayer: {
|
||||
.label __2 = $4c
|
||||
.label __4 = $43
|
||||
.label __5 = $49
|
||||
.label vera_layer_get_width1_config = $41
|
||||
.label vera_layer_get_width1_return = $4c
|
||||
.label vera_layer_get_height1_config = $46
|
||||
.label vera_layer_get_height1_return = $49
|
||||
.label __2 = $50
|
||||
.label __4 = $45
|
||||
.label __5 = $4c
|
||||
.label vera_layer_get_width1_config = $43
|
||||
.label vera_layer_get_width1_return = $50
|
||||
.label vera_layer_get_height1_config = $48
|
||||
.label vera_layer_get_height1_return = $4c
|
||||
// conio_screen_layer = layer
|
||||
sta.z conio_screen_layer
|
||||
// vera_layer_get_mapbase_bank(conio_screen_layer)
|
||||
@ -905,7 +905,7 @@ vera_layer_set_backcolor: {
|
||||
// so the resulting address in the VERA VRAM is always aligned to a multiple of 512 bytes.
|
||||
// vera_layer_set_mapbase(byte register(A) layer, byte register(X) mapbase)
|
||||
vera_layer_set_mapbase: {
|
||||
.label addr = $4c
|
||||
.label addr = $50
|
||||
// byte* addr = vera_layer_mapbase[layer]
|
||||
asl
|
||||
tay
|
||||
@ -923,8 +923,8 @@ vera_layer_set_mapbase: {
|
||||
// Set the cursor to the specified position
|
||||
// gotoxy(byte register(X) y)
|
||||
gotoxy: {
|
||||
.label __6 = $43
|
||||
.label line_offset = $43
|
||||
.label __6 = $45
|
||||
.label line_offset = $45
|
||||
// if(y>CONIO_HEIGHT)
|
||||
lda.z conio_screen_height
|
||||
stx.z $ff
|
||||
@ -968,9 +968,9 @@ gotoxy: {
|
||||
}
|
||||
// clears the screen and moves the cursor to the upper left-hand corner of the screen.
|
||||
clrscr: {
|
||||
.label __1 = $45
|
||||
.label line_text = $52
|
||||
.label color = $45
|
||||
.label __1 = $47
|
||||
.label line_text = $1e
|
||||
.label color = $47
|
||||
// char* line_text = CONIO_SCREEN_TEXT
|
||||
lda.z CONIO_SCREEN_TEXT
|
||||
sta.z line_text
|
||||
@ -1019,14 +1019,14 @@ clrscr: {
|
||||
lda #VERA_ADDRSEL^$ff
|
||||
and VERA_CTRL
|
||||
sta VERA_CTRL
|
||||
// <ch
|
||||
// BYTE0(ch)
|
||||
lda.z line_text
|
||||
// *VERA_ADDRX_L = <ch
|
||||
// *VERA_ADDRX_L = BYTE0(ch)
|
||||
// Set address
|
||||
sta VERA_ADDRX_L
|
||||
// >ch
|
||||
// BYTE1(ch)
|
||||
lda.z line_text+1
|
||||
// *VERA_ADDRX_M = >ch
|
||||
// *VERA_ADDRX_M = BYTE1(ch)
|
||||
sta VERA_ADDRX_M
|
||||
// CONIO_SCREEN_BANK | VERA_INC_1
|
||||
lda #VERA_INC_1
|
||||
@ -1069,8 +1069,8 @@ clrscr: {
|
||||
// so the resulting address in the VERA VRAM is always aligned to a multiple of 2048 bytes!
|
||||
vera_layer_get_tilebase_address: {
|
||||
.const layer = 1
|
||||
.label address = $3a
|
||||
.label return = $3a
|
||||
.label address = $3c
|
||||
.label return = $3c
|
||||
// byte tilebase = *vera_layer_tilebase[layer]
|
||||
ldy vera_layer_tilebase+layer*SIZEOF_POINTER
|
||||
sty.z $fe
|
||||
@ -1131,21 +1131,17 @@ vera_layer_get_tilebase_address: {
|
||||
// - tilewidth: The width of a tile, which can be 8 or 16 pixels.
|
||||
// - tileheight: The height of a tile, which can be 8 or 16 pixels.
|
||||
// - color_depth: The color depth in bits per pixel (BPP), which can be 1, 2, 4 or 8.
|
||||
// vera_layer_mode_tile(byte zp(3) layer, dword zp(4) mapbase_address, dword zp(8) tilebase_address, word zp($43) mapwidth, word zp($41) mapheight, byte zp($c) tilewidth, byte zp($d) tileheight)
|
||||
// vera_layer_mode_tile(byte zp(3) layer, dword zp(4) mapbase_address, dword zp(8) tilebase_address, word zp($45) mapwidth, word zp($43) mapheight, byte zp($c) tilewidth, byte zp($d) tileheight)
|
||||
vera_layer_mode_tile: {
|
||||
.label __1 = $46
|
||||
.label __2 = $49
|
||||
.label __4 = $5a
|
||||
.label __7 = $4c
|
||||
.label __8 = $4e
|
||||
.label __10 = $50
|
||||
.label __19 = $48
|
||||
.label __20 = $4b
|
||||
.label __1 = $48
|
||||
.label __6 = $4c
|
||||
.label __17 = $4a
|
||||
.label __18 = $4b
|
||||
.label mapbase_address = 4
|
||||
.label tilebase_address = 8
|
||||
.label mapwidth = $43
|
||||
.label mapwidth = $45
|
||||
.label layer = 3
|
||||
.label mapheight = $41
|
||||
.label mapheight = $43
|
||||
.label tilewidth = $c
|
||||
.label tileheight = $d
|
||||
// case 32:
|
||||
@ -1259,35 +1255,31 @@ vera_layer_mode_tile: {
|
||||
// vera_layer_set_config(layer, config)
|
||||
lda.z layer
|
||||
jsr vera_layer_set_config
|
||||
// <mapbase_address
|
||||
// WORD0(mapbase_address)
|
||||
lda.z mapbase_address
|
||||
sta.z __1
|
||||
lda.z mapbase_address+1
|
||||
sta.z __1+1
|
||||
// vera_mapbase_offset[layer] = <mapbase_address
|
||||
// vera_mapbase_offset[layer] = WORD0(mapbase_address)
|
||||
lda.z layer
|
||||
asl
|
||||
sta.z __19
|
||||
sta.z __17
|
||||
// mapbase
|
||||
tay
|
||||
lda.z __1
|
||||
sta vera_mapbase_offset,y
|
||||
lda.z __1+1
|
||||
sta vera_mapbase_offset+1,y
|
||||
// >mapbase_address
|
||||
// BYTE2(mapbase_address)
|
||||
lda.z mapbase_address+2
|
||||
sta.z __2
|
||||
lda.z mapbase_address+3
|
||||
sta.z __2+1
|
||||
// vera_mapbase_bank[layer] = (byte)(>mapbase_address)
|
||||
// vera_mapbase_bank[layer] = BYTE2(mapbase_address)
|
||||
ldy.z layer
|
||||
lda.z __2
|
||||
sta vera_mapbase_bank,y
|
||||
// vera_mapbase_address[layer] = mapbase_address
|
||||
tya
|
||||
asl
|
||||
asl
|
||||
sta.z __20
|
||||
sta.z __18
|
||||
tay
|
||||
lda.z mapbase_address
|
||||
sta vera_mapbase_address,y
|
||||
@ -1302,39 +1294,30 @@ vera_layer_mode_tile: {
|
||||
ror.z mapbase_address+2
|
||||
ror.z mapbase_address+1
|
||||
ror.z mapbase_address
|
||||
// <mapbase_address
|
||||
lda.z mapbase_address
|
||||
sta.z __4
|
||||
lda.z mapbase_address+1
|
||||
sta.z __4+1
|
||||
// byte mapbase = >(<mapbase_address)
|
||||
tax
|
||||
// byte mapbase = BYTE1(mapbase_address)
|
||||
ldx.z mapbase_address+1
|
||||
// vera_layer_set_mapbase(layer,mapbase)
|
||||
lda.z layer
|
||||
jsr vera_layer_set_mapbase
|
||||
// <tilebase_address
|
||||
// WORD0(tilebase_address)
|
||||
lda.z tilebase_address
|
||||
sta.z __7
|
||||
sta.z __6
|
||||
lda.z tilebase_address+1
|
||||
sta.z __7+1
|
||||
// vera_tilebase_offset[layer] = <tilebase_address
|
||||
sta.z __6+1
|
||||
// vera_tilebase_offset[layer] = WORD0(tilebase_address)
|
||||
// tilebase
|
||||
ldy.z __19
|
||||
lda.z __7
|
||||
ldy.z __17
|
||||
lda.z __6
|
||||
sta vera_tilebase_offset,y
|
||||
lda.z __7+1
|
||||
lda.z __6+1
|
||||
sta vera_tilebase_offset+1,y
|
||||
// >tilebase_address
|
||||
// BYTE2(tilebase_address)
|
||||
lda.z tilebase_address+2
|
||||
sta.z __8
|
||||
lda.z tilebase_address+3
|
||||
sta.z __8+1
|
||||
// vera_tilebase_bank[layer] = (byte)>tilebase_address
|
||||
// vera_tilebase_bank[layer] = BYTE2(tilebase_address)
|
||||
ldy.z layer
|
||||
lda.z __8
|
||||
sta vera_tilebase_bank,y
|
||||
// vera_tilebase_address[layer] = tilebase_address
|
||||
ldy.z __20
|
||||
ldy.z __18
|
||||
lda.z tilebase_address
|
||||
sta vera_tilebase_address,y
|
||||
lda.z tilebase_address+1
|
||||
@ -1348,12 +1331,8 @@ vera_layer_mode_tile: {
|
||||
ror.z tilebase_address+2
|
||||
ror.z tilebase_address+1
|
||||
ror.z tilebase_address
|
||||
// <tilebase_address
|
||||
lda.z tilebase_address
|
||||
sta.z __10
|
||||
// byte tilebase = BYTE1(tilebase_address)
|
||||
lda.z tilebase_address+1
|
||||
sta.z __10+1
|
||||
// byte tilebase = >(<tilebase_address)
|
||||
// tilebase &= VERA_LAYER_TILEBASE_MASK
|
||||
and #VERA_LAYER_TILEBASE_MASK
|
||||
tax
|
||||
@ -1467,13 +1446,10 @@ scroll: {
|
||||
}
|
||||
// draw_characters(dword zp($e) tilebase)
|
||||
draw_characters: {
|
||||
.label vera_vram_address01___0 = $52
|
||||
.label vera_vram_address01___2 = $54
|
||||
.label vera_vram_address01___4 = $56
|
||||
.label tilebase = $e
|
||||
.label tilerow = $e
|
||||
.label tilecolumn = $13
|
||||
.label bit = $58
|
||||
.label bit = $4e
|
||||
.label b = $1d
|
||||
.label tilecolumn_1 = $18
|
||||
.label x = $1c
|
||||
@ -1511,31 +1487,17 @@ draw_characters: {
|
||||
lda #VERA_ADDRSEL^$ff
|
||||
and VERA_CTRL
|
||||
sta VERA_CTRL
|
||||
// <bankaddr
|
||||
// BYTE0(bankaddr)
|
||||
lda.z tilecolumn_1
|
||||
sta.z vera_vram_address01___0
|
||||
lda.z tilecolumn_1+1
|
||||
sta.z vera_vram_address01___0+1
|
||||
// <(<bankaddr)
|
||||
lda.z vera_vram_address01___0
|
||||
// *VERA_ADDRX_L = <(<bankaddr)
|
||||
// *VERA_ADDRX_L = BYTE0(bankaddr)
|
||||
sta VERA_ADDRX_L
|
||||
// <bankaddr
|
||||
lda.z tilecolumn_1
|
||||
sta.z vera_vram_address01___2
|
||||
// BYTE1(bankaddr)
|
||||
lda.z tilecolumn_1+1
|
||||
sta.z vera_vram_address01___2+1
|
||||
// >(<bankaddr)
|
||||
// *VERA_ADDRX_M = >(<bankaddr)
|
||||
// *VERA_ADDRX_M = BYTE1(bankaddr)
|
||||
sta VERA_ADDRX_M
|
||||
// >bankaddr
|
||||
// BYTE2(bankaddr) | incr
|
||||
lda.z tilecolumn_1+2
|
||||
sta.z vera_vram_address01___4
|
||||
lda.z tilecolumn_1+3
|
||||
sta.z vera_vram_address01___4+1
|
||||
// <(>bankaddr) | incr
|
||||
lda.z vera_vram_address01___4
|
||||
// *VERA_ADDRX_H = <(>bankaddr) | incr
|
||||
// *VERA_ADDRX_H = BYTE2(bankaddr) | incr
|
||||
sta VERA_ADDRX_H
|
||||
// byte data = *VERA_DATA0
|
||||
lda VERA_DATA0
|
||||
@ -1641,7 +1603,7 @@ kbhit: {
|
||||
.label IN_DEV = $28a
|
||||
// Current input device number
|
||||
.label GETIN = $ffe4
|
||||
.label ch = $59
|
||||
.label ch = $4f
|
||||
// char ch = 0
|
||||
lda #0
|
||||
sta.z ch
|
||||
@ -1681,9 +1643,9 @@ kbhit: {
|
||||
rts
|
||||
}
|
||||
// Output a NUL-terminated string at the current cursor position
|
||||
// cputs(const byte* zp($52) s)
|
||||
// cputs(const byte* zp($1e) s)
|
||||
cputs: {
|
||||
.label s = $52
|
||||
.label s = $1e
|
||||
__b1:
|
||||
// while(c=*s++)
|
||||
ldy #0
|
||||
@ -1706,7 +1668,7 @@ cputs: {
|
||||
// - layer: Value of 0 or 1.
|
||||
// - color_mode: Specifies the color mode to be VERA_LAYER_CONFIG_16 or VERA_LAYER_CONFIG_256 for text mode.
|
||||
vera_layer_set_text_color_mode: {
|
||||
.label addr = $5a
|
||||
.label addr = $50
|
||||
// byte* addr = vera_layer_config[layer]
|
||||
lda vera_layer_config+vera_layer_mode_text.layer*SIZEOF_POINTER
|
||||
sta.z addr
|
||||
@ -1738,7 +1700,7 @@ vera_layer_get_mapbase_bank: {
|
||||
// - return: Offset in vera vram of the specified bank.
|
||||
// vera_layer_get_mapbase_offset(byte register(A) layer)
|
||||
vera_layer_get_mapbase_offset: {
|
||||
.label return = $43
|
||||
.label return = $45
|
||||
// return vera_mapbase_offset[layer];
|
||||
asl
|
||||
tay
|
||||
@ -1764,7 +1726,7 @@ vera_layer_get_rowshift: {
|
||||
// - return: Skip value to calculate fast from a y value to line offset in tile mode.
|
||||
// vera_layer_get_rowskip(byte register(A) layer)
|
||||
vera_layer_get_rowskip: {
|
||||
.label return = $43
|
||||
.label return = $45
|
||||
// return vera_layer_rowskip[layer];
|
||||
asl
|
||||
tay
|
||||
@ -1804,7 +1766,7 @@ vera_layer_get_textcolor: {
|
||||
// - config: Specifies the modes which are specified using T256C / 'Bitmap Mode' / 'Color Depth'.
|
||||
// vera_layer_set_config(byte register(A) layer, byte register(X) config)
|
||||
vera_layer_set_config: {
|
||||
.label addr = $5c
|
||||
.label addr = $50
|
||||
// byte* addr = vera_layer_config[layer]
|
||||
asl
|
||||
tay
|
||||
@ -1826,7 +1788,7 @@ vera_layer_set_config: {
|
||||
// so the resulting address in the VERA VRAM is always aligned to a multiple of 2048 bytes!
|
||||
// vera_layer_set_tilebase(byte register(A) layer, byte register(X) tilebase)
|
||||
vera_layer_set_tilebase: {
|
||||
.label addr = $5c
|
||||
.label addr = $50
|
||||
// byte* addr = vera_layer_tilebase[layer]
|
||||
asl
|
||||
tay
|
||||
@ -1843,11 +1805,11 @@ vera_layer_set_tilebase: {
|
||||
}
|
||||
// Output one character at the current cursor position
|
||||
// Moves the cursor forward. Scrolls the entire screen if needed
|
||||
// cputc(byte zp($45) c)
|
||||
// cputc(byte zp($47) c)
|
||||
cputc: {
|
||||
.label __16 = $60
|
||||
.label conio_addr = $5e
|
||||
.label c = $45
|
||||
.label __16 = $54
|
||||
.label conio_addr = $52
|
||||
.label c = $47
|
||||
// vera_layer_get_color( conio_screen_layer)
|
||||
ldx.z conio_screen_layer
|
||||
jsr vera_layer_get_color
|
||||
@ -1886,14 +1848,14 @@ cputc: {
|
||||
lda #VERA_ADDRSEL^$ff
|
||||
and VERA_CTRL
|
||||
sta VERA_CTRL
|
||||
// <conio_addr
|
||||
// BYTE0(conio_addr)
|
||||
lda.z conio_addr
|
||||
// *VERA_ADDRX_L = <conio_addr
|
||||
// *VERA_ADDRX_L = BYTE0(conio_addr)
|
||||
// Set address
|
||||
sta VERA_ADDRX_L
|
||||
// >conio_addr
|
||||
// BYTE1(conio_addr)
|
||||
lda.z conio_addr+1
|
||||
// *VERA_ADDRX_M = >conio_addr
|
||||
// *VERA_ADDRX_M = BYTE1(conio_addr)
|
||||
sta VERA_ADDRX_M
|
||||
// CONIO_SCREEN_BANK | VERA_INC_1
|
||||
lda #VERA_INC_1
|
||||
@ -1951,7 +1913,7 @@ cputc: {
|
||||
// Note that on the VERA, the transparent color has value 0.
|
||||
// vera_layer_get_color(byte register(X) layer)
|
||||
vera_layer_get_color: {
|
||||
.label addr = $62
|
||||
.label addr = $56
|
||||
// byte* addr = vera_layer_config[layer]
|
||||
txa
|
||||
asl
|
||||
@ -1984,7 +1946,7 @@ vera_layer_get_color: {
|
||||
}
|
||||
// Print a newline
|
||||
cputln: {
|
||||
.label temp = $62
|
||||
.label temp = $56
|
||||
// word temp = conio_line_text[conio_screen_layer]
|
||||
lda.z conio_screen_layer
|
||||
asl
|
||||
@ -2052,10 +2014,10 @@ cscroll: {
|
||||
}
|
||||
// Insert a new line, and scroll the upper part of the screen up.
|
||||
insertup: {
|
||||
.label cy = $64
|
||||
.label width = $65
|
||||
.label line = $66
|
||||
.label start = $66
|
||||
.label cy = $58
|
||||
.label width = $59
|
||||
.label line = $5a
|
||||
.label start = $5a
|
||||
// unsigned byte cy = conio_cursor_y[conio_screen_layer]
|
||||
ldy.z conio_screen_layer
|
||||
lda conio_cursor_y,y
|
||||
@ -2120,8 +2082,8 @@ insertup: {
|
||||
jmp __b1
|
||||
}
|
||||
clearline: {
|
||||
.label addr = $6a
|
||||
.label c = $54
|
||||
.label addr = $5e
|
||||
.label c = $52
|
||||
// *VERA_CTRL &= ~VERA_ADDRSEL
|
||||
// Select DATA0
|
||||
lda #VERA_ADDRSEL^$ff
|
||||
@ -2139,13 +2101,13 @@ clearline: {
|
||||
lda.z CONIO_SCREEN_TEXT+1
|
||||
adc conio_line_text+1,y
|
||||
sta.z addr+1
|
||||
// <addr
|
||||
// BYTE0(addr)
|
||||
lda.z addr
|
||||
// *VERA_ADDRX_L = <addr
|
||||
// *VERA_ADDRX_L = BYTE0(addr)
|
||||
sta VERA_ADDRX_L
|
||||
// >addr
|
||||
// BYTE1(addr)
|
||||
lda.z addr+1
|
||||
// *VERA_ADDRX_M = >addr
|
||||
// *VERA_ADDRX_M = BYTE1(addr)
|
||||
sta VERA_ADDRX_M
|
||||
// *VERA_ADDRX_H = VERA_INC_1
|
||||
lda #VERA_INC_1
|
||||
@ -2197,25 +2159,25 @@ clearline: {
|
||||
// - dest: pointer to the location to copy to. Note that the address is a 16 bit value!
|
||||
// - dest_increment: the increment indicator, VERA needs this because addressing increment is automated by VERA at each access.
|
||||
// - num: The number of bytes to copy
|
||||
// memcpy_in_vram(void* zp($66) dest, byte* zp($6a) src, word zp($68) num)
|
||||
// memcpy_in_vram(void* zp($5a) dest, byte* zp($5e) src, word zp($5c) num)
|
||||
memcpy_in_vram: {
|
||||
.label i = $54
|
||||
.label dest = $66
|
||||
.label src = $6a
|
||||
.label num = $68
|
||||
.label i = $52
|
||||
.label dest = $5a
|
||||
.label src = $5e
|
||||
.label num = $5c
|
||||
// *VERA_CTRL &= ~VERA_ADDRSEL
|
||||
// Select DATA0
|
||||
lda #VERA_ADDRSEL^$ff
|
||||
and VERA_CTRL
|
||||
sta VERA_CTRL
|
||||
// <src
|
||||
// BYTE0(src)
|
||||
lda.z src
|
||||
// *VERA_ADDRX_L = <src
|
||||
// *VERA_ADDRX_L = BYTE0(src)
|
||||
// Set address
|
||||
sta VERA_ADDRX_L
|
||||
// >src
|
||||
// BYTE1(src)
|
||||
lda.z src+1
|
||||
// *VERA_ADDRX_M = >src
|
||||
// *VERA_ADDRX_M = BYTE1(src)
|
||||
sta VERA_ADDRX_M
|
||||
// *VERA_ADDRX_H = src_increment | src_bank
|
||||
lda #VERA_INC_1
|
||||
@ -2225,14 +2187,14 @@ memcpy_in_vram: {
|
||||
lda #VERA_ADDRSEL
|
||||
ora VERA_CTRL
|
||||
sta VERA_CTRL
|
||||
// <dest
|
||||
// BYTE0(dest)
|
||||
lda.z dest
|
||||
// *VERA_ADDRX_L = <dest
|
||||
// *VERA_ADDRX_L = BYTE0(dest)
|
||||
// Set address
|
||||
sta VERA_ADDRX_L
|
||||
// >dest
|
||||
// BYTE1(dest)
|
||||
lda.z dest+1
|
||||
// *VERA_ADDRX_M = >dest
|
||||
// *VERA_ADDRX_M = BYTE1(dest)
|
||||
sta VERA_ADDRX_M
|
||||
// *VERA_ADDRX_H = dest_increment | dest_bank
|
||||
lda #VERA_INC_1
|
||||
|
@ -558,8 +558,8 @@ vera_layer_mode_tile::@4: scope:[vera_layer_mode_tile] from vera_layer_mode_til
|
||||
to:vera_layer_mode_tile::@8
|
||||
vera_layer_mode_tile::@8: scope:[vera_layer_mode_tile] from vera_layer_mode_tile::@4
|
||||
[278] vera_layer_rowshift[vera_layer_mode_tile::layer#10] = 9
|
||||
[279] vera_layer_mode_tile::$16 = vera_layer_mode_tile::layer#10 << 1
|
||||
[280] vera_layer_rowskip[vera_layer_mode_tile::$16] = $200
|
||||
[279] vera_layer_mode_tile::$14 = vera_layer_mode_tile::layer#10 << 1
|
||||
[280] vera_layer_rowskip[vera_layer_mode_tile::$14] = $200
|
||||
to:vera_layer_mode_tile::@9
|
||||
vera_layer_mode_tile::@9: scope:[vera_layer_mode_tile] from vera_layer_mode_tile::@4 vera_layer_mode_tile::@5 vera_layer_mode_tile::@6 vera_layer_mode_tile::@7 vera_layer_mode_tile::@8
|
||||
[281] vera_layer_mode_tile::config#21 = phi( vera_layer_mode_tile::@4/VERA_LAYER_COLOR_DEPTH_1BPP, vera_layer_mode_tile::@5/VERA_LAYER_COLOR_DEPTH_1BPP, vera_layer_mode_tile::@6/VERA_LAYER_WIDTH_64, vera_layer_mode_tile::@7/VERA_LAYER_WIDTH_128, vera_layer_mode_tile::@8/VERA_LAYER_WIDTH_256 )
|
||||
@ -584,161 +584,156 @@ vera_layer_mode_tile::@16: scope:[vera_layer_mode_tile] from vera_layer_mode_ti
|
||||
[290] call vera_layer_set_config
|
||||
to:vera_layer_mode_tile::@23
|
||||
vera_layer_mode_tile::@23: scope:[vera_layer_mode_tile] from vera_layer_mode_tile::@16
|
||||
[291] vera_layer_mode_tile::$1 = < vera_layer_mode_tile::mapbase_address#10
|
||||
[292] vera_layer_mode_tile::$19 = vera_layer_mode_tile::layer#10 << 1
|
||||
[293] vera_mapbase_offset[vera_layer_mode_tile::$19] = vera_layer_mode_tile::$1
|
||||
[294] vera_layer_mode_tile::$2 = > vera_layer_mode_tile::mapbase_address#10
|
||||
[295] vera_mapbase_bank[vera_layer_mode_tile::layer#10] = (byte)vera_layer_mode_tile::$2
|
||||
[296] vera_layer_mode_tile::$20 = vera_layer_mode_tile::layer#10 << 2
|
||||
[297] vera_mapbase_address[vera_layer_mode_tile::$20] = vera_layer_mode_tile::mapbase_address#10
|
||||
[291] vera_layer_mode_tile::$1 = _word0_ vera_layer_mode_tile::mapbase_address#10
|
||||
[292] vera_layer_mode_tile::$17 = vera_layer_mode_tile::layer#10 << 1
|
||||
[293] vera_mapbase_offset[vera_layer_mode_tile::$17] = vera_layer_mode_tile::$1
|
||||
[294] vera_layer_mode_tile::$2 = _byte2_ vera_layer_mode_tile::mapbase_address#10
|
||||
[295] vera_mapbase_bank[vera_layer_mode_tile::layer#10] = vera_layer_mode_tile::$2
|
||||
[296] vera_layer_mode_tile::$18 = vera_layer_mode_tile::layer#10 << 2
|
||||
[297] vera_mapbase_address[vera_layer_mode_tile::$18] = vera_layer_mode_tile::mapbase_address#10
|
||||
[298] vera_layer_mode_tile::mapbase_address#0 = vera_layer_mode_tile::mapbase_address#10 >> 1
|
||||
[299] vera_layer_mode_tile::$4 = < vera_layer_mode_tile::mapbase_address#0
|
||||
[300] vera_layer_mode_tile::mapbase#0 = > vera_layer_mode_tile::$4
|
||||
[301] vera_layer_set_mapbase::layer#0 = vera_layer_mode_tile::layer#10
|
||||
[302] vera_layer_set_mapbase::mapbase#0 = vera_layer_mode_tile::mapbase#0
|
||||
[303] call vera_layer_set_mapbase
|
||||
[299] vera_layer_mode_tile::mapbase#0 = > vera_layer_mode_tile::mapbase_address#0
|
||||
[300] vera_layer_set_mapbase::layer#0 = vera_layer_mode_tile::layer#10
|
||||
[301] vera_layer_set_mapbase::mapbase#0 = vera_layer_mode_tile::mapbase#0
|
||||
[302] call vera_layer_set_mapbase
|
||||
to:vera_layer_mode_tile::@24
|
||||
vera_layer_mode_tile::@24: scope:[vera_layer_mode_tile] from vera_layer_mode_tile::@23
|
||||
[304] vera_layer_mode_tile::$7 = < vera_layer_mode_tile::tilebase_address#10
|
||||
[305] vera_tilebase_offset[vera_layer_mode_tile::$19] = vera_layer_mode_tile::$7
|
||||
[306] vera_layer_mode_tile::$8 = > vera_layer_mode_tile::tilebase_address#10
|
||||
[307] vera_tilebase_bank[vera_layer_mode_tile::layer#10] = (byte)vera_layer_mode_tile::$8
|
||||
[308] vera_tilebase_address[vera_layer_mode_tile::$20] = vera_layer_mode_tile::tilebase_address#10
|
||||
[309] vera_layer_mode_tile::tilebase_address#0 = vera_layer_mode_tile::tilebase_address#10 >> 1
|
||||
[310] vera_layer_mode_tile::$10 = < vera_layer_mode_tile::tilebase_address#0
|
||||
[311] vera_layer_mode_tile::tilebase#0 = > vera_layer_mode_tile::$10
|
||||
[312] vera_layer_mode_tile::tilebase#1 = vera_layer_mode_tile::tilebase#0 & VERA_LAYER_TILEBASE_MASK
|
||||
[313] if(vera_layer_mode_tile::tilewidth#10==8) goto vera_layer_mode_tile::@19
|
||||
[303] vera_layer_mode_tile::$6 = _word0_ vera_layer_mode_tile::tilebase_address#10
|
||||
[304] vera_tilebase_offset[vera_layer_mode_tile::$17] = vera_layer_mode_tile::$6
|
||||
[305] vera_layer_mode_tile::$7 = _byte2_ vera_layer_mode_tile::tilebase_address#10
|
||||
[306] vera_tilebase_bank[vera_layer_mode_tile::layer#10] = vera_layer_mode_tile::$7
|
||||
[307] vera_tilebase_address[vera_layer_mode_tile::$18] = vera_layer_mode_tile::tilebase_address#10
|
||||
[308] vera_layer_mode_tile::tilebase_address#0 = vera_layer_mode_tile::tilebase_address#10 >> 1
|
||||
[309] vera_layer_mode_tile::tilebase#0 = > vera_layer_mode_tile::tilebase_address#0
|
||||
[310] vera_layer_mode_tile::tilebase#1 = vera_layer_mode_tile::tilebase#0 & VERA_LAYER_TILEBASE_MASK
|
||||
[311] if(vera_layer_mode_tile::tilewidth#10==8) goto vera_layer_mode_tile::@19
|
||||
to:vera_layer_mode_tile::@17
|
||||
vera_layer_mode_tile::@17: scope:[vera_layer_mode_tile] from vera_layer_mode_tile::@24
|
||||
[314] if(vera_layer_mode_tile::tilewidth#10!=$10) goto vera_layer_mode_tile::@19
|
||||
[312] if(vera_layer_mode_tile::tilewidth#10!=$10) goto vera_layer_mode_tile::@19
|
||||
to:vera_layer_mode_tile::@18
|
||||
vera_layer_mode_tile::@18: scope:[vera_layer_mode_tile] from vera_layer_mode_tile::@17
|
||||
[315] vera_layer_mode_tile::tilebase#3 = vera_layer_mode_tile::tilebase#1 | VERA_TILEBASE_WIDTH_16
|
||||
[313] vera_layer_mode_tile::tilebase#3 = vera_layer_mode_tile::tilebase#1 | VERA_TILEBASE_WIDTH_16
|
||||
to:vera_layer_mode_tile::@19
|
||||
vera_layer_mode_tile::@19: scope:[vera_layer_mode_tile] from vera_layer_mode_tile::@17 vera_layer_mode_tile::@18 vera_layer_mode_tile::@24
|
||||
[316] vera_layer_mode_tile::tilebase#12 = phi( vera_layer_mode_tile::@17/vera_layer_mode_tile::tilebase#1, vera_layer_mode_tile::@24/vera_layer_mode_tile::tilebase#1, vera_layer_mode_tile::@18/vera_layer_mode_tile::tilebase#3 )
|
||||
[317] if(vera_layer_mode_tile::tileheight#10==8) goto vera_layer_mode_tile::@22
|
||||
[314] vera_layer_mode_tile::tilebase#12 = phi( vera_layer_mode_tile::@17/vera_layer_mode_tile::tilebase#1, vera_layer_mode_tile::@24/vera_layer_mode_tile::tilebase#1, vera_layer_mode_tile::@18/vera_layer_mode_tile::tilebase#3 )
|
||||
[315] if(vera_layer_mode_tile::tileheight#10==8) goto vera_layer_mode_tile::@22
|
||||
to:vera_layer_mode_tile::@20
|
||||
vera_layer_mode_tile::@20: scope:[vera_layer_mode_tile] from vera_layer_mode_tile::@19
|
||||
[318] if(vera_layer_mode_tile::tileheight#10!=$10) goto vera_layer_mode_tile::@22
|
||||
[316] if(vera_layer_mode_tile::tileheight#10!=$10) goto vera_layer_mode_tile::@22
|
||||
to:vera_layer_mode_tile::@21
|
||||
vera_layer_mode_tile::@21: scope:[vera_layer_mode_tile] from vera_layer_mode_tile::@20
|
||||
[319] vera_layer_mode_tile::tilebase#5 = vera_layer_mode_tile::tilebase#12 | VERA_TILEBASE_HEIGHT_16
|
||||
[317] vera_layer_mode_tile::tilebase#5 = vera_layer_mode_tile::tilebase#12 | VERA_TILEBASE_HEIGHT_16
|
||||
to:vera_layer_mode_tile::@22
|
||||
vera_layer_mode_tile::@22: scope:[vera_layer_mode_tile] from vera_layer_mode_tile::@19 vera_layer_mode_tile::@20 vera_layer_mode_tile::@21
|
||||
[320] vera_layer_mode_tile::tilebase#10 = phi( vera_layer_mode_tile::@20/vera_layer_mode_tile::tilebase#12, vera_layer_mode_tile::@19/vera_layer_mode_tile::tilebase#12, vera_layer_mode_tile::@21/vera_layer_mode_tile::tilebase#5 )
|
||||
[321] vera_layer_set_tilebase::layer#0 = vera_layer_mode_tile::layer#10
|
||||
[322] vera_layer_set_tilebase::tilebase#0 = vera_layer_mode_tile::tilebase#10
|
||||
[323] call vera_layer_set_tilebase
|
||||
[318] vera_layer_mode_tile::tilebase#10 = phi( vera_layer_mode_tile::@20/vera_layer_mode_tile::tilebase#12, vera_layer_mode_tile::@19/vera_layer_mode_tile::tilebase#12, vera_layer_mode_tile::@21/vera_layer_mode_tile::tilebase#5 )
|
||||
[319] vera_layer_set_tilebase::layer#0 = vera_layer_mode_tile::layer#10
|
||||
[320] vera_layer_set_tilebase::tilebase#0 = vera_layer_mode_tile::tilebase#10
|
||||
[321] call vera_layer_set_tilebase
|
||||
to:vera_layer_mode_tile::@return
|
||||
vera_layer_mode_tile::@return: scope:[vera_layer_mode_tile] from vera_layer_mode_tile::@22
|
||||
[324] return
|
||||
[322] return
|
||||
to:@return
|
||||
vera_layer_mode_tile::@14: scope:[vera_layer_mode_tile] from vera_layer_mode_tile::@11
|
||||
[325] vera_layer_mode_tile::config#11 = vera_layer_mode_tile::config#21 | VERA_LAYER_HEIGHT_128
|
||||
[323] vera_layer_mode_tile::config#11 = vera_layer_mode_tile::config#21 | VERA_LAYER_HEIGHT_128
|
||||
to:vera_layer_mode_tile::@16
|
||||
vera_layer_mode_tile::@13: scope:[vera_layer_mode_tile] from vera_layer_mode_tile::@10
|
||||
[326] vera_layer_mode_tile::config#10 = vera_layer_mode_tile::config#21 | VERA_LAYER_HEIGHT_64
|
||||
[324] vera_layer_mode_tile::config#10 = vera_layer_mode_tile::config#21 | VERA_LAYER_HEIGHT_64
|
||||
to:vera_layer_mode_tile::@16
|
||||
vera_layer_mode_tile::@7: scope:[vera_layer_mode_tile] from vera_layer_mode_tile::@3
|
||||
[327] vera_layer_rowshift[vera_layer_mode_tile::layer#10] = 8
|
||||
[328] vera_layer_mode_tile::$15 = vera_layer_mode_tile::layer#10 << 1
|
||||
[329] vera_layer_rowskip[vera_layer_mode_tile::$15] = $100
|
||||
[325] vera_layer_rowshift[vera_layer_mode_tile::layer#10] = 8
|
||||
[326] vera_layer_mode_tile::$13 = vera_layer_mode_tile::layer#10 << 1
|
||||
[327] vera_layer_rowskip[vera_layer_mode_tile::$13] = $100
|
||||
to:vera_layer_mode_tile::@9
|
||||
vera_layer_mode_tile::@6: scope:[vera_layer_mode_tile] from vera_layer_mode_tile::@2
|
||||
[330] vera_layer_rowshift[vera_layer_mode_tile::layer#10] = 7
|
||||
[331] vera_layer_mode_tile::$14 = vera_layer_mode_tile::layer#10 << 1
|
||||
[332] vera_layer_rowskip[vera_layer_mode_tile::$14] = $80
|
||||
[328] vera_layer_rowshift[vera_layer_mode_tile::layer#10] = 7
|
||||
[329] vera_layer_mode_tile::$12 = vera_layer_mode_tile::layer#10 << 1
|
||||
[330] vera_layer_rowskip[vera_layer_mode_tile::$12] = $80
|
||||
to:vera_layer_mode_tile::@9
|
||||
vera_layer_mode_tile::@5: scope:[vera_layer_mode_tile] from vera_layer_mode_tile::@1
|
||||
[333] vera_layer_rowshift[vera_layer_mode_tile::layer#10] = 6
|
||||
[334] vera_layer_mode_tile::$13 = vera_layer_mode_tile::layer#10 << 1
|
||||
[335] vera_layer_rowskip[vera_layer_mode_tile::$13] = $40
|
||||
[331] vera_layer_rowshift[vera_layer_mode_tile::layer#10] = 6
|
||||
[332] vera_layer_mode_tile::$11 = vera_layer_mode_tile::layer#10 << 1
|
||||
[333] vera_layer_rowskip[vera_layer_mode_tile::$11] = $40
|
||||
to:vera_layer_mode_tile::@9
|
||||
|
||||
byte scroll(byte scroll::onoff)
|
||||
scroll: scope:[scroll] from main::@16
|
||||
[336] conio_scroll_enable[conio_screen_layer] = scroll::onoff#0
|
||||
[334] conio_scroll_enable[conio_screen_layer] = scroll::onoff#0
|
||||
to:scroll::@return
|
||||
scroll::@return: scope:[scroll] from scroll
|
||||
[337] return
|
||||
[335] return
|
||||
to:@return
|
||||
|
||||
void draw_characters(dword draw_characters::tilebase)
|
||||
draw_characters: scope:[draw_characters] from main::@11 main::@5 main::@7
|
||||
[338] draw_characters::tilebase#4 = phi( main::@7/draw_characters::tilebase#1, main::@11/draw_characters::tilebase#2, main::@5/draw_characters::tilebase#0 )
|
||||
[339] call clrscr
|
||||
[336] draw_characters::tilebase#4 = phi( main::@7/draw_characters::tilebase#1, main::@11/draw_characters::tilebase#2, main::@5/draw_characters::tilebase#0 )
|
||||
[337] call clrscr
|
||||
to:draw_characters::@1
|
||||
draw_characters::@1: scope:[draw_characters] from draw_characters draw_characters::@9
|
||||
[340] draw_characters::y#14 = phi( draw_characters::@9/draw_characters::y#1, draw_characters/0 )
|
||||
[340] draw_characters::tilerow#1 = phi( draw_characters::@9/draw_characters::tilebase#3, draw_characters/draw_characters::tilebase#4 )
|
||||
[341] draw_characters::tilecolumn#12 = draw_characters::tilerow#1
|
||||
[338] draw_characters::y#14 = phi( draw_characters::@9/draw_characters::y#1, draw_characters/0 )
|
||||
[338] draw_characters::tilerow#1 = phi( draw_characters::@9/draw_characters::tilebase#3, draw_characters/draw_characters::tilebase#4 )
|
||||
[339] draw_characters::tilecolumn#12 = draw_characters::tilerow#1
|
||||
to:draw_characters::@2
|
||||
draw_characters::@2: scope:[draw_characters] from draw_characters::@1 draw_characters::@8
|
||||
[342] draw_characters::r#12 = phi( draw_characters::@1/0, draw_characters::@8/draw_characters::r#1 )
|
||||
[342] draw_characters::tilecolumn#1 = phi( draw_characters::@1/draw_characters::tilecolumn#12, draw_characters::@8/draw_characters::tilerow#2 )
|
||||
[343] draw_characters::tilecolumn#14 = draw_characters::tilecolumn#1
|
||||
[340] draw_characters::r#12 = phi( draw_characters::@1/0, draw_characters::@8/draw_characters::r#1 )
|
||||
[340] draw_characters::tilecolumn#1 = phi( draw_characters::@1/draw_characters::tilecolumn#12, draw_characters::@8/draw_characters::tilerow#2 )
|
||||
[341] draw_characters::tilecolumn#14 = draw_characters::tilecolumn#1
|
||||
to:draw_characters::@3
|
||||
draw_characters::@3: scope:[draw_characters] from draw_characters::@2 draw_characters::@7
|
||||
[344] draw_characters::x#10 = phi( draw_characters::@2/0, draw_characters::@7/draw_characters::x#1 )
|
||||
[344] draw_characters::tilecolumn#10 = phi( draw_characters::@2/draw_characters::tilecolumn#14, draw_characters::@7/draw_characters::tilecolumn#2 )
|
||||
[342] draw_characters::x#10 = phi( draw_characters::@2/0, draw_characters::@7/draw_characters::x#1 )
|
||||
[342] draw_characters::tilecolumn#10 = phi( draw_characters::@2/draw_characters::tilecolumn#14, draw_characters::@7/draw_characters::tilecolumn#2 )
|
||||
to:draw_characters::vera_vram_address01
|
||||
draw_characters::vera_vram_address01: scope:[draw_characters] from draw_characters::@3
|
||||
[345] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL
|
||||
[346] draw_characters::vera_vram_address01_$0 = < draw_characters::tilecolumn#10
|
||||
[347] draw_characters::vera_vram_address01_$1 = < draw_characters::vera_vram_address01_$0
|
||||
[348] *VERA_ADDRX_L = draw_characters::vera_vram_address01_$1
|
||||
[349] draw_characters::vera_vram_address01_$2 = < draw_characters::tilecolumn#10
|
||||
[350] draw_characters::vera_vram_address01_$3 = > draw_characters::vera_vram_address01_$2
|
||||
[351] *VERA_ADDRX_M = draw_characters::vera_vram_address01_$3
|
||||
[352] draw_characters::vera_vram_address01_$4 = > draw_characters::tilecolumn#10
|
||||
[353] draw_characters::vera_vram_address01_$6 = < draw_characters::vera_vram_address01_$4
|
||||
[354] *VERA_ADDRX_H = draw_characters::vera_vram_address01_$6
|
||||
[343] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL
|
||||
[344] draw_characters::vera_vram_address01_$0 = < draw_characters::tilecolumn#10
|
||||
[345] *VERA_ADDRX_L = draw_characters::vera_vram_address01_$0
|
||||
[346] draw_characters::vera_vram_address01_$1 = > draw_characters::tilecolumn#10
|
||||
[347] *VERA_ADDRX_M = draw_characters::vera_vram_address01_$1
|
||||
[348] draw_characters::vera_vram_address01_$3 = _byte2_ draw_characters::tilecolumn#10
|
||||
[349] *VERA_ADDRX_H = draw_characters::vera_vram_address01_$3
|
||||
to:draw_characters::@10
|
||||
draw_characters::@10: scope:[draw_characters] from draw_characters::vera_vram_address01
|
||||
[355] draw_characters::bit#0 = *VERA_DATA0
|
||||
[350] draw_characters::bit#0 = *VERA_DATA0
|
||||
to:draw_characters::@4
|
||||
draw_characters::@4: scope:[draw_characters] from draw_characters::@10 draw_characters::@11
|
||||
[356] draw_characters::b#2 = phi( draw_characters::@10/8, draw_characters::@11/draw_characters::b#1 )
|
||||
[357] draw_characters::$2 = draw_characters::b#2 - 1
|
||||
[358] draw_characters::$3 = draw_characters::bit#0 >> draw_characters::$2
|
||||
[359] draw_characters::bit#1 = draw_characters::$3 & 1
|
||||
[360] if(0!=draw_characters::bit#1) goto draw_characters::@5
|
||||
[351] draw_characters::b#2 = phi( draw_characters::@10/8, draw_characters::@11/draw_characters::b#1 )
|
||||
[352] draw_characters::$2 = draw_characters::b#2 - 1
|
||||
[353] draw_characters::$3 = draw_characters::bit#0 >> draw_characters::$2
|
||||
[354] draw_characters::bit#1 = draw_characters::$3 & 1
|
||||
[355] if(0!=draw_characters::bit#1) goto draw_characters::@5
|
||||
to:draw_characters::@6
|
||||
draw_characters::@5: scope:[draw_characters] from draw_characters::@4
|
||||
[361] phi()
|
||||
[356] phi()
|
||||
to:draw_characters::@6
|
||||
draw_characters::@6: scope:[draw_characters] from draw_characters::@4 draw_characters::@5
|
||||
[362] cputc::c#1 = phi( draw_characters::@5/'*', draw_characters::@4/'.' )
|
||||
[363] call cputc
|
||||
[357] cputc::c#1 = phi( draw_characters::@5/'*', draw_characters::@4/'.' )
|
||||
[358] call cputc
|
||||
to:draw_characters::@11
|
||||
draw_characters::@11: scope:[draw_characters] from draw_characters::@6
|
||||
[364] draw_characters::b#1 = -- draw_characters::b#2
|
||||
[365] if(draw_characters::b#1!=0) goto draw_characters::@4
|
||||
[359] draw_characters::b#1 = -- draw_characters::b#2
|
||||
[360] if(draw_characters::b#1!=0) goto draw_characters::@4
|
||||
to:draw_characters::@7
|
||||
draw_characters::@7: scope:[draw_characters] from draw_characters::@11
|
||||
[366] draw_characters::tilecolumn#2 = draw_characters::tilecolumn#10 + 8
|
||||
[367] draw_characters::x#1 = ++ draw_characters::x#10
|
||||
[368] if(draw_characters::x#1!=$10) goto draw_characters::@3
|
||||
[361] draw_characters::tilecolumn#2 = draw_characters::tilecolumn#10 + 8
|
||||
[362] draw_characters::x#1 = ++ draw_characters::x#10
|
||||
[363] if(draw_characters::x#1!=$10) goto draw_characters::@3
|
||||
to:draw_characters::@8
|
||||
draw_characters::@8: scope:[draw_characters] from draw_characters::@7
|
||||
[369] draw_characters::tilerow#2 = draw_characters::tilecolumn#1 + 1
|
||||
[370] draw_characters::r#1 = ++ draw_characters::r#12
|
||||
[371] if(draw_characters::r#1!=8) goto draw_characters::@2
|
||||
[364] draw_characters::tilerow#2 = draw_characters::tilecolumn#1 + 1
|
||||
[365] draw_characters::r#1 = ++ draw_characters::r#12
|
||||
[366] if(draw_characters::r#1!=8) goto draw_characters::@2
|
||||
to:draw_characters::@9
|
||||
draw_characters::@9: scope:[draw_characters] from draw_characters::@8
|
||||
[372] draw_characters::tilebase#3 = draw_characters::tilerow#1 + 8*$10
|
||||
[373] draw_characters::y#1 = ++ draw_characters::y#14
|
||||
[374] if(draw_characters::y#1!=$10) goto draw_characters::@1
|
||||
[367] draw_characters::tilebase#3 = draw_characters::tilerow#1 + 8*$10
|
||||
[368] draw_characters::y#1 = ++ draw_characters::y#14
|
||||
[369] if(draw_characters::y#1!=$10) goto draw_characters::@1
|
||||
to:draw_characters::@return
|
||||
draw_characters::@return: scope:[draw_characters] from draw_characters::@9
|
||||
[375] return
|
||||
[370] return
|
||||
to:@return
|
||||
|
||||
byte kbhit()
|
||||
kbhit: scope:[kbhit] from main::@1 main::@2
|
||||
[376] kbhit::ch = 0
|
||||
[371] kbhit::ch = 0
|
||||
kickasm( uses kbhit::chptr uses kbhit::IN_DEV uses kbhit::GETIN) {{ jsr _kbhit
|
||||
bne L3
|
||||
|
||||
@ -768,309 +763,309 @@ kbhit: scope:[kbhit] from main::@1 main::@2
|
||||
continue1:
|
||||
nop
|
||||
}}
|
||||
[378] kbhit::return#0 = kbhit::ch
|
||||
[373] kbhit::return#0 = kbhit::ch
|
||||
to:kbhit::@return
|
||||
kbhit::@return: scope:[kbhit] from kbhit
|
||||
[379] kbhit::return#1 = kbhit::return#0
|
||||
[380] return
|
||||
[374] kbhit::return#1 = kbhit::return#0
|
||||
[375] return
|
||||
to:@return
|
||||
|
||||
void cputs(const byte* cputs::s)
|
||||
cputs: scope:[cputs] from main::@10 main::@18 main::@19 main::@20 main::@21 main::@22 main::@23 main::@24 main::@9
|
||||
[381] cputs::s#11 = phi( main::@9/main::s, main::@10/main::s8, main::@18/main::s1, main::@19/main::s2, main::@20/main::s3, main::@21/main::s4, main::@22/main::s5, main::@23/main::s6, main::@24/main::s7 )
|
||||
[376] cputs::s#11 = phi( main::@9/main::s, main::@10/main::s8, main::@18/main::s1, main::@19/main::s2, main::@20/main::s3, main::@21/main::s4, main::@22/main::s5, main::@23/main::s6, main::@24/main::s7 )
|
||||
to:cputs::@1
|
||||
cputs::@1: scope:[cputs] from cputs cputs::@2
|
||||
[382] cputs::s#10 = phi( cputs/cputs::s#11, cputs::@2/cputs::s#0 )
|
||||
[383] cputs::c#1 = *cputs::s#10
|
||||
[384] cputs::s#0 = ++ cputs::s#10
|
||||
[385] if(0!=cputs::c#1) goto cputs::@2
|
||||
[377] cputs::s#10 = phi( cputs/cputs::s#11, cputs::@2/cputs::s#0 )
|
||||
[378] cputs::c#1 = *cputs::s#10
|
||||
[379] cputs::s#0 = ++ cputs::s#10
|
||||
[380] if(0!=cputs::c#1) goto cputs::@2
|
||||
to:cputs::@return
|
||||
cputs::@return: scope:[cputs] from cputs::@1
|
||||
[386] return
|
||||
[381] return
|
||||
to:@return
|
||||
cputs::@2: scope:[cputs] from cputs::@1
|
||||
[387] cputc::c#0 = cputs::c#1
|
||||
[388] call cputc
|
||||
[382] cputc::c#0 = cputs::c#1
|
||||
[383] call cputc
|
||||
to:cputs::@1
|
||||
|
||||
void vera_layer_set_text_color_mode(byte vera_layer_set_text_color_mode::layer , byte vera_layer_set_text_color_mode::color_mode)
|
||||
vera_layer_set_text_color_mode: scope:[vera_layer_set_text_color_mode] from vera_layer_mode_text::@1
|
||||
[389] vera_layer_set_text_color_mode::addr#0 = *(vera_layer_config+vera_layer_mode_text::layer#0*SIZEOF_POINTER)
|
||||
[390] *vera_layer_set_text_color_mode::addr#0 = *vera_layer_set_text_color_mode::addr#0 & ~VERA_LAYER_CONFIG_256C
|
||||
[391] *vera_layer_set_text_color_mode::addr#0 = *vera_layer_set_text_color_mode::addr#0
|
||||
[384] vera_layer_set_text_color_mode::addr#0 = *(vera_layer_config+vera_layer_mode_text::layer#0*SIZEOF_POINTER)
|
||||
[385] *vera_layer_set_text_color_mode::addr#0 = *vera_layer_set_text_color_mode::addr#0 & ~VERA_LAYER_CONFIG_256C
|
||||
[386] *vera_layer_set_text_color_mode::addr#0 = *vera_layer_set_text_color_mode::addr#0
|
||||
to:vera_layer_set_text_color_mode::@return
|
||||
vera_layer_set_text_color_mode::@return: scope:[vera_layer_set_text_color_mode] from vera_layer_set_text_color_mode
|
||||
[392] return
|
||||
[387] return
|
||||
to:@return
|
||||
|
||||
byte vera_layer_get_mapbase_bank(byte vera_layer_get_mapbase_bank::layer)
|
||||
vera_layer_get_mapbase_bank: scope:[vera_layer_get_mapbase_bank] from screenlayer
|
||||
[393] vera_layer_get_mapbase_bank::return#0 = vera_mapbase_bank[vera_layer_get_mapbase_bank::layer#0]
|
||||
[388] vera_layer_get_mapbase_bank::return#0 = vera_mapbase_bank[vera_layer_get_mapbase_bank::layer#0]
|
||||
to:vera_layer_get_mapbase_bank::@return
|
||||
vera_layer_get_mapbase_bank::@return: scope:[vera_layer_get_mapbase_bank] from vera_layer_get_mapbase_bank
|
||||
[394] return
|
||||
[389] return
|
||||
to:@return
|
||||
|
||||
word vera_layer_get_mapbase_offset(byte vera_layer_get_mapbase_offset::layer)
|
||||
vera_layer_get_mapbase_offset: scope:[vera_layer_get_mapbase_offset] from screenlayer::@3
|
||||
[395] vera_layer_get_mapbase_offset::$0 = vera_layer_get_mapbase_offset::layer#0 << 1
|
||||
[396] vera_layer_get_mapbase_offset::return#0 = vera_mapbase_offset[vera_layer_get_mapbase_offset::$0]
|
||||
[390] vera_layer_get_mapbase_offset::$0 = vera_layer_get_mapbase_offset::layer#0 << 1
|
||||
[391] vera_layer_get_mapbase_offset::return#0 = vera_mapbase_offset[vera_layer_get_mapbase_offset::$0]
|
||||
to:vera_layer_get_mapbase_offset::@return
|
||||
vera_layer_get_mapbase_offset::@return: scope:[vera_layer_get_mapbase_offset] from vera_layer_get_mapbase_offset
|
||||
[397] return
|
||||
[392] return
|
||||
to:@return
|
||||
|
||||
byte vera_layer_get_rowshift(byte vera_layer_get_rowshift::layer)
|
||||
vera_layer_get_rowshift: scope:[vera_layer_get_rowshift] from screenlayer::@1
|
||||
[398] vera_layer_get_rowshift::return#0 = vera_layer_rowshift[vera_layer_get_rowshift::layer#0]
|
||||
[393] vera_layer_get_rowshift::return#0 = vera_layer_rowshift[vera_layer_get_rowshift::layer#0]
|
||||
to:vera_layer_get_rowshift::@return
|
||||
vera_layer_get_rowshift::@return: scope:[vera_layer_get_rowshift] from vera_layer_get_rowshift
|
||||
[399] return
|
||||
[394] return
|
||||
to:@return
|
||||
|
||||
word vera_layer_get_rowskip(byte vera_layer_get_rowskip::layer)
|
||||
vera_layer_get_rowskip: scope:[vera_layer_get_rowskip] from screenlayer::@5
|
||||
[400] vera_layer_get_rowskip::$0 = vera_layer_get_rowskip::layer#0 << 1
|
||||
[401] vera_layer_get_rowskip::return#0 = vera_layer_rowskip[vera_layer_get_rowskip::$0]
|
||||
[395] vera_layer_get_rowskip::$0 = vera_layer_get_rowskip::layer#0 << 1
|
||||
[396] vera_layer_get_rowskip::return#0 = vera_layer_rowskip[vera_layer_get_rowskip::$0]
|
||||
to:vera_layer_get_rowskip::@return
|
||||
vera_layer_get_rowskip::@return: scope:[vera_layer_get_rowskip] from vera_layer_get_rowskip
|
||||
[402] return
|
||||
[397] return
|
||||
to:@return
|
||||
|
||||
byte vera_layer_get_backcolor(byte vera_layer_get_backcolor::layer)
|
||||
vera_layer_get_backcolor: scope:[vera_layer_get_backcolor] from clrscr
|
||||
[403] vera_layer_get_backcolor::return#1 = vera_layer_backcolor[vera_layer_get_backcolor::layer#0]
|
||||
[398] vera_layer_get_backcolor::return#1 = vera_layer_backcolor[vera_layer_get_backcolor::layer#0]
|
||||
to:vera_layer_get_backcolor::@return
|
||||
vera_layer_get_backcolor::@return: scope:[vera_layer_get_backcolor] from vera_layer_get_backcolor
|
||||
[404] return
|
||||
[399] return
|
||||
to:@return
|
||||
|
||||
byte vera_layer_get_textcolor(byte vera_layer_get_textcolor::layer)
|
||||
vera_layer_get_textcolor: scope:[vera_layer_get_textcolor] from clrscr::@7
|
||||
[405] vera_layer_get_textcolor::return#1 = vera_layer_textcolor[vera_layer_get_textcolor::layer#0]
|
||||
[400] vera_layer_get_textcolor::return#1 = vera_layer_textcolor[vera_layer_get_textcolor::layer#0]
|
||||
to:vera_layer_get_textcolor::@return
|
||||
vera_layer_get_textcolor::@return: scope:[vera_layer_get_textcolor] from vera_layer_get_textcolor
|
||||
[406] return
|
||||
[401] return
|
||||
to:@return
|
||||
|
||||
void vera_layer_set_config(byte vera_layer_set_config::layer , byte vera_layer_set_config::config)
|
||||
vera_layer_set_config: scope:[vera_layer_set_config] from vera_layer_mode_tile::@16
|
||||
[407] vera_layer_set_config::$0 = vera_layer_set_config::layer#0 << 1
|
||||
[408] vera_layer_set_config::addr#0 = vera_layer_config[vera_layer_set_config::$0]
|
||||
[409] *vera_layer_set_config::addr#0 = vera_layer_set_config::config#0
|
||||
[402] vera_layer_set_config::$0 = vera_layer_set_config::layer#0 << 1
|
||||
[403] vera_layer_set_config::addr#0 = vera_layer_config[vera_layer_set_config::$0]
|
||||
[404] *vera_layer_set_config::addr#0 = vera_layer_set_config::config#0
|
||||
to:vera_layer_set_config::@return
|
||||
vera_layer_set_config::@return: scope:[vera_layer_set_config] from vera_layer_set_config
|
||||
[410] return
|
||||
[405] return
|
||||
to:@return
|
||||
|
||||
void vera_layer_set_tilebase(byte vera_layer_set_tilebase::layer , byte vera_layer_set_tilebase::tilebase)
|
||||
vera_layer_set_tilebase: scope:[vera_layer_set_tilebase] from vera_layer_mode_tile::@22
|
||||
[411] vera_layer_set_tilebase::$0 = vera_layer_set_tilebase::layer#0 << 1
|
||||
[412] vera_layer_set_tilebase::addr#0 = vera_layer_tilebase[vera_layer_set_tilebase::$0]
|
||||
[413] *vera_layer_set_tilebase::addr#0 = vera_layer_set_tilebase::tilebase#0
|
||||
[406] vera_layer_set_tilebase::$0 = vera_layer_set_tilebase::layer#0 << 1
|
||||
[407] vera_layer_set_tilebase::addr#0 = vera_layer_tilebase[vera_layer_set_tilebase::$0]
|
||||
[408] *vera_layer_set_tilebase::addr#0 = vera_layer_set_tilebase::tilebase#0
|
||||
to:vera_layer_set_tilebase::@return
|
||||
vera_layer_set_tilebase::@return: scope:[vera_layer_set_tilebase] from vera_layer_set_tilebase
|
||||
[414] return
|
||||
[409] return
|
||||
to:@return
|
||||
|
||||
void cputc(byte cputc::c)
|
||||
cputc: scope:[cputc] from cputs::@2 draw_characters::@6
|
||||
[415] cputc::c#2 = phi( cputs::@2/cputc::c#0, draw_characters::@6/cputc::c#1 )
|
||||
[416] vera_layer_get_color::layer#0 = conio_screen_layer
|
||||
[417] call vera_layer_get_color
|
||||
[418] vera_layer_get_color::return#0 = vera_layer_get_color::return#3
|
||||
[410] cputc::c#2 = phi( cputs::@2/cputc::c#0, draw_characters::@6/cputc::c#1 )
|
||||
[411] vera_layer_get_color::layer#0 = conio_screen_layer
|
||||
[412] call vera_layer_get_color
|
||||
[413] vera_layer_get_color::return#0 = vera_layer_get_color::return#3
|
||||
to:cputc::@7
|
||||
cputc::@7: scope:[cputc] from cputc
|
||||
[419] cputc::color#0 = vera_layer_get_color::return#0
|
||||
[420] cputc::$15 = conio_screen_layer << 1
|
||||
[421] cputc::conio_addr#0 = (byte*)CONIO_SCREEN_TEXT#104 + conio_line_text[cputc::$15]
|
||||
[422] cputc::$2 = conio_cursor_x[conio_screen_layer] << 1
|
||||
[423] cputc::conio_addr#1 = cputc::conio_addr#0 + cputc::$2
|
||||
[424] if(cputc::c#2=='
|
||||
[414] cputc::color#0 = vera_layer_get_color::return#0
|
||||
[415] cputc::$15 = conio_screen_layer << 1
|
||||
[416] cputc::conio_addr#0 = (byte*)CONIO_SCREEN_TEXT#104 + conio_line_text[cputc::$15]
|
||||
[417] cputc::$2 = conio_cursor_x[conio_screen_layer] << 1
|
||||
[418] cputc::conio_addr#1 = cputc::conio_addr#0 + cputc::$2
|
||||
[419] if(cputc::c#2=='
|
||||
') goto cputc::@1
|
||||
to:cputc::@2
|
||||
cputc::@2: scope:[cputc] from cputc::@7
|
||||
[425] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL
|
||||
[426] cputc::$4 = < cputc::conio_addr#1
|
||||
[427] *VERA_ADDRX_L = cputc::$4
|
||||
[428] cputc::$5 = > cputc::conio_addr#1
|
||||
[429] *VERA_ADDRX_M = cputc::$5
|
||||
[430] cputc::$6 = CONIO_SCREEN_BANK#105 | VERA_INC_1
|
||||
[431] *VERA_ADDRX_H = cputc::$6
|
||||
[432] *VERA_DATA0 = cputc::c#2
|
||||
[433] *VERA_DATA0 = cputc::color#0
|
||||
[434] conio_cursor_x[conio_screen_layer] = ++ conio_cursor_x[conio_screen_layer]
|
||||
[435] cputc::scroll_enable#0 = conio_scroll_enable[conio_screen_layer]
|
||||
[436] if(0!=cputc::scroll_enable#0) goto cputc::@5
|
||||
[420] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL
|
||||
[421] cputc::$4 = < cputc::conio_addr#1
|
||||
[422] *VERA_ADDRX_L = cputc::$4
|
||||
[423] cputc::$5 = > cputc::conio_addr#1
|
||||
[424] *VERA_ADDRX_M = cputc::$5
|
||||
[425] cputc::$6 = CONIO_SCREEN_BANK#105 | VERA_INC_1
|
||||
[426] *VERA_ADDRX_H = cputc::$6
|
||||
[427] *VERA_DATA0 = cputc::c#2
|
||||
[428] *VERA_DATA0 = cputc::color#0
|
||||
[429] conio_cursor_x[conio_screen_layer] = ++ conio_cursor_x[conio_screen_layer]
|
||||
[430] cputc::scroll_enable#0 = conio_scroll_enable[conio_screen_layer]
|
||||
[431] if(0!=cputc::scroll_enable#0) goto cputc::@5
|
||||
to:cputc::@3
|
||||
cputc::@3: scope:[cputc] from cputc::@2
|
||||
[437] cputc::$16 = (word)conio_cursor_x[conio_screen_layer]
|
||||
[438] if(cputc::$16!=conio_width) goto cputc::@return
|
||||
[432] cputc::$16 = (word)conio_cursor_x[conio_screen_layer]
|
||||
[433] if(cputc::$16!=conio_width) goto cputc::@return
|
||||
to:cputc::@4
|
||||
cputc::@4: scope:[cputc] from cputc::@3
|
||||
[439] phi()
|
||||
[440] call cputln
|
||||
[434] phi()
|
||||
[435] call cputln
|
||||
to:cputc::@return
|
||||
cputc::@return: scope:[cputc] from cputc::@1 cputc::@3 cputc::@4 cputc::@5 cputc::@6
|
||||
[441] return
|
||||
[436] return
|
||||
to:@return
|
||||
cputc::@5: scope:[cputc] from cputc::@2
|
||||
[442] if(conio_cursor_x[conio_screen_layer]!=conio_screen_width) goto cputc::@return
|
||||
[437] if(conio_cursor_x[conio_screen_layer]!=conio_screen_width) goto cputc::@return
|
||||
to:cputc::@6
|
||||
cputc::@6: scope:[cputc] from cputc::@5
|
||||
[443] phi()
|
||||
[444] call cputln
|
||||
[438] phi()
|
||||
[439] call cputln
|
||||
to:cputc::@return
|
||||
cputc::@1: scope:[cputc] from cputc::@7
|
||||
[445] phi()
|
||||
[446] call cputln
|
||||
[440] phi()
|
||||
[441] call cputln
|
||||
to:cputc::@return
|
||||
|
||||
byte vera_layer_get_color(byte vera_layer_get_color::layer)
|
||||
vera_layer_get_color: scope:[vera_layer_get_color] from clearline cputc
|
||||
[447] vera_layer_get_color::layer#2 = phi( clearline/vera_layer_get_color::layer#1, cputc/vera_layer_get_color::layer#0 )
|
||||
[448] vera_layer_get_color::$3 = vera_layer_get_color::layer#2 << 1
|
||||
[449] vera_layer_get_color::addr#0 = vera_layer_config[vera_layer_get_color::$3]
|
||||
[450] vera_layer_get_color::$0 = *vera_layer_get_color::addr#0 & VERA_LAYER_CONFIG_256C
|
||||
[451] if(0!=vera_layer_get_color::$0) goto vera_layer_get_color::@1
|
||||
[442] vera_layer_get_color::layer#2 = phi( clearline/vera_layer_get_color::layer#1, cputc/vera_layer_get_color::layer#0 )
|
||||
[443] vera_layer_get_color::$3 = vera_layer_get_color::layer#2 << 1
|
||||
[444] vera_layer_get_color::addr#0 = vera_layer_config[vera_layer_get_color::$3]
|
||||
[445] vera_layer_get_color::$0 = *vera_layer_get_color::addr#0 & VERA_LAYER_CONFIG_256C
|
||||
[446] if(0!=vera_layer_get_color::$0) goto vera_layer_get_color::@1
|
||||
to:vera_layer_get_color::@2
|
||||
vera_layer_get_color::@2: scope:[vera_layer_get_color] from vera_layer_get_color
|
||||
[452] vera_layer_get_color::$1 = vera_layer_backcolor[vera_layer_get_color::layer#2] << 4
|
||||
[453] vera_layer_get_color::return#2 = vera_layer_get_color::$1 | vera_layer_textcolor[vera_layer_get_color::layer#2]
|
||||
[447] vera_layer_get_color::$1 = vera_layer_backcolor[vera_layer_get_color::layer#2] << 4
|
||||
[448] vera_layer_get_color::return#2 = vera_layer_get_color::$1 | vera_layer_textcolor[vera_layer_get_color::layer#2]
|
||||
to:vera_layer_get_color::@return
|
||||
vera_layer_get_color::@return: scope:[vera_layer_get_color] from vera_layer_get_color::@1 vera_layer_get_color::@2
|
||||
[454] vera_layer_get_color::return#3 = phi( vera_layer_get_color::@1/vera_layer_get_color::return#1, vera_layer_get_color::@2/vera_layer_get_color::return#2 )
|
||||
[455] return
|
||||
[449] vera_layer_get_color::return#3 = phi( vera_layer_get_color::@1/vera_layer_get_color::return#1, vera_layer_get_color::@2/vera_layer_get_color::return#2 )
|
||||
[450] return
|
||||
to:@return
|
||||
vera_layer_get_color::@1: scope:[vera_layer_get_color] from vera_layer_get_color
|
||||
[456] vera_layer_get_color::return#1 = vera_layer_textcolor[vera_layer_get_color::layer#2]
|
||||
[451] vera_layer_get_color::return#1 = vera_layer_textcolor[vera_layer_get_color::layer#2]
|
||||
to:vera_layer_get_color::@return
|
||||
|
||||
void cputln()
|
||||
cputln: scope:[cputln] from cputc::@1 cputc::@4 cputc::@6
|
||||
[457] cputln::$2 = conio_screen_layer << 1
|
||||
[458] cputln::temp#0 = conio_line_text[cputln::$2]
|
||||
[459] cputln::temp#1 = cputln::temp#0 + conio_rowskip
|
||||
[460] cputln::$3 = conio_screen_layer << 1
|
||||
[461] conio_line_text[cputln::$3] = cputln::temp#1
|
||||
[462] conio_cursor_x[conio_screen_layer] = 0
|
||||
[463] conio_cursor_y[conio_screen_layer] = ++ conio_cursor_y[conio_screen_layer]
|
||||
[464] call cscroll
|
||||
[452] cputln::$2 = conio_screen_layer << 1
|
||||
[453] cputln::temp#0 = conio_line_text[cputln::$2]
|
||||
[454] cputln::temp#1 = cputln::temp#0 + conio_rowskip
|
||||
[455] cputln::$3 = conio_screen_layer << 1
|
||||
[456] conio_line_text[cputln::$3] = cputln::temp#1
|
||||
[457] conio_cursor_x[conio_screen_layer] = 0
|
||||
[458] conio_cursor_y[conio_screen_layer] = ++ conio_cursor_y[conio_screen_layer]
|
||||
[459] call cscroll
|
||||
to:cputln::@return
|
||||
cputln::@return: scope:[cputln] from cputln
|
||||
[465] return
|
||||
[460] return
|
||||
to:@return
|
||||
|
||||
void cscroll()
|
||||
cscroll: scope:[cscroll] from cputln
|
||||
[466] if(conio_cursor_y[conio_screen_layer]<conio_screen_height) goto cscroll::@return
|
||||
[461] if(conio_cursor_y[conio_screen_layer]<conio_screen_height) goto cscroll::@return
|
||||
to:cscroll::@1
|
||||
cscroll::@1: scope:[cscroll] from cscroll
|
||||
[467] if(0!=conio_scroll_enable[conio_screen_layer]) goto cscroll::@4
|
||||
[462] if(0!=conio_scroll_enable[conio_screen_layer]) goto cscroll::@4
|
||||
to:cscroll::@2
|
||||
cscroll::@2: scope:[cscroll] from cscroll::@1
|
||||
[468] if(conio_cursor_y[conio_screen_layer]<conio_height) goto cscroll::@return
|
||||
[463] if(conio_cursor_y[conio_screen_layer]<conio_height) goto cscroll::@return
|
||||
to:cscroll::@3
|
||||
cscroll::@3: scope:[cscroll] from cscroll::@2
|
||||
[469] phi()
|
||||
[464] phi()
|
||||
to:cscroll::@return
|
||||
cscroll::@return: scope:[cscroll] from cscroll cscroll::@2 cscroll::@3 cscroll::@5
|
||||
[470] return
|
||||
[465] return
|
||||
to:@return
|
||||
cscroll::@4: scope:[cscroll] from cscroll::@1
|
||||
[471] phi()
|
||||
[472] call insertup
|
||||
[466] phi()
|
||||
[467] call insertup
|
||||
to:cscroll::@5
|
||||
cscroll::@5: scope:[cscroll] from cscroll::@4
|
||||
[473] gotoxy::y#2 = conio_screen_height - 1
|
||||
[474] call gotoxy
|
||||
[468] gotoxy::y#2 = conio_screen_height - 1
|
||||
[469] call gotoxy
|
||||
to:cscroll::@return
|
||||
|
||||
void insertup()
|
||||
insertup: scope:[insertup] from cscroll::@4
|
||||
[475] insertup::cy#0 = conio_cursor_y[conio_screen_layer]
|
||||
[476] insertup::width#0 = conio_screen_width << 1
|
||||
[470] insertup::cy#0 = conio_cursor_y[conio_screen_layer]
|
||||
[471] insertup::width#0 = conio_screen_width << 1
|
||||
to:insertup::@1
|
||||
insertup::@1: scope:[insertup] from insertup insertup::@4
|
||||
[477] insertup::i#2 = phi( insertup/1, insertup::@4/insertup::i#1 )
|
||||
[478] if(insertup::i#2<=insertup::cy#0) goto insertup::@2
|
||||
[472] insertup::i#2 = phi( insertup/1, insertup::@4/insertup::i#1 )
|
||||
[473] if(insertup::i#2<=insertup::cy#0) goto insertup::@2
|
||||
to:insertup::@3
|
||||
insertup::@3: scope:[insertup] from insertup::@1
|
||||
[479] phi()
|
||||
[480] call clearline
|
||||
[474] phi()
|
||||
[475] call clearline
|
||||
to:insertup::@return
|
||||
insertup::@return: scope:[insertup] from insertup::@3
|
||||
[481] return
|
||||
[476] return
|
||||
to:@return
|
||||
insertup::@2: scope:[insertup] from insertup::@1
|
||||
[482] insertup::$3 = insertup::i#2 - 1
|
||||
[483] insertup::line#0 = insertup::$3 << conio_rowshift
|
||||
[484] insertup::start#0 = (byte*)CONIO_SCREEN_TEXT#104 + insertup::line#0
|
||||
[485] memcpy_in_vram::src#0 = insertup::start#0 + conio_rowskip
|
||||
[486] memcpy_in_vram::dest#0 = (void*)insertup::start#0
|
||||
[487] memcpy_in_vram::num#0 = insertup::width#0
|
||||
[488] call memcpy_in_vram
|
||||
[477] insertup::$3 = insertup::i#2 - 1
|
||||
[478] insertup::line#0 = insertup::$3 << conio_rowshift
|
||||
[479] insertup::start#0 = (byte*)CONIO_SCREEN_TEXT#104 + insertup::line#0
|
||||
[480] memcpy_in_vram::src#0 = insertup::start#0 + conio_rowskip
|
||||
[481] memcpy_in_vram::dest#0 = (void*)insertup::start#0
|
||||
[482] memcpy_in_vram::num#0 = insertup::width#0
|
||||
[483] call memcpy_in_vram
|
||||
to:insertup::@4
|
||||
insertup::@4: scope:[insertup] from insertup::@2
|
||||
[489] insertup::i#1 = ++ insertup::i#2
|
||||
[484] insertup::i#1 = ++ insertup::i#2
|
||||
to:insertup::@1
|
||||
|
||||
void clearline()
|
||||
clearline: scope:[clearline] from insertup::@3
|
||||
[490] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL
|
||||
[491] clearline::$5 = conio_screen_layer << 1
|
||||
[492] clearline::addr#0 = (byte*)CONIO_SCREEN_TEXT#104 + conio_line_text[clearline::$5]
|
||||
[493] clearline::$1 = < clearline::addr#0
|
||||
[494] *VERA_ADDRX_L = clearline::$1
|
||||
[495] clearline::$2 = > clearline::addr#0
|
||||
[496] *VERA_ADDRX_M = clearline::$2
|
||||
[497] *VERA_ADDRX_H = VERA_INC_1
|
||||
[498] vera_layer_get_color::layer#1 = conio_screen_layer
|
||||
[499] call vera_layer_get_color
|
||||
[500] vera_layer_get_color::return#4 = vera_layer_get_color::return#3
|
||||
[485] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL
|
||||
[486] clearline::$5 = conio_screen_layer << 1
|
||||
[487] clearline::addr#0 = (byte*)CONIO_SCREEN_TEXT#104 + conio_line_text[clearline::$5]
|
||||
[488] clearline::$1 = < clearline::addr#0
|
||||
[489] *VERA_ADDRX_L = clearline::$1
|
||||
[490] clearline::$2 = > clearline::addr#0
|
||||
[491] *VERA_ADDRX_M = clearline::$2
|
||||
[492] *VERA_ADDRX_H = VERA_INC_1
|
||||
[493] vera_layer_get_color::layer#1 = conio_screen_layer
|
||||
[494] call vera_layer_get_color
|
||||
[495] vera_layer_get_color::return#4 = vera_layer_get_color::return#3
|
||||
to:clearline::@4
|
||||
clearline::@4: scope:[clearline] from clearline
|
||||
[501] clearline::color#0 = vera_layer_get_color::return#4
|
||||
[496] clearline::color#0 = vera_layer_get_color::return#4
|
||||
to:clearline::@1
|
||||
clearline::@1: scope:[clearline] from clearline::@2 clearline::@4
|
||||
[502] clearline::c#2 = phi( clearline::@2/clearline::c#1, clearline::@4/0 )
|
||||
[503] if(clearline::c#2<conio_screen_width) goto clearline::@2
|
||||
[497] clearline::c#2 = phi( clearline::@2/clearline::c#1, clearline::@4/0 )
|
||||
[498] if(clearline::c#2<conio_screen_width) goto clearline::@2
|
||||
to:clearline::@3
|
||||
clearline::@3: scope:[clearline] from clearline::@1
|
||||
[504] conio_cursor_x[conio_screen_layer] = 0
|
||||
[499] conio_cursor_x[conio_screen_layer] = 0
|
||||
to:clearline::@return
|
||||
clearline::@return: scope:[clearline] from clearline::@3
|
||||
[505] return
|
||||
[500] return
|
||||
to:@return
|
||||
clearline::@2: scope:[clearline] from clearline::@1
|
||||
[506] *VERA_DATA0 = ' '
|
||||
[507] *VERA_DATA0 = clearline::color#0
|
||||
[508] clearline::c#1 = ++ clearline::c#2
|
||||
[501] *VERA_DATA0 = ' '
|
||||
[502] *VERA_DATA0 = clearline::color#0
|
||||
[503] clearline::c#1 = ++ clearline::c#2
|
||||
to:clearline::@1
|
||||
|
||||
void memcpy_in_vram(byte memcpy_in_vram::dest_bank , void* memcpy_in_vram::dest , byte memcpy_in_vram::dest_increment , byte memcpy_in_vram::src_bank , void* memcpy_in_vram::src , byte memcpy_in_vram::src_increment , word memcpy_in_vram::num)
|
||||
memcpy_in_vram: scope:[memcpy_in_vram] from insertup::@2
|
||||
[509] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL
|
||||
[510] memcpy_in_vram::$0 = < (void*)memcpy_in_vram::src#0
|
||||
[511] *VERA_ADDRX_L = memcpy_in_vram::$0
|
||||
[512] memcpy_in_vram::$1 = > (void*)memcpy_in_vram::src#0
|
||||
[513] *VERA_ADDRX_M = memcpy_in_vram::$1
|
||||
[514] *VERA_ADDRX_H = VERA_INC_1
|
||||
[515] *VERA_CTRL = *VERA_CTRL | VERA_ADDRSEL
|
||||
[516] memcpy_in_vram::$3 = < memcpy_in_vram::dest#0
|
||||
[517] *VERA_ADDRX_L = memcpy_in_vram::$3
|
||||
[518] memcpy_in_vram::$4 = > memcpy_in_vram::dest#0
|
||||
[519] *VERA_ADDRX_M = memcpy_in_vram::$4
|
||||
[520] *VERA_ADDRX_H = VERA_INC_1
|
||||
[504] *VERA_CTRL = *VERA_CTRL & ~VERA_ADDRSEL
|
||||
[505] memcpy_in_vram::$0 = < (void*)memcpy_in_vram::src#0
|
||||
[506] *VERA_ADDRX_L = memcpy_in_vram::$0
|
||||
[507] memcpy_in_vram::$1 = > (void*)memcpy_in_vram::src#0
|
||||
[508] *VERA_ADDRX_M = memcpy_in_vram::$1
|
||||
[509] *VERA_ADDRX_H = VERA_INC_1
|
||||
[510] *VERA_CTRL = *VERA_CTRL | VERA_ADDRSEL
|
||||
[511] memcpy_in_vram::$3 = < memcpy_in_vram::dest#0
|
||||
[512] *VERA_ADDRX_L = memcpy_in_vram::$3
|
||||
[513] memcpy_in_vram::$4 = > memcpy_in_vram::dest#0
|
||||
[514] *VERA_ADDRX_M = memcpy_in_vram::$4
|
||||
[515] *VERA_ADDRX_H = VERA_INC_1
|
||||
to:memcpy_in_vram::@1
|
||||
memcpy_in_vram::@1: scope:[memcpy_in_vram] from memcpy_in_vram memcpy_in_vram::@2
|
||||
[521] memcpy_in_vram::i#2 = phi( memcpy_in_vram/0, memcpy_in_vram::@2/memcpy_in_vram::i#1 )
|
||||
[522] if(memcpy_in_vram::i#2<memcpy_in_vram::num#0) goto memcpy_in_vram::@2
|
||||
[516] memcpy_in_vram::i#2 = phi( memcpy_in_vram/0, memcpy_in_vram::@2/memcpy_in_vram::i#1 )
|
||||
[517] if(memcpy_in_vram::i#2<memcpy_in_vram::num#0) goto memcpy_in_vram::@2
|
||||
to:memcpy_in_vram::@return
|
||||
memcpy_in_vram::@return: scope:[memcpy_in_vram] from memcpy_in_vram::@1
|
||||
[523] return
|
||||
[518] return
|
||||
to:@return
|
||||
memcpy_in_vram::@2: scope:[memcpy_in_vram] from memcpy_in_vram::@1
|
||||
[524] *VERA_DATA1 = *VERA_DATA0
|
||||
[525] memcpy_in_vram::i#1 = ++ memcpy_in_vram::i#2
|
||||
[519] *VERA_DATA1 = *VERA_DATA0
|
||||
[520] memcpy_in_vram::i#1 = ++ memcpy_in_vram::i#2
|
||||
to:memcpy_in_vram::@1
|
||||
|
File diff suppressed because one or more lines are too long
@ -1,9 +1,9 @@
|
||||
constant const byte BLACK = 0
|
||||
constant const byte BLUE = 6
|
||||
byte CONIO_SCREEN_BANK
|
||||
byte CONIO_SCREEN_BANK#105 CONIO_SCREEN_BANK zp[1]:62 44097.37004405286
|
||||
byte CONIO_SCREEN_BANK#105 CONIO_SCREEN_BANK zp[1]:64 44687.95982142857
|
||||
byte* CONIO_SCREEN_TEXT
|
||||
word CONIO_SCREEN_TEXT#104 CONIO_SCREEN_TEXT zp[2]:63 0.36727272727272725
|
||||
word CONIO_SCREEN_TEXT#104 CONIO_SCREEN_TEXT zp[2]:65 0.3713235294117647
|
||||
constant const byte DARK_GREY = $b
|
||||
constant const byte GREEN = 5
|
||||
constant const byte GREY = $c
|
||||
@ -66,15 +66,15 @@ byte~ clearline::$1 reg byte a 2.00000000002E11
|
||||
byte~ clearline::$2 reg byte a 2.00000000002E11
|
||||
byte~ clearline::$5 reg byte a 2.00000000002E11
|
||||
byte* clearline::addr
|
||||
byte* clearline::addr#0 addr zp[2]:106 1.00000000001E11
|
||||
byte* clearline::addr#0 addr zp[2]:94 1.00000000001E11
|
||||
word clearline::c
|
||||
word clearline::c#1 c zp[2]:84 2.0E16
|
||||
word clearline::c#2 c zp[2]:84 7.5E15
|
||||
word clearline::c#1 c zp[2]:82 2.0E16
|
||||
word clearline::c#2 c zp[2]:82 7.5E15
|
||||
byte clearline::color
|
||||
byte clearline::color#0 reg byte x 1.6666833333333335E15
|
||||
void clrscr()
|
||||
byte~ clrscr::$0 reg byte a 2002.0
|
||||
byte~ clrscr::$1 zp[1]:69 400.4
|
||||
byte~ clrscr::$1 zp[1]:71 400.4
|
||||
byte~ clrscr::$2 reg byte a 2002.0
|
||||
byte~ clrscr::$5 reg byte a 20002.0
|
||||
byte~ clrscr::$6 reg byte a 20002.0
|
||||
@ -85,25 +85,25 @@ byte clrscr::c#1 reg byte y 200002.0
|
||||
byte clrscr::c#2 reg byte y 75000.75
|
||||
byte* clrscr::ch
|
||||
byte clrscr::color
|
||||
byte clrscr::color#0 color zp[1]:69 5941.294117647059
|
||||
byte clrscr::color#0 color zp[1]:71 5941.294117647059
|
||||
byte clrscr::l
|
||||
byte clrscr::l#1 reg byte x 20002.0
|
||||
byte clrscr::l#2 reg byte x 2000.2
|
||||
byte* clrscr::line_text
|
||||
byte* clrscr::line_text#0 line_text zp[2]:82 182.0
|
||||
byte* clrscr::line_text#1 line_text zp[2]:82 10001.0
|
||||
byte* clrscr::line_text#2 line_text zp[2]:82 2928.9285714285716
|
||||
byte* clrscr::line_text#0 line_text zp[2]:30 182.0
|
||||
byte* clrscr::line_text#1 line_text zp[2]:30 10001.0
|
||||
byte* clrscr::line_text#2 line_text zp[2]:30 2928.9285714285716
|
||||
constant byte* conio_cursor_x[2] = { 0, 0 }
|
||||
constant byte* conio_cursor_y[2] = { 0, 0 }
|
||||
word conio_height loadstore zp[2]:35 4739384.383886256
|
||||
word conio_height loadstore zp[2]:37 4807740.889423077
|
||||
constant word* conio_line_text[2] = { 0, 0 }
|
||||
byte conio_rowshift loadstore zp[1]:37 4.672943925234135E12
|
||||
word conio_rowskip loadstore zp[2]:38 4.237288559364856E12
|
||||
volatile byte conio_screen_height loadstore zp[1]:31 5.240174684279477E7
|
||||
byte conio_screen_layer loadstore zp[1]:32 1.1452333531933334E9
|
||||
volatile byte conio_screen_width loadstore zp[1]:30 3.787886367424244E13
|
||||
byte conio_rowshift loadstore zp[1]:39 4.739383886256422E12
|
||||
word conio_rowskip loadstore zp[2]:40 4.2918459227901543E12
|
||||
volatile byte conio_screen_height loadstore zp[1]:33 5.309734525221239E7
|
||||
byte conio_screen_layer loadstore zp[1]:34 1.1568013668619528E9
|
||||
volatile byte conio_screen_width loadstore zp[1]:32 3.8314252911877414E13
|
||||
constant byte* conio_scroll_enable[2] = { 1, 1 }
|
||||
word conio_width loadstore zp[2]:33 47418.333333333336
|
||||
word conio_width loadstore zp[2]:35 48095.73809523809
|
||||
void conio_x16_init()
|
||||
constant byte* const conio_x16_init::BASIC_CURSOR_LINE = (byte*) 214
|
||||
byte conio_x16_init::line
|
||||
@ -112,38 +112,38 @@ byte conio_x16_init::line#1 line zp[1]:2 22.0
|
||||
byte conio_x16_init::line#3 line zp[1]:2 33.0
|
||||
void cputc(byte cputc::c)
|
||||
byte~ cputc::$15 reg byte a 2.0000002E7
|
||||
word~ cputc::$16 zp[2]:96 2.0000002E7
|
||||
word~ cputc::$16 zp[2]:84 2.0000002E7
|
||||
byte~ cputc::$2 reg byte a 2.0000002E7
|
||||
byte~ cputc::$4 reg byte a 2.0000002E7
|
||||
byte~ cputc::$5 reg byte a 2.0000002E7
|
||||
byte~ cputc::$6 reg byte a 2.0000002E7
|
||||
byte cputc::c
|
||||
byte cputc::c#0 c zp[1]:69 2002.0
|
||||
byte cputc::c#1 c zp[1]:69 1000001.0
|
||||
byte cputc::c#2 c zp[1]:69 1235353.1764705884
|
||||
byte cputc::c#0 c zp[1]:71 2002.0
|
||||
byte cputc::c#1 c zp[1]:71 1000001.0
|
||||
byte cputc::c#2 c zp[1]:71 1235353.1764705884
|
||||
byte cputc::color
|
||||
byte cputc::color#0 reg byte x 1428571.5714285714
|
||||
byte* cputc::conio_addr
|
||||
byte* cputc::conio_addr#0 conio_addr zp[2]:94 1.0000001E7
|
||||
byte* cputc::conio_addr#1 conio_addr zp[2]:94 6000000.6
|
||||
byte* cputc::conio_addr#0 conio_addr zp[2]:82 1.0000001E7
|
||||
byte* cputc::conio_addr#1 conio_addr zp[2]:82 6000000.6
|
||||
byte cputc::scroll_enable
|
||||
byte cputc::scroll_enable#0 reg byte a 2.0000002E7
|
||||
void cputln()
|
||||
byte~ cputln::$2 reg byte a 2.00000002E8
|
||||
byte~ cputln::$3 reg byte a 2.00000002E8
|
||||
word cputln::temp
|
||||
word cputln::temp#0 temp zp[2]:98 2.00000002E8
|
||||
word cputln::temp#1 temp zp[2]:98 1.00000001E8
|
||||
word cputln::temp#0 temp zp[2]:86 2.00000002E8
|
||||
word cputln::temp#1 temp zp[2]:86 1.00000001E8
|
||||
void cputs(const byte* cputs::s)
|
||||
byte cputs::c
|
||||
byte cputs::c#1 reg byte a 1001.0
|
||||
const byte* cputs::s
|
||||
const byte* cputs::s#0 s zp[2]:82 500.5
|
||||
const byte* cputs::s#10 s zp[2]:82 1552.0
|
||||
const byte* cputs::s#11 s zp[2]:82 101.0
|
||||
const byte* cputs::s#0 s zp[2]:30 500.5
|
||||
const byte* cputs::s#10 s zp[2]:30 1552.0
|
||||
const byte* cputs::s#11 s zp[2]:30 101.0
|
||||
void cscroll()
|
||||
volatile signed word delta_x loadstore zp[2]:44 120.0
|
||||
volatile signed word delta_y loadstore zp[2]:46 12.0
|
||||
volatile signed word delta_x loadstore zp[2]:46 120.0
|
||||
volatile signed word delta_y loadstore zp[2]:48 12.0
|
||||
void draw_characters(dword draw_characters::tilebase)
|
||||
byte~ draw_characters::$2 reg byte x 2000002.0
|
||||
byte~ draw_characters::$3 reg byte a 2000002.0
|
||||
@ -151,12 +151,12 @@ byte draw_characters::b
|
||||
byte draw_characters::b#1 b zp[1]:29 1500001.5
|
||||
byte draw_characters::b#2 b zp[1]:29 375000.375
|
||||
byte draw_characters::bit
|
||||
byte draw_characters::bit#0 bit zp[1]:88 100000.18181818182
|
||||
byte draw_characters::bit#0 bit zp[1]:78 100000.18181818182
|
||||
byte draw_characters::bit#1 reg byte a 2000002.0
|
||||
byte draw_characters::data
|
||||
byte draw_characters::r
|
||||
byte draw_characters::r#1 r zp[1]:23 15001.5
|
||||
byte draw_characters::r#12 r zp[1]:23 714.3571428571429
|
||||
byte draw_characters::r#12 r zp[1]:23 800.08
|
||||
dword draw_characters::tilebase
|
||||
dword draw_characters::tilebase#0 tilebase zp[4]:14 22.0
|
||||
dword draw_characters::tilebase#1 tilebase zp[4]:14 22.0
|
||||
@ -164,33 +164,30 @@ dword draw_characters::tilebase#2 tilebase zp[4]:14 22.0
|
||||
dword draw_characters::tilebase#3 tilebase zp[4]:14 667.3333333333334
|
||||
dword draw_characters::tilebase#4 tilebase zp[4]:14 67.0
|
||||
dword draw_characters::tilecolumn
|
||||
dword draw_characters::tilecolumn#1 tilecolumn zp[4]:19 1148.2962962962963
|
||||
dword draw_characters::tilecolumn#10 tilecolumn_1 zp[4]:24 23182.090909090908
|
||||
dword draw_characters::tilecolumn#1 tilecolumn zp[4]:19 1291.8333333333333
|
||||
dword draw_characters::tilecolumn#10 tilecolumn_1 zp[4]:24 26842.42105263158
|
||||
dword draw_characters::tilecolumn#12 tilecolumn zp[4]:19 2002.0
|
||||
dword draw_characters::tilecolumn#14 tilecolumn_1 zp[4]:24 20002.0
|
||||
dword draw_characters::tilecolumn#2 tilecolumn_1 zp[4]:24 66667.33333333333
|
||||
dword draw_characters::tilerow
|
||||
dword draw_characters::tilerow#1 tilerow zp[4]:14 97.0
|
||||
dword draw_characters::tilerow#1 tilerow zp[4]:14 107.0344827586207
|
||||
dword draw_characters::tilerow#2 tilerow_1 zp[4]:19 6667.333333333333
|
||||
word~ draw_characters::vera_vram_address01_$0 zp[2]:82 200002.0
|
||||
byte~ draw_characters::vera_vram_address01_$0 reg byte a 200002.0
|
||||
byte~ draw_characters::vera_vram_address01_$1 reg byte a 200002.0
|
||||
word~ draw_characters::vera_vram_address01_$2 zp[2]:84 200002.0
|
||||
byte~ draw_characters::vera_vram_address01_$3 reg byte a 200002.0
|
||||
word~ draw_characters::vera_vram_address01_$4 zp[2]:86 200002.0
|
||||
byte~ draw_characters::vera_vram_address01_$6 reg byte a 200002.0
|
||||
dword draw_characters::vera_vram_address01_bankaddr
|
||||
byte draw_characters::vera_vram_address01_incr
|
||||
byte draw_characters::x
|
||||
byte draw_characters::x#1 x zp[1]:28 150001.5
|
||||
byte draw_characters::x#10 x zp[1]:28 8695.739130434782
|
||||
byte draw_characters::x#10 x zp[1]:28 10000.1
|
||||
byte draw_characters::y
|
||||
byte draw_characters::y#1 y zp[1]:18 1501.5
|
||||
byte draw_characters::y#14 y zp[1]:18 60.666666666666664
|
||||
byte draw_characters::y#14 y zp[1]:18 66.73333333333333
|
||||
void gotoxy(byte gotoxy::x , byte gotoxy::y)
|
||||
byte~ gotoxy::$5 reg byte a 2.0000000002E10
|
||||
word~ gotoxy::$6 zp[2]:67 2.0000000002E10
|
||||
word~ gotoxy::$6 zp[2]:69 2.0000000002E10
|
||||
word gotoxy::line_offset
|
||||
word gotoxy::line_offset#0 line_offset zp[2]:67 1.0000000001E10
|
||||
word gotoxy::line_offset#0 line_offset zp[2]:69 1.0000000001E10
|
||||
byte gotoxy::x
|
||||
byte gotoxy::y
|
||||
byte gotoxy::y#1 reg byte x 22.0
|
||||
@ -200,33 +197,33 @@ byte gotoxy::y#5 reg byte x 4.0000000004E9
|
||||
void insertup()
|
||||
byte~ insertup::$3 reg byte a 2.000000000000002E15
|
||||
byte insertup::cy
|
||||
byte insertup::cy#0 cy zp[1]:100 8.333416666666684E13
|
||||
byte insertup::cy#0 cy zp[1]:88 8.333416666666684E13
|
||||
byte insertup::i
|
||||
byte insertup::i#1 reg byte x 2.000000000000002E15
|
||||
byte insertup::i#2 reg byte x 4.444444444444449E14
|
||||
word insertup::line
|
||||
word insertup::line#0 line zp[2]:102 2.000000000000002E15
|
||||
word insertup::line#0 line zp[2]:90 2.000000000000002E15
|
||||
byte* insertup::start
|
||||
byte* insertup::start#0 start zp[2]:102 1.000000000000001E15
|
||||
byte* insertup::start#0 start zp[2]:90 1.000000000000001E15
|
||||
byte insertup::width
|
||||
byte insertup::width#0 width zp[1]:101 9.091000000000019E13
|
||||
byte insertup::width#0 width zp[1]:89 9.091000000000019E13
|
||||
__interrupt(rom_sys_cx16) void irq_vsync()
|
||||
signed word~ irq_vsync::$10 zp[2]:50 4.0
|
||||
signed word~ irq_vsync::$11 zp[2]:52 4.0
|
||||
signed word~ irq_vsync::$10 zp[2]:52 4.0
|
||||
signed word~ irq_vsync::$11 zp[2]:54 4.0
|
||||
byte~ irq_vsync::vera_layer_set_horizontal_scroll1_$0 reg byte a 4.0
|
||||
byte~ irq_vsync::vera_layer_set_horizontal_scroll1_$1 reg byte a 4.0
|
||||
byte irq_vsync::vera_layer_set_horizontal_scroll1_layer
|
||||
word irq_vsync::vera_layer_set_horizontal_scroll1_scroll
|
||||
word irq_vsync::vera_layer_set_horizontal_scroll1_scroll#0 vera_layer_set_horizontal_scroll1_scroll zp[2]:54 2.0
|
||||
word irq_vsync::vera_layer_set_horizontal_scroll1_scroll#0 vera_layer_set_horizontal_scroll1_scroll zp[2]:56 2.0
|
||||
byte~ irq_vsync::vera_layer_set_vertical_scroll1_$0 reg byte a 4.0
|
||||
byte~ irq_vsync::vera_layer_set_vertical_scroll1_$1 reg byte a 4.0
|
||||
byte irq_vsync::vera_layer_set_vertical_scroll1_layer
|
||||
word irq_vsync::vera_layer_set_vertical_scroll1_scroll
|
||||
word irq_vsync::vera_layer_set_vertical_scroll1_scroll#0 vera_layer_set_vertical_scroll1_scroll zp[2]:56 2.0
|
||||
word irq_vsync::vera_layer_set_vertical_scroll1_scroll#0 vera_layer_set_vertical_scroll1_scroll zp[2]:58 2.0
|
||||
byte kbhit()
|
||||
constant byte* const kbhit::GETIN = (byte*) 65508
|
||||
constant byte* const kbhit::IN_DEV = (byte*) 650
|
||||
volatile byte kbhit::ch loadstore zp[1]:89 1001.0
|
||||
volatile byte kbhit::ch loadstore zp[1]:79 1001.0
|
||||
constant byte* const kbhit::chptr = &kbhit::ch
|
||||
byte kbhit::return
|
||||
byte kbhit::return#0 reg byte a 2002.0
|
||||
@ -269,7 +266,7 @@ byte main::textcolor4_color
|
||||
byte main::textcolor5_color
|
||||
byte main::textcolor6_color
|
||||
dword main::tilebase
|
||||
dword main::tilebase#0 tilebase zp[4]:58 0.7746478873239436
|
||||
dword main::tilebase#0 tilebase zp[4]:60 0.7746478873239436
|
||||
byte~ main::vera_layer_hide1_$0 reg byte a 22.0
|
||||
byte main::vera_layer_hide1_layer
|
||||
byte~ main::vera_layer_hide2_$0 reg byte a 22.0
|
||||
@ -283,23 +280,23 @@ byte~ memcpy_in_vram::$1 reg byte a 2.0E16
|
||||
byte~ memcpy_in_vram::$3 reg byte a 2.0E16
|
||||
byte~ memcpy_in_vram::$4 reg byte a 2.0E16
|
||||
void* memcpy_in_vram::dest
|
||||
void* memcpy_in_vram::dest#0 dest zp[2]:102 1.9090909090909092E15
|
||||
void* memcpy_in_vram::dest#0 dest zp[2]:90 1.9090909090909092E15
|
||||
byte memcpy_in_vram::dest_bank
|
||||
byte memcpy_in_vram::dest_increment
|
||||
word memcpy_in_vram::i
|
||||
word memcpy_in_vram::i#1 i zp[2]:84 2.0E22
|
||||
word memcpy_in_vram::i#2 i zp[2]:84 1.0E22
|
||||
word memcpy_in_vram::i#1 i zp[2]:82 2.0E22
|
||||
word memcpy_in_vram::i#2 i zp[2]:82 1.0E22
|
||||
word memcpy_in_vram::num
|
||||
word memcpy_in_vram::num#0 num zp[2]:104 5.882353529411765E20
|
||||
word memcpy_in_vram::num#0 num zp[2]:92 5.882353529411765E20
|
||||
void* memcpy_in_vram::src
|
||||
byte* memcpy_in_vram::src#0 src zp[2]:106 1.6666666666666684E14
|
||||
byte* memcpy_in_vram::src#0 src zp[2]:94 1.6666666666666684E14
|
||||
byte memcpy_in_vram::src_bank
|
||||
byte memcpy_in_vram::src_increment
|
||||
void screenlayer(byte screenlayer::layer)
|
||||
word~ screenlayer::$2 zp[2]:76 202.0
|
||||
word~ screenlayer::$2 zp[2]:80 202.0
|
||||
byte~ screenlayer::$3 reg byte a 202.0
|
||||
word~ screenlayer::$4 zp[2]:67 202.0
|
||||
word~ screenlayer::$5 zp[2]:73 202.0
|
||||
word~ screenlayer::$4 zp[2]:69 202.0
|
||||
word~ screenlayer::$5 zp[2]:76 202.0
|
||||
byte screenlayer::layer
|
||||
byte screenlayer::layer#5 reg byte a 101.0
|
||||
byte~ screenlayer::vera_layer_get_height1_$0 reg byte a 202.0
|
||||
@ -307,23 +304,23 @@ byte~ screenlayer::vera_layer_get_height1_$1 reg byte a 202.0
|
||||
byte~ screenlayer::vera_layer_get_height1_$2 reg byte a 202.0
|
||||
byte~ screenlayer::vera_layer_get_height1_$3 reg byte a 202.0
|
||||
byte* screenlayer::vera_layer_get_height1_config
|
||||
byte* screenlayer::vera_layer_get_height1_config#0 vera_layer_get_height1_config zp[2]:70 202.0
|
||||
byte* screenlayer::vera_layer_get_height1_config#0 vera_layer_get_height1_config zp[2]:72 202.0
|
||||
byte screenlayer::vera_layer_get_height1_layer
|
||||
byte screenlayer::vera_layer_get_height1_layer#0 reg byte a 202.0
|
||||
word screenlayer::vera_layer_get_height1_return
|
||||
word screenlayer::vera_layer_get_height1_return#0 vera_layer_get_height1_return zp[2]:73 202.0
|
||||
word screenlayer::vera_layer_get_height1_return#1 vera_layer_get_height1_return zp[2]:73 202.0
|
||||
word screenlayer::vera_layer_get_height1_return#0 vera_layer_get_height1_return zp[2]:76 202.0
|
||||
word screenlayer::vera_layer_get_height1_return#1 vera_layer_get_height1_return zp[2]:76 202.0
|
||||
byte~ screenlayer::vera_layer_get_width1_$0 reg byte a 202.0
|
||||
byte~ screenlayer::vera_layer_get_width1_$1 reg byte a 202.0
|
||||
byte~ screenlayer::vera_layer_get_width1_$2 reg byte a 202.0
|
||||
byte~ screenlayer::vera_layer_get_width1_$3 reg byte a 202.0
|
||||
byte* screenlayer::vera_layer_get_width1_config
|
||||
byte* screenlayer::vera_layer_get_width1_config#0 vera_layer_get_width1_config zp[2]:65 202.0
|
||||
byte* screenlayer::vera_layer_get_width1_config#0 vera_layer_get_width1_config zp[2]:67 202.0
|
||||
byte screenlayer::vera_layer_get_width1_layer
|
||||
byte screenlayer::vera_layer_get_width1_layer#0 reg byte a 202.0
|
||||
word screenlayer::vera_layer_get_width1_return
|
||||
word screenlayer::vera_layer_get_width1_return#0 vera_layer_get_width1_return zp[2]:76 202.0
|
||||
word screenlayer::vera_layer_get_width1_return#1 vera_layer_get_width1_return zp[2]:76 202.0
|
||||
word screenlayer::vera_layer_get_width1_return#0 vera_layer_get_width1_return zp[2]:80 202.0
|
||||
word screenlayer::vera_layer_get_width1_return#1 vera_layer_get_width1_return zp[2]:80 202.0
|
||||
void screensize(byte* screensize::x , byte* screensize::y)
|
||||
byte~ screensize::$1 reg byte a 202.0
|
||||
byte~ screensize::$3 reg byte a 202.0
|
||||
@ -340,9 +337,9 @@ byte scroll::old
|
||||
byte scroll::onoff
|
||||
constant byte scroll::onoff#0 onoff = 0
|
||||
byte scroll::return
|
||||
volatile signed word scroll_x loadstore zp[2]:40 0.9333333333333332
|
||||
volatile signed word scroll_y loadstore zp[2]:42 0.7
|
||||
volatile signed word speed loadstore zp[2]:48 0.5882352941176471
|
||||
volatile signed word scroll_x loadstore zp[2]:42 0.9333333333333332
|
||||
volatile signed word scroll_y loadstore zp[2]:44 0.7
|
||||
volatile signed word speed loadstore zp[2]:50 0.5882352941176471
|
||||
constant byte* vera_layer_backcolor[2] = { BLUE, BLUE }
|
||||
constant byte** vera_layer_config[2] = { VERA_L0_CONFIG, VERA_L1_CONFIG }
|
||||
constant byte* vera_layer_enable[2] = { VERA_LAYER0_ENABLE, VERA_LAYER1_ENABLE }
|
||||
@ -357,7 +354,7 @@ byte~ vera_layer_get_color::$0 reg byte a 2.000000000002E12
|
||||
byte~ vera_layer_get_color::$1 reg byte a 2.000000000002E12
|
||||
byte~ vera_layer_get_color::$3 reg byte a 2.000000000002E12
|
||||
byte* vera_layer_get_color::addr
|
||||
byte* vera_layer_get_color::addr#0 addr zp[2]:98 2.000000000002E12
|
||||
byte* vera_layer_get_color::addr#0 addr zp[2]:86 2.000000000002E12
|
||||
byte vera_layer_get_color::layer
|
||||
byte vera_layer_get_color::layer#0 reg byte x 2.0000002E7
|
||||
byte vera_layer_get_color::layer#1 reg byte x 2.00000000002E11
|
||||
@ -379,8 +376,8 @@ byte~ vera_layer_get_mapbase_offset::$0 reg byte a 2002.0
|
||||
byte vera_layer_get_mapbase_offset::layer
|
||||
byte vera_layer_get_mapbase_offset::layer#0 reg byte a 1102.0
|
||||
word vera_layer_get_mapbase_offset::return
|
||||
word vera_layer_get_mapbase_offset::return#0 return zp[2]:67 367.33333333333337
|
||||
word vera_layer_get_mapbase_offset::return#2 return zp[2]:67 202.0
|
||||
word vera_layer_get_mapbase_offset::return#0 return zp[2]:69 367.33333333333337
|
||||
word vera_layer_get_mapbase_offset::return#2 return zp[2]:69 202.0
|
||||
byte vera_layer_get_rowshift(byte vera_layer_get_rowshift::layer)
|
||||
byte vera_layer_get_rowshift::layer
|
||||
byte vera_layer_get_rowshift::layer#0 reg byte x 1102.0
|
||||
@ -392,8 +389,8 @@ byte~ vera_layer_get_rowskip::$0 reg byte a 2002.0
|
||||
byte vera_layer_get_rowskip::layer
|
||||
byte vera_layer_get_rowskip::layer#0 reg byte a 1102.0
|
||||
word vera_layer_get_rowskip::return
|
||||
word vera_layer_get_rowskip::return#0 return zp[2]:67 367.33333333333337
|
||||
word vera_layer_get_rowskip::return#2 return zp[2]:67 202.0
|
||||
word vera_layer_get_rowskip::return#0 return zp[2]:69 367.33333333333337
|
||||
word vera_layer_get_rowskip::return#2 return zp[2]:69 202.0
|
||||
byte vera_layer_get_textcolor(byte vera_layer_get_textcolor::layer)
|
||||
byte vera_layer_get_textcolor::layer
|
||||
byte vera_layer_get_textcolor::layer#0 reg byte x 11002.0
|
||||
@ -402,14 +399,14 @@ byte vera_layer_get_textcolor::return#0 reg byte a 2002.0
|
||||
byte vera_layer_get_textcolor::return#1 reg byte a 3667.333333333333
|
||||
dword vera_layer_get_tilebase_address(byte vera_layer_get_tilebase_address::layer)
|
||||
dword vera_layer_get_tilebase_address::address
|
||||
dword vera_layer_get_tilebase_address::address#0 address zp[4]:58 202.0
|
||||
dword vera_layer_get_tilebase_address::address#1 address zp[4]:58 202.0
|
||||
dword vera_layer_get_tilebase_address::address#2 address zp[4]:58 202.0
|
||||
dword vera_layer_get_tilebase_address::address#0 address zp[4]:60 202.0
|
||||
dword vera_layer_get_tilebase_address::address#1 address zp[4]:60 202.0
|
||||
dword vera_layer_get_tilebase_address::address#2 address zp[4]:60 202.0
|
||||
byte vera_layer_get_tilebase_address::layer
|
||||
constant byte vera_layer_get_tilebase_address::layer#0 layer = 1
|
||||
dword vera_layer_get_tilebase_address::return
|
||||
dword vera_layer_get_tilebase_address::return#0 return zp[4]:58 37.33333333333333
|
||||
dword vera_layer_get_tilebase_address::return#2 return zp[4]:58 22.0
|
||||
dword vera_layer_get_tilebase_address::return#0 return zp[4]:60 37.33333333333333
|
||||
dword vera_layer_get_tilebase_address::return#2 return zp[4]:60 22.0
|
||||
byte vera_layer_get_tilebase_address::tilebase
|
||||
byte vera_layer_get_tilebase_address::tilebase#0 reg byte a 101.0
|
||||
constant byte** vera_layer_hscroll_h[2] = { VERA_L0_HSCROLL_H, VERA_L1_HSCROLL_H }
|
||||
@ -432,18 +429,16 @@ constant byte vera_layer_mode_text::tileheight#0 tileheight = 8
|
||||
byte vera_layer_mode_text::tilewidth
|
||||
constant byte vera_layer_mode_text::tilewidth#0 tilewidth = 8
|
||||
void vera_layer_mode_tile(byte vera_layer_mode_tile::layer , dword vera_layer_mode_tile::mapbase_address , dword vera_layer_mode_tile::tilebase_address , word vera_layer_mode_tile::mapwidth , word vera_layer_mode_tile::mapheight , byte vera_layer_mode_tile::tilewidth , byte vera_layer_mode_tile::tileheight , byte vera_layer_mode_tile::color_depth)
|
||||
word~ vera_layer_mode_tile::$1 zp[2]:70 1001.0
|
||||
word~ vera_layer_mode_tile::$10 zp[2]:80 2002.0
|
||||
word~ vera_layer_mode_tile::$1 zp[2]:72 1001.0
|
||||
byte~ vera_layer_mode_tile::$11 reg byte a 2002.0
|
||||
byte~ vera_layer_mode_tile::$12 reg byte a 2002.0
|
||||
byte~ vera_layer_mode_tile::$13 reg byte a 2002.0
|
||||
byte~ vera_layer_mode_tile::$14 reg byte a 2002.0
|
||||
byte~ vera_layer_mode_tile::$15 reg byte a 2002.0
|
||||
byte~ vera_layer_mode_tile::$16 reg byte a 2002.0
|
||||
byte~ vera_layer_mode_tile::$19 zp[1]:72 231.0
|
||||
word~ vera_layer_mode_tile::$2 zp[2]:73 1001.0
|
||||
byte~ vera_layer_mode_tile::$20 zp[1]:75 250.25
|
||||
word~ vera_layer_mode_tile::$4 zp[2]:90 2002.0
|
||||
word~ vera_layer_mode_tile::$7 zp[2]:76 2002.0
|
||||
word~ vera_layer_mode_tile::$8 zp[2]:78 1001.0
|
||||
byte~ vera_layer_mode_tile::$17 zp[1]:74 250.25
|
||||
byte~ vera_layer_mode_tile::$18 zp[1]:75 273.0
|
||||
byte~ vera_layer_mode_tile::$2 reg byte a 2002.0
|
||||
word~ vera_layer_mode_tile::$6 zp[2]:76 2002.0
|
||||
byte~ vera_layer_mode_tile::$7 reg byte a 2002.0
|
||||
byte vera_layer_mode_tile::color_depth
|
||||
byte vera_layer_mode_tile::config
|
||||
byte vera_layer_mode_tile::config#10 reg byte x 2002.0
|
||||
@ -452,16 +447,16 @@ byte vera_layer_mode_tile::config#12 reg byte x 2002.0
|
||||
byte vera_layer_mode_tile::config#21 reg byte x 1001.0
|
||||
byte vera_layer_mode_tile::config#25 reg byte x 3003.0
|
||||
byte vera_layer_mode_tile::layer
|
||||
byte vera_layer_mode_tile::layer#10 layer zp[1]:3 254.4915254237289
|
||||
byte vera_layer_mode_tile::layer#10 layer zp[1]:3 263.4210526315791
|
||||
byte vera_layer_mode_tile::mapbase
|
||||
byte vera_layer_mode_tile::mapbase#0 reg byte x 1001.0
|
||||
dword vera_layer_mode_tile::mapbase_address
|
||||
dword vera_layer_mode_tile::mapbase_address#0 mapbase_address zp[4]:4 2002.0
|
||||
dword vera_layer_mode_tile::mapbase_address#10 mapbase_address zp[4]:4 111.22222222222223
|
||||
word vera_layer_mode_tile::mapheight
|
||||
word vera_layer_mode_tile::mapheight#10 mapheight zp[2]:65 190.66666666666666
|
||||
word vera_layer_mode_tile::mapheight#10 mapheight zp[2]:67 190.66666666666666
|
||||
word vera_layer_mode_tile::mapwidth
|
||||
word vera_layer_mode_tile::mapwidth#10 mapwidth zp[2]:67 1001.0
|
||||
word vera_layer_mode_tile::mapwidth#10 mapwidth zp[2]:69 1001.0
|
||||
byte vera_layer_mode_tile::tilebase
|
||||
byte vera_layer_mode_tile::tilebase#0 reg byte a 2002.0
|
||||
byte vera_layer_mode_tile::tilebase#1 reg byte x 1334.6666666666667
|
||||
@ -471,12 +466,12 @@ byte vera_layer_mode_tile::tilebase#3 reg byte x 2002.0
|
||||
byte vera_layer_mode_tile::tilebase#5 reg byte x 2002.0
|
||||
dword vera_layer_mode_tile::tilebase_address
|
||||
dword vera_layer_mode_tile::tilebase_address#0 tilebase_address zp[4]:8 2002.0
|
||||
dword vera_layer_mode_tile::tilebase_address#10 tilebase_address zp[4]:8 85.42553191489361
|
||||
dword vera_layer_mode_tile::tilebase_address#10 tilebase_address zp[4]:8 87.28260869565217
|
||||
dword vera_layer_mode_tile::tilebase_address#2 tilebase_address zp[4]:8 22.0
|
||||
byte vera_layer_mode_tile::tileheight
|
||||
byte vera_layer_mode_tile::tileheight#10 tileheight zp[1]:13 35.75
|
||||
byte vera_layer_mode_tile::tileheight#10 tileheight zp[1]:13 37.074074074074076
|
||||
byte vera_layer_mode_tile::tilewidth
|
||||
byte vera_layer_mode_tile::tilewidth#10 tilewidth zp[1]:12 38.5
|
||||
byte vera_layer_mode_tile::tilewidth#10 tilewidth zp[1]:12 40.04
|
||||
constant byte* vera_layer_rowshift[2] = { 0, 0 }
|
||||
constant word* vera_layer_rowskip[2] = { 0, 0 }
|
||||
byte vera_layer_set_backcolor(byte vera_layer_set_backcolor::layer , byte vera_layer_set_backcolor::color)
|
||||
@ -494,7 +489,7 @@ byte vera_layer_set_backcolor::return
|
||||
void vera_layer_set_config(byte vera_layer_set_config::layer , byte vera_layer_set_config::config)
|
||||
byte~ vera_layer_set_config::$0 reg byte a 20002.0
|
||||
byte* vera_layer_set_config::addr
|
||||
byte* vera_layer_set_config::addr#0 addr zp[2]:92 20002.0
|
||||
byte* vera_layer_set_config::addr#0 addr zp[2]:80 20002.0
|
||||
byte vera_layer_set_config::config
|
||||
byte vera_layer_set_config::config#0 reg byte x 3667.333333333333
|
||||
byte vera_layer_set_config::layer
|
||||
@ -502,7 +497,7 @@ byte vera_layer_set_config::layer#0 reg byte a 5501.0
|
||||
void vera_layer_set_mapbase(byte vera_layer_set_mapbase::layer , byte vera_layer_set_mapbase::mapbase)
|
||||
byte~ vera_layer_set_mapbase::$0 reg byte a 20002.0
|
||||
byte* vera_layer_set_mapbase::addr
|
||||
byte* vera_layer_set_mapbase::addr#0 addr zp[2]:76 20002.0
|
||||
byte* vera_layer_set_mapbase::addr#0 addr zp[2]:80 20002.0
|
||||
byte vera_layer_set_mapbase::layer
|
||||
byte vera_layer_set_mapbase::layer#0 reg byte a 1001.0
|
||||
byte vera_layer_set_mapbase::layer#3 reg byte a 11002.0
|
||||
@ -511,7 +506,7 @@ byte vera_layer_set_mapbase::mapbase#0 reg byte x 2002.0
|
||||
byte vera_layer_set_mapbase::mapbase#3 reg byte x 3667.333333333333
|
||||
void vera_layer_set_text_color_mode(byte vera_layer_set_text_color_mode::layer , byte vera_layer_set_text_color_mode::color_mode)
|
||||
byte* vera_layer_set_text_color_mode::addr
|
||||
byte* vera_layer_set_text_color_mode::addr#0 addr zp[2]:90 2502.5
|
||||
byte* vera_layer_set_text_color_mode::addr#0 addr zp[2]:80 2502.5
|
||||
byte vera_layer_set_text_color_mode::color_mode
|
||||
byte vera_layer_set_text_color_mode::layer
|
||||
byte vera_layer_set_textcolor(byte vera_layer_set_textcolor::layer , byte vera_layer_set_textcolor::color)
|
||||
@ -530,7 +525,7 @@ byte vera_layer_set_textcolor::return
|
||||
void vera_layer_set_tilebase(byte vera_layer_set_tilebase::layer , byte vera_layer_set_tilebase::tilebase)
|
||||
byte~ vera_layer_set_tilebase::$0 reg byte a 20002.0
|
||||
byte* vera_layer_set_tilebase::addr
|
||||
byte* vera_layer_set_tilebase::addr#0 addr zp[2]:92 20002.0
|
||||
byte* vera_layer_set_tilebase::addr#0 addr zp[2]:80 20002.0
|
||||
byte vera_layer_set_tilebase::layer
|
||||
byte vera_layer_set_tilebase::layer#0 reg byte a 5501.0
|
||||
byte vera_layer_set_tilebase::tilebase
|
||||
@ -571,30 +566,31 @@ zp[1]:23 [ draw_characters::r#12 draw_characters::r#1 ]
|
||||
zp[4]:24 [ draw_characters::tilecolumn#10 draw_characters::tilecolumn#14 draw_characters::tilecolumn#2 ]
|
||||
zp[1]:28 [ draw_characters::x#10 draw_characters::x#1 ]
|
||||
zp[1]:29 [ draw_characters::b#2 draw_characters::b#1 ]
|
||||
zp[2]:30 [ cputs::s#10 cputs::s#11 cputs::s#0 clrscr::line_text#2 clrscr::line_text#1 clrscr::line_text#0 ]
|
||||
reg byte x [ vera_layer_get_color::layer#2 vera_layer_get_color::layer#1 vera_layer_get_color::layer#0 ]
|
||||
reg byte a [ vera_layer_get_color::return#3 vera_layer_get_color::return#1 vera_layer_get_color::return#2 ]
|
||||
reg byte x [ insertup::i#2 insertup::i#1 ]
|
||||
zp[1]:30 [ conio_screen_width ]
|
||||
zp[1]:31 [ conio_screen_height ]
|
||||
zp[1]:32 [ conio_screen_layer ]
|
||||
zp[2]:33 [ conio_width ]
|
||||
zp[2]:35 [ conio_height ]
|
||||
zp[1]:37 [ conio_rowshift ]
|
||||
zp[2]:38 [ conio_rowskip ]
|
||||
zp[2]:40 [ scroll_x ]
|
||||
zp[2]:42 [ scroll_y ]
|
||||
zp[2]:44 [ delta_x ]
|
||||
zp[2]:46 [ delta_y ]
|
||||
zp[2]:48 [ speed ]
|
||||
zp[2]:50 [ irq_vsync::$10 ]
|
||||
zp[2]:52 [ irq_vsync::$11 ]
|
||||
zp[2]:54 [ irq_vsync::vera_layer_set_horizontal_scroll1_scroll#0 ]
|
||||
zp[1]:32 [ conio_screen_width ]
|
||||
zp[1]:33 [ conio_screen_height ]
|
||||
zp[1]:34 [ conio_screen_layer ]
|
||||
zp[2]:35 [ conio_width ]
|
||||
zp[2]:37 [ conio_height ]
|
||||
zp[1]:39 [ conio_rowshift ]
|
||||
zp[2]:40 [ conio_rowskip ]
|
||||
zp[2]:42 [ scroll_x ]
|
||||
zp[2]:44 [ scroll_y ]
|
||||
zp[2]:46 [ delta_x ]
|
||||
zp[2]:48 [ delta_y ]
|
||||
zp[2]:50 [ speed ]
|
||||
zp[2]:52 [ irq_vsync::$10 ]
|
||||
zp[2]:54 [ irq_vsync::$11 ]
|
||||
zp[2]:56 [ irq_vsync::vera_layer_set_horizontal_scroll1_scroll#0 ]
|
||||
reg byte a [ irq_vsync::vera_layer_set_horizontal_scroll1_$0 ]
|
||||
reg byte a [ irq_vsync::vera_layer_set_horizontal_scroll1_$1 ]
|
||||
zp[2]:56 [ irq_vsync::vera_layer_set_vertical_scroll1_scroll#0 ]
|
||||
zp[2]:58 [ irq_vsync::vera_layer_set_vertical_scroll1_scroll#0 ]
|
||||
reg byte a [ irq_vsync::vera_layer_set_vertical_scroll1_$0 ]
|
||||
reg byte a [ irq_vsync::vera_layer_set_vertical_scroll1_$1 ]
|
||||
zp[4]:58 [ vera_layer_get_tilebase_address::return#2 main::tilebase#0 vera_layer_get_tilebase_address::return#0 vera_layer_get_tilebase_address::address#2 vera_layer_get_tilebase_address::address#0 vera_layer_get_tilebase_address::address#1 ]
|
||||
zp[4]:60 [ vera_layer_get_tilebase_address::return#2 main::tilebase#0 vera_layer_get_tilebase_address::return#0 vera_layer_get_tilebase_address::address#2 vera_layer_get_tilebase_address::address#0 vera_layer_get_tilebase_address::address#1 ]
|
||||
reg byte a [ kbhit::return#2 ]
|
||||
reg byte a [ main::$39 ]
|
||||
reg byte a [ main::vera_layer_hide1_$0 ]
|
||||
@ -607,12 +603,12 @@ reg byte a [ screensize::vscale#0 ]
|
||||
reg byte a [ screensize::$3 ]
|
||||
reg byte x [ vera_layer_get_mapbase_bank::layer#0 ]
|
||||
reg byte a [ vera_layer_get_mapbase_bank::return#2 ]
|
||||
zp[1]:62 [ CONIO_SCREEN_BANK#105 ]
|
||||
zp[1]:64 [ CONIO_SCREEN_BANK#105 ]
|
||||
reg byte a [ vera_layer_get_mapbase_offset::layer#0 ]
|
||||
zp[2]:63 [ CONIO_SCREEN_TEXT#104 ]
|
||||
zp[2]:65 [ CONIO_SCREEN_TEXT#104 ]
|
||||
reg byte a [ screenlayer::vera_layer_get_width1_layer#0 ]
|
||||
reg byte a [ screenlayer::vera_layer_get_width1_$2 ]
|
||||
zp[2]:65 [ screenlayer::vera_layer_get_width1_config#0 vera_layer_mode_tile::mapheight#10 ]
|
||||
zp[2]:67 [ screenlayer::vera_layer_get_width1_config#0 vera_layer_mode_tile::mapheight#10 ]
|
||||
reg byte a [ screenlayer::vera_layer_get_width1_$0 ]
|
||||
reg byte a [ screenlayer::vera_layer_get_width1_$1 ]
|
||||
reg byte a [ screenlayer::vera_layer_get_width1_$3 ]
|
||||
@ -626,12 +622,12 @@ reg byte a [ screenlayer::vera_layer_get_height1_$0 ]
|
||||
reg byte a [ screenlayer::vera_layer_get_height1_$1 ]
|
||||
reg byte a [ screenlayer::vera_layer_get_height1_$3 ]
|
||||
reg byte a [ vera_layer_set_mapbase::$0 ]
|
||||
zp[2]:67 [ gotoxy::$6 gotoxy::line_offset#0 vera_layer_get_rowskip::return#2 screenlayer::$4 vera_layer_get_rowskip::return#0 vera_layer_get_mapbase_offset::return#2 vera_layer_get_mapbase_offset::return#0 vera_layer_mode_tile::mapwidth#10 ]
|
||||
zp[2]:69 [ gotoxy::$6 gotoxy::line_offset#0 vera_layer_get_rowskip::return#2 screenlayer::$4 vera_layer_get_rowskip::return#0 vera_layer_get_mapbase_offset::return#2 vera_layer_get_mapbase_offset::return#0 vera_layer_mode_tile::mapwidth#10 ]
|
||||
reg byte a [ gotoxy::$5 ]
|
||||
reg byte x [ vera_layer_get_backcolor::layer#0 ]
|
||||
reg byte a [ vera_layer_get_backcolor::return#0 ]
|
||||
reg byte a [ clrscr::$0 ]
|
||||
zp[1]:69 [ clrscr::$1 clrscr::color#0 cputc::c#2 cputc::c#0 cputc::c#1 ]
|
||||
zp[1]:71 [ clrscr::$1 clrscr::color#0 cputc::c#2 cputc::c#0 cputc::c#1 ]
|
||||
reg byte x [ vera_layer_get_textcolor::layer#0 ]
|
||||
reg byte a [ vera_layer_get_textcolor::return#0 ]
|
||||
reg byte a [ clrscr::$2 ]
|
||||
@ -640,38 +636,33 @@ reg byte a [ clrscr::$5 ]
|
||||
reg byte a [ clrscr::$6 ]
|
||||
reg byte a [ clrscr::$7 ]
|
||||
reg byte a [ vera_layer_get_tilebase_address::tilebase#0 ]
|
||||
reg byte a [ vera_layer_mode_tile::$16 ]
|
||||
reg byte a [ vera_layer_mode_tile::$14 ]
|
||||
reg byte a [ vera_layer_set_config::layer#0 ]
|
||||
reg byte x [ vera_layer_set_config::config#0 ]
|
||||
zp[2]:70 [ vera_layer_mode_tile::$1 screenlayer::vera_layer_get_height1_config#0 ]
|
||||
zp[1]:72 [ vera_layer_mode_tile::$19 ]
|
||||
zp[2]:73 [ vera_layer_mode_tile::$2 screenlayer::vera_layer_get_height1_return#0 screenlayer::vera_layer_get_height1_return#1 screenlayer::$5 ]
|
||||
zp[1]:75 [ vera_layer_mode_tile::$20 ]
|
||||
zp[2]:72 [ vera_layer_mode_tile::$1 screenlayer::vera_layer_get_height1_config#0 ]
|
||||
zp[1]:74 [ vera_layer_mode_tile::$17 ]
|
||||
reg byte a [ vera_layer_mode_tile::$2 ]
|
||||
zp[1]:75 [ vera_layer_mode_tile::$18 ]
|
||||
reg byte x [ vera_layer_mode_tile::mapbase#0 ]
|
||||
zp[2]:76 [ vera_layer_mode_tile::$7 vera_layer_set_mapbase::addr#0 screenlayer::vera_layer_get_width1_return#0 screenlayer::vera_layer_get_width1_return#1 screenlayer::$2 ]
|
||||
zp[2]:78 [ vera_layer_mode_tile::$8 ]
|
||||
zp[2]:80 [ vera_layer_mode_tile::$10 ]
|
||||
zp[2]:76 [ vera_layer_mode_tile::$6 screenlayer::vera_layer_get_height1_return#0 screenlayer::vera_layer_get_height1_return#1 screenlayer::$5 ]
|
||||
reg byte a [ vera_layer_mode_tile::$7 ]
|
||||
reg byte a [ vera_layer_mode_tile::tilebase#0 ]
|
||||
reg byte a [ vera_layer_set_tilebase::layer#0 ]
|
||||
reg byte x [ vera_layer_set_tilebase::tilebase#0 ]
|
||||
reg byte a [ vera_layer_mode_tile::$15 ]
|
||||
reg byte a [ vera_layer_mode_tile::$14 ]
|
||||
reg byte a [ vera_layer_mode_tile::$13 ]
|
||||
zp[2]:82 [ draw_characters::vera_vram_address01_$0 cputs::s#10 cputs::s#11 cputs::s#0 clrscr::line_text#2 clrscr::line_text#1 clrscr::line_text#0 ]
|
||||
reg byte a [ vera_layer_mode_tile::$12 ]
|
||||
reg byte a [ vera_layer_mode_tile::$11 ]
|
||||
reg byte a [ draw_characters::vera_vram_address01_$0 ]
|
||||
reg byte a [ draw_characters::vera_vram_address01_$1 ]
|
||||
zp[2]:84 [ draw_characters::vera_vram_address01_$2 memcpy_in_vram::i#2 memcpy_in_vram::i#1 clearline::c#2 clearline::c#1 ]
|
||||
reg byte a [ draw_characters::vera_vram_address01_$3 ]
|
||||
zp[2]:86 [ draw_characters::vera_vram_address01_$4 ]
|
||||
reg byte a [ draw_characters::vera_vram_address01_$6 ]
|
||||
zp[1]:88 [ draw_characters::bit#0 ]
|
||||
zp[1]:78 [ draw_characters::bit#0 ]
|
||||
reg byte x [ draw_characters::$2 ]
|
||||
reg byte a [ draw_characters::$3 ]
|
||||
reg byte a [ draw_characters::bit#1 ]
|
||||
zp[1]:89 [ kbhit::ch ]
|
||||
zp[1]:79 [ kbhit::ch ]
|
||||
reg byte a [ kbhit::return#0 ]
|
||||
reg byte a [ kbhit::return#1 ]
|
||||
reg byte a [ cputs::c#1 ]
|
||||
zp[2]:90 [ vera_layer_set_text_color_mode::addr#0 vera_layer_mode_tile::$4 ]
|
||||
reg byte a [ vera_layer_get_mapbase_bank::return#0 ]
|
||||
reg byte a [ vera_layer_get_mapbase_offset::$0 ]
|
||||
reg byte a [ vera_layer_get_rowshift::return#0 ]
|
||||
@ -680,30 +671,30 @@ reg byte a [ vera_layer_get_backcolor::return#1 ]
|
||||
reg byte a [ vera_layer_get_textcolor::return#1 ]
|
||||
reg byte a [ vera_layer_set_config::$0 ]
|
||||
reg byte a [ vera_layer_set_tilebase::$0 ]
|
||||
zp[2]:92 [ vera_layer_set_tilebase::addr#0 vera_layer_set_config::addr#0 ]
|
||||
zp[2]:80 [ vera_layer_set_tilebase::addr#0 vera_layer_set_config::addr#0 vera_layer_set_text_color_mode::addr#0 vera_layer_set_mapbase::addr#0 screenlayer::vera_layer_get_width1_return#0 screenlayer::vera_layer_get_width1_return#1 screenlayer::$2 ]
|
||||
reg byte a [ vera_layer_get_color::return#0 ]
|
||||
reg byte x [ cputc::color#0 ]
|
||||
reg byte a [ cputc::$15 ]
|
||||
zp[2]:94 [ cputc::conio_addr#0 cputc::conio_addr#1 ]
|
||||
zp[2]:82 [ cputc::conio_addr#0 cputc::conio_addr#1 memcpy_in_vram::i#2 memcpy_in_vram::i#1 clearline::c#2 clearline::c#1 ]
|
||||
reg byte a [ cputc::$2 ]
|
||||
reg byte a [ cputc::$4 ]
|
||||
reg byte a [ cputc::$5 ]
|
||||
reg byte a [ cputc::$6 ]
|
||||
reg byte a [ cputc::scroll_enable#0 ]
|
||||
zp[2]:96 [ cputc::$16 ]
|
||||
zp[2]:84 [ cputc::$16 ]
|
||||
reg byte a [ vera_layer_get_color::$3 ]
|
||||
reg byte a [ vera_layer_get_color::$0 ]
|
||||
reg byte a [ vera_layer_get_color::$1 ]
|
||||
reg byte a [ cputln::$2 ]
|
||||
zp[2]:98 [ cputln::temp#0 cputln::temp#1 vera_layer_get_color::addr#0 ]
|
||||
zp[2]:86 [ cputln::temp#0 cputln::temp#1 vera_layer_get_color::addr#0 ]
|
||||
reg byte a [ cputln::$3 ]
|
||||
zp[1]:100 [ insertup::cy#0 ]
|
||||
zp[1]:101 [ insertup::width#0 ]
|
||||
zp[1]:88 [ insertup::cy#0 ]
|
||||
zp[1]:89 [ insertup::width#0 ]
|
||||
reg byte a [ insertup::$3 ]
|
||||
zp[2]:102 [ insertup::line#0 insertup::start#0 memcpy_in_vram::dest#0 ]
|
||||
zp[2]:104 [ memcpy_in_vram::num#0 ]
|
||||
zp[2]:90 [ insertup::line#0 insertup::start#0 memcpy_in_vram::dest#0 ]
|
||||
zp[2]:92 [ memcpy_in_vram::num#0 ]
|
||||
reg byte a [ clearline::$5 ]
|
||||
zp[2]:106 [ clearline::addr#0 memcpy_in_vram::src#0 ]
|
||||
zp[2]:94 [ clearline::addr#0 memcpy_in_vram::src#0 ]
|
||||
reg byte a [ clearline::$1 ]
|
||||
reg byte a [ clearline::$2 ]
|
||||
reg byte a [ vera_layer_get_color::return#4 ]
|
||||
|
@ -1092,14 +1092,14 @@ clrscr: {
|
||||
lda #VERA_ADDRSEL^$ff
|
||||
and VERA_CTRL
|
||||
sta VERA_CTRL
|
||||
// <ch
|
||||
// BYTE0(ch)
|
||||
lda.z line_text
|
||||
// *VERA_ADDRX_L = <ch
|
||||
// *VERA_ADDRX_L = BYTE0(ch)
|
||||
// Set address
|
||||
sta VERA_ADDRX_L
|
||||
// >ch
|
||||
// BYTE1(ch)
|
||||
lda.z line_text+1
|
||||
// *VERA_ADDRX_M = >ch
|
||||
// *VERA_ADDRX_M = BYTE1(ch)
|
||||
sta VERA_ADDRX_M
|
||||
// CONIO_SCREEN_BANK | VERA_INC_1
|
||||
lda #VERA_INC_1
|
||||
@ -1222,13 +1222,13 @@ clearline: {
|
||||
lda.z CONIO_SCREEN_TEXT+1
|
||||
adc conio_line_text+1,y
|
||||
sta.z addr+1
|
||||
// <addr
|
||||
// BYTE0(addr)
|
||||
lda.z addr
|
||||
// *VERA_ADDRX_L = <addr
|
||||
// *VERA_ADDRX_L = BYTE0(addr)
|
||||
sta VERA_ADDRX_L
|
||||
// >addr
|
||||
// BYTE1(addr)
|
||||
lda.z addr+1
|
||||
// *VERA_ADDRX_M = >addr
|
||||
// *VERA_ADDRX_M = BYTE1(addr)
|
||||
sta VERA_ADDRX_M
|
||||
// *VERA_ADDRX_H = VERA_INC_1
|
||||
lda #VERA_INC_1
|
||||
@ -1353,14 +1353,14 @@ cputc: {
|
||||
lda #VERA_ADDRSEL^$ff
|
||||
and VERA_CTRL
|
||||
sta VERA_CTRL
|
||||
// <conio_addr
|
||||
// BYTE0(conio_addr)
|
||||
lda.z conio_addr
|
||||
// *VERA_ADDRX_L = <conio_addr
|
||||
// *VERA_ADDRX_L = BYTE0(conio_addr)
|
||||
// Set address
|
||||
sta VERA_ADDRX_L
|
||||
// >conio_addr
|
||||
// BYTE1(conio_addr)
|
||||
lda.z conio_addr+1
|
||||
// *VERA_ADDRX_M = >conio_addr
|
||||
// *VERA_ADDRX_M = BYTE1(conio_addr)
|
||||
sta VERA_ADDRX_M
|
||||
// CONIO_SCREEN_BANK | VERA_INC_1
|
||||
lda #VERA_INC_1
|
||||
@ -1514,9 +1514,9 @@ vera_layer_set_tilebase: {
|
||||
// - color_depth: The color depth in bits per pixel (BPP), which can be 1, 2, 4 or 8.
|
||||
vera_layer_mode_tile: {
|
||||
.const tilebase_address = vera_layer_mode_text.tilebase_address>>1
|
||||
.const mapbase = 0
|
||||
// config
|
||||
.const config = VERA_LAYER_WIDTH_128|VERA_LAYER_HEIGHT_64
|
||||
.const mapbase = 0
|
||||
// vera_layer_rowshift[layer] = 8
|
||||
lda #8
|
||||
sta vera_layer_rowshift+vera_layer_mode_text.layer
|
||||
@ -1529,12 +1529,12 @@ vera_layer_mode_tile: {
|
||||
ldx #config
|
||||
lda #vera_layer_mode_text.layer
|
||||
jsr vera_layer_set_config
|
||||
// vera_mapbase_offset[layer] = <mapbase_address
|
||||
// vera_mapbase_offset[layer] = WORD0(mapbase_address)
|
||||
// mapbase
|
||||
lda #<0
|
||||
sta vera_mapbase_offset+vera_layer_mode_text.layer*SIZEOF_WORD
|
||||
sta vera_mapbase_offset+vera_layer_mode_text.layer*SIZEOF_WORD+1
|
||||
// vera_mapbase_bank[layer] = (byte)(>mapbase_address)
|
||||
// vera_mapbase_bank[layer] = BYTE2(mapbase_address)
|
||||
sta vera_mapbase_bank+vera_layer_mode_text.layer
|
||||
// vera_mapbase_address[layer] = mapbase_address
|
||||
lda #<vera_layer_mode_text.mapbase_address
|
||||
@ -1549,13 +1549,13 @@ vera_layer_mode_tile: {
|
||||
ldx #mapbase
|
||||
lda #vera_layer_mode_text.layer
|
||||
jsr vera_layer_set_mapbase
|
||||
// vera_tilebase_offset[layer] = <tilebase_address
|
||||
// vera_tilebase_offset[layer] = WORD0(tilebase_address)
|
||||
// tilebase
|
||||
lda #<vera_layer_mode_text.tilebase_address&$ffff
|
||||
sta vera_tilebase_offset+vera_layer_mode_text.layer*SIZEOF_WORD
|
||||
lda #>vera_layer_mode_text.tilebase_address&$ffff
|
||||
sta vera_tilebase_offset+vera_layer_mode_text.layer*SIZEOF_WORD+1
|
||||
// vera_tilebase_bank[layer] = (byte)>tilebase_address
|
||||
// vera_tilebase_bank[layer] = BYTE2(tilebase_address)
|
||||
lda #0
|
||||
sta vera_tilebase_bank+vera_layer_mode_text.layer
|
||||
// vera_tilebase_address[layer] = tilebase_address
|
||||
@ -1568,7 +1568,7 @@ vera_layer_mode_tile: {
|
||||
lda #>vera_layer_mode_text.tilebase_address>>$10
|
||||
sta vera_tilebase_address+vera_layer_mode_text.layer*SIZEOF_DWORD+3
|
||||
// vera_layer_set_tilebase(layer,tilebase)
|
||||
ldx #(>(tilebase_address&$ffff))&VERA_LAYER_TILEBASE_MASK
|
||||
ldx #(>tilebase_address)&VERA_LAYER_TILEBASE_MASK
|
||||
lda #vera_layer_mode_text.layer
|
||||
jsr vera_layer_set_tilebase
|
||||
// }
|
||||
@ -2052,14 +2052,14 @@ memcpy_in_vram: {
|
||||
lda #VERA_ADDRSEL^$ff
|
||||
and VERA_CTRL
|
||||
sta VERA_CTRL
|
||||
// <src
|
||||
// BYTE0(src)
|
||||
lda.z src
|
||||
// *VERA_ADDRX_L = <src
|
||||
// *VERA_ADDRX_L = BYTE0(src)
|
||||
// Set address
|
||||
sta VERA_ADDRX_L
|
||||
// >src
|
||||
// BYTE1(src)
|
||||
lda.z src+1
|
||||
// *VERA_ADDRX_M = >src
|
||||
// *VERA_ADDRX_M = BYTE1(src)
|
||||
sta VERA_ADDRX_M
|
||||
// *VERA_ADDRX_H = src_increment | src_bank
|
||||
lda #VERA_INC_1
|
||||
@ -2069,14 +2069,14 @@ memcpy_in_vram: {
|
||||
lda #VERA_ADDRSEL
|
||||
ora VERA_CTRL
|
||||
sta VERA_CTRL
|
||||
// <dest
|
||||
// BYTE0(dest)
|
||||
lda.z dest
|
||||
// *VERA_ADDRX_L = <dest
|
||||
// *VERA_ADDRX_L = BYTE0(dest)
|
||||
// Set address
|
||||
sta VERA_ADDRX_L
|
||||
// >dest
|
||||
// BYTE1(dest)
|
||||
lda.z dest+1
|
||||
// *VERA_ADDRX_M = >dest
|
||||
// *VERA_ADDRX_M = BYTE1(dest)
|
||||
sta VERA_ADDRX_M
|
||||
// *VERA_ADDRX_H = dest_increment | dest_bank
|
||||
lda #VERA_INC_1
|
||||
|
@ -965,7 +965,7 @@ vera_layer_set_config::@return: scope:[vera_layer_set_config] from vera_layer_s
|
||||
|
||||
void vera_layer_set_tilebase(byte vera_layer_set_tilebase::layer , byte vera_layer_set_tilebase::tilebase)
|
||||
vera_layer_set_tilebase: scope:[vera_layer_set_tilebase] from main::@55 vera_layer_mode_tile::@3
|
||||
[476] vera_layer_set_tilebase::tilebase#2 = phi( main::@55/vera_layer_set_tilebase::tilebase#1, vera_layer_mode_tile::@3/><vera_layer_mode_tile::tilebase_address#0&VERA_LAYER_TILEBASE_MASK )
|
||||
[476] vera_layer_set_tilebase::tilebase#2 = phi( main::@55/vera_layer_set_tilebase::tilebase#1, vera_layer_mode_tile::@3/>vera_layer_mode_tile::tilebase_address#0&VERA_LAYER_TILEBASE_MASK )
|
||||
[476] vera_layer_set_tilebase::layer#2 = phi( main::@55/0, vera_layer_mode_tile::@3/vera_layer_mode_text::layer#0 )
|
||||
[477] vera_layer_set_tilebase::$0 = vera_layer_set_tilebase::layer#2 << 1
|
||||
[478] vera_layer_set_tilebase::addr#0 = vera_layer_tilebase[vera_layer_set_tilebase::$0]
|
||||
@ -994,7 +994,7 @@ vera_layer_mode_tile::@4: scope:[vera_layer_mode_tile] from vera_layer_mode_til
|
||||
[489] call vera_layer_set_mapbase
|
||||
to:vera_layer_mode_tile::@5
|
||||
vera_layer_mode_tile::@5: scope:[vera_layer_mode_tile] from vera_layer_mode_tile::@4
|
||||
[490] *(vera_tilebase_offset+vera_layer_mode_text::layer#0*SIZEOF_WORD) = <vera_layer_mode_text::tilebase_address#0
|
||||
[490] *(vera_tilebase_offset+vera_layer_mode_text::layer#0*SIZEOF_WORD) = _word0_vera_layer_mode_text::tilebase_address#0
|
||||
[491] *(vera_tilebase_bank+vera_layer_mode_text::layer#0) = 0
|
||||
[492] *(vera_tilebase_address+vera_layer_mode_text::layer#0*SIZEOF_DWORD) = vera_layer_mode_text::tilebase_address#0
|
||||
to:vera_layer_mode_tile::@3
|
||||
|
@ -850,8 +850,8 @@ vera_layer_mode_tile::@12: scope:[vera_layer_mode_tile] from vera_layer_mode_ti
|
||||
vera_layer_mode_tile::config#17 = phi( vera_layer_mode_tile::@8/vera_layer_mode_tile::config#29 )
|
||||
vera_layer_mode_tile::config#5 = vera_layer_mode_tile::config#17 | VERA_LAYER_WIDTH_32
|
||||
vera_layer_rowshift[vera_layer_mode_tile::layer#1] = 6
|
||||
vera_layer_mode_tile::$13 = vera_layer_mode_tile::layer#1 * SIZEOF_WORD
|
||||
vera_layer_rowskip[vera_layer_mode_tile::$13] = $40
|
||||
vera_layer_mode_tile::$11 = vera_layer_mode_tile::layer#1 * SIZEOF_WORD
|
||||
vera_layer_rowskip[vera_layer_mode_tile::$11] = $40
|
||||
to:vera_layer_mode_tile::@16
|
||||
vera_layer_mode_tile::@9: scope:[vera_layer_mode_tile] from vera_layer_mode_tile::@8
|
||||
vera_layer_mode_tile::tileheight#23 = phi( vera_layer_mode_tile::@8/vera_layer_mode_tile::tileheight#22 )
|
||||
@ -874,8 +874,8 @@ vera_layer_mode_tile::@13: scope:[vera_layer_mode_tile] from vera_layer_mode_ti
|
||||
vera_layer_mode_tile::config#18 = phi( vera_layer_mode_tile::@9/vera_layer_mode_tile::config#30 )
|
||||
vera_layer_mode_tile::config#6 = vera_layer_mode_tile::config#18 | VERA_LAYER_WIDTH_64
|
||||
vera_layer_rowshift[vera_layer_mode_tile::layer#2] = 7
|
||||
vera_layer_mode_tile::$14 = vera_layer_mode_tile::layer#2 * SIZEOF_WORD
|
||||
vera_layer_rowskip[vera_layer_mode_tile::$14] = $80
|
||||
vera_layer_mode_tile::$12 = vera_layer_mode_tile::layer#2 * SIZEOF_WORD
|
||||
vera_layer_rowskip[vera_layer_mode_tile::$12] = $80
|
||||
to:vera_layer_mode_tile::@16
|
||||
vera_layer_mode_tile::@10: scope:[vera_layer_mode_tile] from vera_layer_mode_tile::@9
|
||||
vera_layer_mode_tile::tileheight#24 = phi( vera_layer_mode_tile::@9/vera_layer_mode_tile::tileheight#23 )
|
||||
@ -898,8 +898,8 @@ vera_layer_mode_tile::@14: scope:[vera_layer_mode_tile] from vera_layer_mode_ti
|
||||
vera_layer_mode_tile::config#19 = phi( vera_layer_mode_tile::@10/vera_layer_mode_tile::config#31 )
|
||||
vera_layer_mode_tile::config#7 = vera_layer_mode_tile::config#19 | VERA_LAYER_WIDTH_128
|
||||
vera_layer_rowshift[vera_layer_mode_tile::layer#3] = 8
|
||||
vera_layer_mode_tile::$15 = vera_layer_mode_tile::layer#3 * SIZEOF_WORD
|
||||
vera_layer_rowskip[vera_layer_mode_tile::$15] = $100
|
||||
vera_layer_mode_tile::$13 = vera_layer_mode_tile::layer#3 * SIZEOF_WORD
|
||||
vera_layer_rowskip[vera_layer_mode_tile::$13] = $100
|
||||
to:vera_layer_mode_tile::@16
|
||||
vera_layer_mode_tile::@11: scope:[vera_layer_mode_tile] from vera_layer_mode_tile::@10
|
||||
vera_layer_mode_tile::tileheight#17 = phi( vera_layer_mode_tile::@10/vera_layer_mode_tile::tileheight#24 )
|
||||
@ -922,8 +922,8 @@ vera_layer_mode_tile::@15: scope:[vera_layer_mode_tile] from vera_layer_mode_ti
|
||||
vera_layer_mode_tile::config#20 = phi( vera_layer_mode_tile::@11/vera_layer_mode_tile::config#32 )
|
||||
vera_layer_mode_tile::config#8 = vera_layer_mode_tile::config#20 | VERA_LAYER_WIDTH_256
|
||||
vera_layer_rowshift[vera_layer_mode_tile::layer#4] = 9
|
||||
vera_layer_mode_tile::$16 = vera_layer_mode_tile::layer#4 * SIZEOF_WORD
|
||||
vera_layer_rowskip[vera_layer_mode_tile::$16] = $200
|
||||
vera_layer_mode_tile::$14 = vera_layer_mode_tile::layer#4 * SIZEOF_WORD
|
||||
vera_layer_rowskip[vera_layer_mode_tile::$14] = $200
|
||||
to:vera_layer_mode_tile::@16
|
||||
vera_layer_mode_tile::@16: scope:[vera_layer_mode_tile] from vera_layer_mode_tile::@11 vera_layer_mode_tile::@12 vera_layer_mode_tile::@13 vera_layer_mode_tile::@14 vera_layer_mode_tile::@15
|
||||
vera_layer_mode_tile::tileheight#14 = phi( vera_layer_mode_tile::@11/vera_layer_mode_tile::tileheight#17, vera_layer_mode_tile::@12/vera_layer_mode_tile::tileheight#18, vera_layer_mode_tile::@13/vera_layer_mode_tile::tileheight#19, vera_layer_mode_tile::@14/vera_layer_mode_tile::tileheight#20, vera_layer_mode_tile::@15/vera_layer_mode_tile::tileheight#21 )
|
||||
@ -1018,18 +1018,17 @@ vera_layer_mode_tile::@33: scope:[vera_layer_mode_tile] from vera_layer_mode_ti
|
||||
vera_layer_mode_tile::tilebase_address#3 = phi( vera_layer_mode_tile::@24/vera_layer_mode_tile::tilebase_address#4 )
|
||||
vera_layer_mode_tile::layer#6 = phi( vera_layer_mode_tile::@24/vera_layer_mode_tile::layer#5 )
|
||||
vera_layer_mode_tile::mapbase_address#2 = phi( vera_layer_mode_tile::@24/vera_layer_mode_tile::mapbase_address#3 )
|
||||
vera_layer_mode_tile::$1 = < vera_layer_mode_tile::mapbase_address#2
|
||||
vera_layer_mode_tile::$17 = vera_layer_mode_tile::layer#6 * SIZEOF_WORD
|
||||
vera_mapbase_offset[vera_layer_mode_tile::$17] = vera_layer_mode_tile::$1
|
||||
vera_layer_mode_tile::$2 = > vera_layer_mode_tile::mapbase_address#2
|
||||
vera_mapbase_bank[vera_layer_mode_tile::layer#6] = (byte)vera_layer_mode_tile::$2
|
||||
vera_layer_mode_tile::$18 = vera_layer_mode_tile::layer#6 * SIZEOF_DWORD
|
||||
vera_mapbase_address[vera_layer_mode_tile::$18] = vera_layer_mode_tile::mapbase_address#2
|
||||
vera_layer_mode_tile::$1 = _word0_ vera_layer_mode_tile::mapbase_address#2
|
||||
vera_layer_mode_tile::$15 = vera_layer_mode_tile::layer#6 * SIZEOF_WORD
|
||||
vera_mapbase_offset[vera_layer_mode_tile::$15] = vera_layer_mode_tile::$1
|
||||
vera_layer_mode_tile::$2 = _byte2_ vera_layer_mode_tile::mapbase_address#2
|
||||
vera_mapbase_bank[vera_layer_mode_tile::layer#6] = vera_layer_mode_tile::$2
|
||||
vera_layer_mode_tile::$16 = vera_layer_mode_tile::layer#6 * SIZEOF_DWORD
|
||||
vera_mapbase_address[vera_layer_mode_tile::$16] = vera_layer_mode_tile::mapbase_address#2
|
||||
vera_layer_mode_tile::$3 = vera_layer_mode_tile::mapbase_address#2 >> 1
|
||||
vera_layer_mode_tile::mapbase_address#0 = vera_layer_mode_tile::$3
|
||||
vera_layer_mode_tile::$4 = < vera_layer_mode_tile::mapbase_address#0
|
||||
vera_layer_mode_tile::$5 = > vera_layer_mode_tile::$4
|
||||
vera_layer_mode_tile::mapbase#0 = vera_layer_mode_tile::$5
|
||||
vera_layer_mode_tile::$4 = > vera_layer_mode_tile::mapbase_address#0
|
||||
vera_layer_mode_tile::mapbase#0 = vera_layer_mode_tile::$4
|
||||
vera_layer_set_mapbase::layer#0 = vera_layer_mode_tile::layer#6
|
||||
vera_layer_set_mapbase::mapbase#0 = vera_layer_mode_tile::mapbase#0
|
||||
call vera_layer_set_mapbase
|
||||
@ -1039,18 +1038,17 @@ vera_layer_mode_tile::@34: scope:[vera_layer_mode_tile] from vera_layer_mode_ti
|
||||
vera_layer_mode_tile::tilewidth#1 = phi( vera_layer_mode_tile::@33/vera_layer_mode_tile::tilewidth#3 )
|
||||
vera_layer_mode_tile::layer#7 = phi( vera_layer_mode_tile::@33/vera_layer_mode_tile::layer#6 )
|
||||
vera_layer_mode_tile::tilebase_address#2 = phi( vera_layer_mode_tile::@33/vera_layer_mode_tile::tilebase_address#3 )
|
||||
vera_layer_mode_tile::$7 = < vera_layer_mode_tile::tilebase_address#2
|
||||
vera_layer_mode_tile::$19 = vera_layer_mode_tile::layer#7 * SIZEOF_WORD
|
||||
vera_tilebase_offset[vera_layer_mode_tile::$19] = vera_layer_mode_tile::$7
|
||||
vera_layer_mode_tile::$8 = > vera_layer_mode_tile::tilebase_address#2
|
||||
vera_tilebase_bank[vera_layer_mode_tile::layer#7] = (byte)vera_layer_mode_tile::$8
|
||||
vera_layer_mode_tile::$20 = vera_layer_mode_tile::layer#7 * SIZEOF_DWORD
|
||||
vera_tilebase_address[vera_layer_mode_tile::$20] = vera_layer_mode_tile::tilebase_address#2
|
||||
vera_layer_mode_tile::$9 = vera_layer_mode_tile::tilebase_address#2 >> 1
|
||||
vera_layer_mode_tile::tilebase_address#0 = vera_layer_mode_tile::$9
|
||||
vera_layer_mode_tile::$10 = < vera_layer_mode_tile::tilebase_address#0
|
||||
vera_layer_mode_tile::$11 = > vera_layer_mode_tile::$10
|
||||
vera_layer_mode_tile::tilebase#0 = vera_layer_mode_tile::$11
|
||||
vera_layer_mode_tile::$6 = _word0_ vera_layer_mode_tile::tilebase_address#2
|
||||
vera_layer_mode_tile::$17 = vera_layer_mode_tile::layer#7 * SIZEOF_WORD
|
||||
vera_tilebase_offset[vera_layer_mode_tile::$17] = vera_layer_mode_tile::$6
|
||||
vera_layer_mode_tile::$7 = _byte2_ vera_layer_mode_tile::tilebase_address#2
|
||||
vera_tilebase_bank[vera_layer_mode_tile::layer#7] = vera_layer_mode_tile::$7
|
||||
vera_layer_mode_tile::$18 = vera_layer_mode_tile::layer#7 * SIZEOF_DWORD
|
||||
vera_tilebase_address[vera_layer_mode_tile::$18] = vera_layer_mode_tile::tilebase_address#2
|
||||
vera_layer_mode_tile::$8 = vera_layer_mode_tile::tilebase_address#2 >> 1
|
||||
vera_layer_mode_tile::tilebase_address#0 = vera_layer_mode_tile::$8
|
||||
vera_layer_mode_tile::$9 = > vera_layer_mode_tile::tilebase_address#0
|
||||
vera_layer_mode_tile::tilebase#0 = vera_layer_mode_tile::$9
|
||||
vera_layer_mode_tile::tilebase#1 = vera_layer_mode_tile::tilebase#0 & VERA_LAYER_TILEBASE_MASK
|
||||
if(vera_layer_mode_tile::tilewidth#1==8) goto vera_layer_mode_tile::@26
|
||||
to:vera_layer_mode_tile::@25
|
||||
@ -5176,23 +5174,21 @@ byte vera_layer_mode_text::tilewidth#0
|
||||
byte vera_layer_mode_text::tilewidth#1
|
||||
void vera_layer_mode_tile(byte vera_layer_mode_tile::layer , dword vera_layer_mode_tile::mapbase_address , dword vera_layer_mode_tile::tilebase_address , word vera_layer_mode_tile::mapwidth , word vera_layer_mode_tile::mapheight , byte vera_layer_mode_tile::tilewidth , byte vera_layer_mode_tile::tileheight , byte vera_layer_mode_tile::color_depth)
|
||||
word~ vera_layer_mode_tile::$1
|
||||
word~ vera_layer_mode_tile::$10
|
||||
byte~ vera_layer_mode_tile::$11
|
||||
byte~ vera_layer_mode_tile::$12
|
||||
byte~ vera_layer_mode_tile::$13
|
||||
byte~ vera_layer_mode_tile::$14
|
||||
byte~ vera_layer_mode_tile::$15
|
||||
byte~ vera_layer_mode_tile::$16
|
||||
byte~ vera_layer_mode_tile::$17
|
||||
byte~ vera_layer_mode_tile::$18
|
||||
byte~ vera_layer_mode_tile::$19
|
||||
word~ vera_layer_mode_tile::$2
|
||||
byte~ vera_layer_mode_tile::$20
|
||||
byte~ vera_layer_mode_tile::$2
|
||||
dword~ vera_layer_mode_tile::$3
|
||||
word~ vera_layer_mode_tile::$4
|
||||
byte~ vera_layer_mode_tile::$5
|
||||
word~ vera_layer_mode_tile::$7
|
||||
word~ vera_layer_mode_tile::$8
|
||||
dword~ vera_layer_mode_tile::$9
|
||||
byte~ vera_layer_mode_tile::$4
|
||||
word~ vera_layer_mode_tile::$6
|
||||
byte~ vera_layer_mode_tile::$7
|
||||
dword~ vera_layer_mode_tile::$8
|
||||
byte~ vera_layer_mode_tile::$9
|
||||
byte vera_layer_mode_tile::color_depth
|
||||
byte vera_layer_mode_tile::color_depth#0
|
||||
byte vera_layer_mode_tile::color_depth#1
|
||||
@ -5630,22 +5626,22 @@ Adding number conversion cast (unumber) 4 in if(vera_layer_mode_tile::color_dept
|
||||
Adding number conversion cast (unumber) 8 in if(vera_layer_mode_tile::color_depth#4==8) goto vera_layer_mode_tile::@7
|
||||
Adding number conversion cast (unumber) $20 in if(vera_layer_mode_tile::mapwidth#1==$20) goto vera_layer_mode_tile::@12
|
||||
Adding number conversion cast (unumber) 6 in vera_layer_rowshift[vera_layer_mode_tile::layer#1] = 6
|
||||
Adding number conversion cast (unumber) $40 in vera_layer_rowskip[vera_layer_mode_tile::$13] = $40
|
||||
Adding number conversion cast (unumber) $40 in vera_layer_rowskip[vera_layer_mode_tile::$11] = $40
|
||||
Adding number conversion cast (unumber) $40 in if(vera_layer_mode_tile::mapwidth#2==$40) goto vera_layer_mode_tile::@13
|
||||
Adding number conversion cast (unumber) 7 in vera_layer_rowshift[vera_layer_mode_tile::layer#2] = 7
|
||||
Adding number conversion cast (unumber) $80 in vera_layer_rowskip[vera_layer_mode_tile::$14] = $80
|
||||
Adding number conversion cast (unumber) $80 in vera_layer_rowskip[vera_layer_mode_tile::$12] = $80
|
||||
Adding number conversion cast (unumber) $80 in if(vera_layer_mode_tile::mapwidth#3==$80) goto vera_layer_mode_tile::@14
|
||||
Adding number conversion cast (unumber) 8 in vera_layer_rowshift[vera_layer_mode_tile::layer#3] = 8
|
||||
Adding number conversion cast (unumber) $100 in vera_layer_rowskip[vera_layer_mode_tile::$15] = $100
|
||||
Adding number conversion cast (unumber) $100 in vera_layer_rowskip[vera_layer_mode_tile::$13] = $100
|
||||
Adding number conversion cast (unumber) $100 in if(vera_layer_mode_tile::mapwidth#4==$100) goto vera_layer_mode_tile::@15
|
||||
Adding number conversion cast (unumber) 9 in vera_layer_rowshift[vera_layer_mode_tile::layer#4] = 9
|
||||
Adding number conversion cast (unumber) $200 in vera_layer_rowskip[vera_layer_mode_tile::$16] = $200
|
||||
Adding number conversion cast (unumber) $200 in vera_layer_rowskip[vera_layer_mode_tile::$14] = $200
|
||||
Adding number conversion cast (unumber) $20 in if(vera_layer_mode_tile::mapheight#1==$20) goto vera_layer_mode_tile::@20
|
||||
Adding number conversion cast (unumber) $40 in if(vera_layer_mode_tile::mapheight#2==$40) goto vera_layer_mode_tile::@21
|
||||
Adding number conversion cast (unumber) $80 in if(vera_layer_mode_tile::mapheight#3==$80) goto vera_layer_mode_tile::@22
|
||||
Adding number conversion cast (unumber) $100 in if(vera_layer_mode_tile::mapheight#4==$100) goto vera_layer_mode_tile::@23
|
||||
Adding number conversion cast (unumber) 1 in vera_layer_mode_tile::$3 = vera_layer_mode_tile::mapbase_address#2 >> 1
|
||||
Adding number conversion cast (unumber) 1 in vera_layer_mode_tile::$9 = vera_layer_mode_tile::tilebase_address#2 >> 1
|
||||
Adding number conversion cast (unumber) 1 in vera_layer_mode_tile::$8 = vera_layer_mode_tile::tilebase_address#2 >> 1
|
||||
Adding number conversion cast (unumber) 8 in if(vera_layer_mode_tile::tilewidth#1==8) goto vera_layer_mode_tile::@26
|
||||
Adding number conversion cast (unumber) $10 in if(vera_layer_mode_tile::tilewidth#2==$10) goto vera_layer_mode_tile::@27
|
||||
Adding number conversion cast (unumber) 8 in if(vera_layer_mode_tile::tileheight#1==8) goto vera_layer_mode_tile::@30
|
||||
@ -5773,13 +5769,13 @@ Inlining cast gotoxy::y#0 = (unumber)0
|
||||
Inlining cast gotoxy::x#0 = (unumber)0
|
||||
Inlining cast conio_cursor_x[conio_screen_layer] = (unumber)0
|
||||
Inlining cast vera_layer_rowshift[vera_layer_mode_tile::layer#1] = (unumber)6
|
||||
Inlining cast vera_layer_rowskip[vera_layer_mode_tile::$13] = (unumber)$40
|
||||
Inlining cast vera_layer_rowskip[vera_layer_mode_tile::$11] = (unumber)$40
|
||||
Inlining cast vera_layer_rowshift[vera_layer_mode_tile::layer#2] = (unumber)7
|
||||
Inlining cast vera_layer_rowskip[vera_layer_mode_tile::$14] = (unumber)$80
|
||||
Inlining cast vera_layer_rowskip[vera_layer_mode_tile::$12] = (unumber)$80
|
||||
Inlining cast vera_layer_rowshift[vera_layer_mode_tile::layer#3] = (unumber)8
|
||||
Inlining cast vera_layer_rowskip[vera_layer_mode_tile::$15] = (unumber)$100
|
||||
Inlining cast vera_layer_rowskip[vera_layer_mode_tile::$13] = (unumber)$100
|
||||
Inlining cast vera_layer_rowshift[vera_layer_mode_tile::layer#4] = (unumber)9
|
||||
Inlining cast vera_layer_rowskip[vera_layer_mode_tile::$16] = (unumber)$200
|
||||
Inlining cast vera_layer_rowskip[vera_layer_mode_tile::$14] = (unumber)$200
|
||||
Inlining cast vera_layer_mode_tile::color_depth#0 = (unumber)1
|
||||
Inlining cast vera_layer_mode_text::layer#0 = (unumber)1
|
||||
Inlining cast vera_layer_mode_text::mapwidth#0 = (unumber)$80
|
||||
@ -6147,22 +6143,22 @@ Inversing boolean not [113] gotoxy::$1 = gotoxy::y#10 <= conio_screen_height fro
|
||||
Inversing boolean not [117] gotoxy::$3 = gotoxy::x#10 < conio_screen_width from [116] gotoxy::$2 = gotoxy::x#10 >= conio_screen_width
|
||||
Inversing boolean not [174] cputc::$12 = conio_cursor_x[conio_screen_layer] != conio_screen_width from [173] cputc::$11 = conio_cursor_x[conio_screen_layer] == conio_screen_width
|
||||
Inversing boolean not [179] cputc::$9 = cputc::$16 != conio_width from [178] cputc::$8 = cputc::$16 == conio_width
|
||||
Inversing boolean not [496] conio_x16_init::$8 = conio_x16_init::line#2 < conio_screen_height from [495] conio_x16_init::$7 = conio_x16_init::line#2 >= conio_screen_height
|
||||
Inversing boolean not [566] cscroll::$1 = conio_cursor_y[conio_screen_layer] < conio_screen_height from [565] cscroll::$0 = conio_cursor_y[conio_screen_layer] >= conio_screen_height
|
||||
Inversing boolean not [578] cscroll::$3 = conio_cursor_y[conio_screen_layer] < conio_height from [577] cscroll::$2 = conio_cursor_y[conio_screen_layer] >= conio_height
|
||||
Inversing boolean not [755] printf_number_buffer::$0 = 0 == printf_number_buffer::format_min_length#1 from [754] printf_number_buffer::$26 = 0 != printf_number_buffer::format_min_length#1
|
||||
Inversing boolean not [759] printf_number_buffer::$1 = 0 == printf_number_buffer::format_justify_left#1 from [758] printf_number_buffer::$27 = 0 != printf_number_buffer::format_justify_left#1
|
||||
Inversing boolean not [761] printf_number_buffer::$2 = 0 == printf_number_buffer::format_zero_padding#1 from [760] printf_number_buffer::$28 = 0 != printf_number_buffer::format_zero_padding#1
|
||||
Inversing boolean not [774] printf_number_buffer::$20 = 0 == printf_number_buffer::buffer_sign#1 from [773] printf_number_buffer::$29 = 0 != printf_number_buffer::buffer_sign#1
|
||||
Inversing boolean not [781] printf_number_buffer::$23 = printf_number_buffer::padding#1 >= 0 from [780] printf_number_buffer::$22 = printf_number_buffer::padding#1 < 0
|
||||
Inversing boolean not [789] printf_number_buffer::$7 = 0 == printf_number_buffer::buffer_sign#2 from [788] printf_number_buffer::$30 = 0 != printf_number_buffer::buffer_sign#2
|
||||
Inversing boolean not [806] printf_number_buffer::$12 = 0 == printf_number_buffer::format_upper_case#1 from [805] printf_number_buffer::$31 = 0 != printf_number_buffer::format_upper_case#1
|
||||
Inversing boolean not [818] printf_number_buffer::$14 = 0 == printf_number_buffer::format_zero_padding#3 from [817] printf_number_buffer::$32 = 0 != printf_number_buffer::format_zero_padding#3
|
||||
Inversing boolean not [869] main::$82 = 0 == main::$81 from [868] main::$91 = 0 != main::$81
|
||||
Inversing boolean not [1044] main::$84 = 0 == main::$83 from [1043] main::$92 = 0 != main::$83
|
||||
Inversing boolean not [1250] main::$86 = 0 == main::$85 from [1249] main::$93 = 0 != main::$85
|
||||
Inversing boolean not [1323] main::$88 = 0 == main::$87 from [1322] main::$94 = 0 != main::$87
|
||||
Inversing boolean not [1397] main::$90 = 0 == main::$89 from [1396] main::$95 = 0 != main::$89
|
||||
Inversing boolean not [494] conio_x16_init::$8 = conio_x16_init::line#2 < conio_screen_height from [493] conio_x16_init::$7 = conio_x16_init::line#2 >= conio_screen_height
|
||||
Inversing boolean not [564] cscroll::$1 = conio_cursor_y[conio_screen_layer] < conio_screen_height from [563] cscroll::$0 = conio_cursor_y[conio_screen_layer] >= conio_screen_height
|
||||
Inversing boolean not [576] cscroll::$3 = conio_cursor_y[conio_screen_layer] < conio_height from [575] cscroll::$2 = conio_cursor_y[conio_screen_layer] >= conio_height
|
||||
Inversing boolean not [753] printf_number_buffer::$0 = 0 == printf_number_buffer::format_min_length#1 from [752] printf_number_buffer::$26 = 0 != printf_number_buffer::format_min_length#1
|
||||
Inversing boolean not [757] printf_number_buffer::$1 = 0 == printf_number_buffer::format_justify_left#1 from [756] printf_number_buffer::$27 = 0 != printf_number_buffer::format_justify_left#1
|
||||
Inversing boolean not [759] printf_number_buffer::$2 = 0 == printf_number_buffer::format_zero_padding#1 from [758] printf_number_buffer::$28 = 0 != printf_number_buffer::format_zero_padding#1
|
||||
Inversing boolean not [772] printf_number_buffer::$20 = 0 == printf_number_buffer::buffer_sign#1 from [771] printf_number_buffer::$29 = 0 != printf_number_buffer::buffer_sign#1
|
||||
Inversing boolean not [779] printf_number_buffer::$23 = printf_number_buffer::padding#1 >= 0 from [778] printf_number_buffer::$22 = printf_number_buffer::padding#1 < 0
|
||||
Inversing boolean not [787] printf_number_buffer::$7 = 0 == printf_number_buffer::buffer_sign#2 from [786] printf_number_buffer::$30 = 0 != printf_number_buffer::buffer_sign#2
|
||||
Inversing boolean not [804] printf_number_buffer::$12 = 0 == printf_number_buffer::format_upper_case#1 from [803] printf_number_buffer::$31 = 0 != printf_number_buffer::format_upper_case#1
|
||||
Inversing boolean not [816] printf_number_buffer::$14 = 0 == printf_number_buffer::format_zero_padding#3 from [815] printf_number_buffer::$32 = 0 != printf_number_buffer::format_zero_padding#3
|
||||
Inversing boolean not [867] main::$82 = 0 == main::$81 from [866] main::$91 = 0 != main::$81
|
||||
Inversing boolean not [1042] main::$84 = 0 == main::$83 from [1041] main::$92 = 0 != main::$83
|
||||
Inversing boolean not [1248] main::$86 = 0 == main::$85 from [1247] main::$93 = 0 != main::$85
|
||||
Inversing boolean not [1321] main::$88 = 0 == main::$87 from [1320] main::$94 = 0 != main::$87
|
||||
Inversing boolean not [1395] main::$90 = 0 == main::$89 from [1394] main::$95 = 0 != main::$89
|
||||
Successful SSA optimization Pass2UnaryNotSimplification
|
||||
Alias candidate removed (volatile)kbhit::return#0 = kbhit::ch kbhit::return#7 kbhit::return#1
|
||||
Alias candidate removed (volatile)screenlayer::vera_layer_get_width1_return#0 = screenlayer::vera_layer_get_width1_return#2 screenlayer::vera_layer_get_width1_return#1 screenlayer::vera_layer_get_width1_return#3 screenlayer::$2 conio_width
|
||||
@ -6254,9 +6250,9 @@ Alias vera_layer_mode_tile::tilebase_address#2 = vera_layer_mode_tile::tilebase_
|
||||
Alias vera_layer_mode_tile::tilewidth#1 = vera_layer_mode_tile::tilewidth#3 vera_layer_mode_tile::tilewidth#4 vera_layer_mode_tile::tilewidth#2
|
||||
Alias vera_layer_mode_tile::tileheight#3 = vera_layer_mode_tile::tileheight#7 vera_layer_mode_tile::tileheight#8 vera_layer_mode_tile::tileheight#6 vera_layer_mode_tile::tileheight#4 vera_layer_mode_tile::tileheight#5
|
||||
Alias vera_layer_mode_tile::mapbase_address#0 = vera_layer_mode_tile::$3
|
||||
Alias vera_layer_mode_tile::mapbase#0 = vera_layer_mode_tile::$5
|
||||
Alias vera_layer_mode_tile::tilebase_address#0 = vera_layer_mode_tile::$9
|
||||
Alias vera_layer_mode_tile::tilebase#0 = vera_layer_mode_tile::$11
|
||||
Alias vera_layer_mode_tile::mapbase#0 = vera_layer_mode_tile::$4
|
||||
Alias vera_layer_mode_tile::tilebase_address#0 = vera_layer_mode_tile::$8
|
||||
Alias vera_layer_mode_tile::tilebase#0 = vera_layer_mode_tile::$9
|
||||
Alias vera_layer_mode_tile::tilebase#1 = vera_layer_mode_tile::tilebase#6 vera_layer_mode_tile::tilebase#11 vera_layer_mode_tile::tilebase#7
|
||||
Alias vera_layer_mode_tile::tilebase#12 = vera_layer_mode_tile::tilebase#8 vera_layer_mode_tile::tilebase#13 vera_layer_mode_tile::tilebase#9
|
||||
Alias vera_layer_mode_tile::layer#18 = vera_layer_mode_tile::layer#19 vera_layer_mode_tile::layer#29 vera_layer_mode_tile::layer#20
|
||||
@ -6662,42 +6658,42 @@ Simple Condition cputc::$12 [136] if(conio_cursor_x[conio_screen_layer]!=conio_s
|
||||
Simple Condition cputc::$9 [139] if(cputc::$16!=conio_width) goto cputc::@return
|
||||
Simple Condition cputs::$2 [159] if(0!=cputs::c#1) goto cputs::@2
|
||||
Simple Condition vera_layer_get_color::$4 [231] if(0!=vera_layer_get_color::$0) goto vera_layer_get_color::@1
|
||||
Simple Condition conio_x16_init::$8 [377] if(conio_x16_init::line#0<conio_screen_height) goto conio_x16_init::@1
|
||||
Simple Condition clearline::$4 [400] if(clearline::c#2<conio_screen_width) goto clearline::@2
|
||||
Simple Condition insertup::$2 [412] if(insertup::i#2<=insertup::cy#0) goto insertup::@2
|
||||
Simple Condition cscroll::$1 [430] if(conio_cursor_y[conio_screen_layer]<conio_screen_height) goto cscroll::@return
|
||||
Simple Condition cscroll::$7 [432] if(0!=conio_scroll_enable[conio_screen_layer]) goto cscroll::@4
|
||||
Simple Condition cscroll::$3 [438] if(conio_cursor_y[conio_screen_layer]<conio_height) goto cscroll::@return
|
||||
Simple Condition uctoa::$0 [490] if(uctoa::radix#0==DECIMAL) goto uctoa::@1
|
||||
Simple Condition uctoa::$1 [494] if(uctoa::radix#0==HEXADECIMAL) goto uctoa::@2
|
||||
Simple Condition uctoa::$2 [498] if(uctoa::radix#0==OCTAL) goto uctoa::@3
|
||||
Simple Condition uctoa::$3 [502] if(uctoa::radix#0==BINARY) goto uctoa::@4
|
||||
Simple Condition uctoa::$5 [519] if(uctoa::digit#2<uctoa::$4) goto uctoa::@11
|
||||
Simple Condition uctoa_append::$0 [542] if(uctoa_append::value#2>=uctoa_append::sub#0) goto uctoa_append::@2
|
||||
Simple Condition printf_padding::$0 [551] if(printf_padding::i#2<printf_padding::length#4) goto printf_padding::@2
|
||||
Simple Condition printf_uchar::$5 [558] if(0!=printf_uchar::format_sign_always#12) goto printf_uchar::@1
|
||||
Simple Condition printf_number_buffer::$0 [580] if(0==printf_number_buffer::format_min_length#0) goto printf_number_buffer::@1
|
||||
Simple Condition printf_number_buffer::$20 [594] if(0==printf_number_buffer::buffer_sign#0) goto printf_number_buffer::@13
|
||||
Simple Condition printf_number_buffer::$23 [599] if(printf_number_buffer::padding#1>=0) goto printf_number_buffer::@1
|
||||
Simple Condition printf_number_buffer::$7 [603] if(0==printf_number_buffer::buffer_sign#0) goto printf_number_buffer::@3
|
||||
Simple Condition printf_number_buffer::$12 [613] if(0==printf_number_buffer::format_upper_case#0) goto printf_number_buffer::@5
|
||||
Simple Condition main::$82 [655] if(0==main::$81) goto main::@1
|
||||
Simple Condition main::$84 [771] if(0==main::$83) goto main::@3
|
||||
Simple Condition main::$86 [910] if(0==main::$85) goto main::@5
|
||||
Simple Condition main::$88 [954] if(0==main::$87) goto main::@7
|
||||
Simple Condition main::$90 [999] if(0==main::$89) goto main::@9
|
||||
Simple Condition conio_x16_init::$8 [375] if(conio_x16_init::line#0<conio_screen_height) goto conio_x16_init::@1
|
||||
Simple Condition clearline::$4 [398] if(clearline::c#2<conio_screen_width) goto clearline::@2
|
||||
Simple Condition insertup::$2 [410] if(insertup::i#2<=insertup::cy#0) goto insertup::@2
|
||||
Simple Condition cscroll::$1 [428] if(conio_cursor_y[conio_screen_layer]<conio_screen_height) goto cscroll::@return
|
||||
Simple Condition cscroll::$7 [430] if(0!=conio_scroll_enable[conio_screen_layer]) goto cscroll::@4
|
||||
Simple Condition cscroll::$3 [436] if(conio_cursor_y[conio_screen_layer]<conio_height) goto cscroll::@return
|
||||
Simple Condition uctoa::$0 [488] if(uctoa::radix#0==DECIMAL) goto uctoa::@1
|
||||
Simple Condition uctoa::$1 [492] if(uctoa::radix#0==HEXADECIMAL) goto uctoa::@2
|
||||
Simple Condition uctoa::$2 [496] if(uctoa::radix#0==OCTAL) goto uctoa::@3
|
||||
Simple Condition uctoa::$3 [500] if(uctoa::radix#0==BINARY) goto uctoa::@4
|
||||
Simple Condition uctoa::$5 [517] if(uctoa::digit#2<uctoa::$4) goto uctoa::@11
|
||||
Simple Condition uctoa_append::$0 [540] if(uctoa_append::value#2>=uctoa_append::sub#0) goto uctoa_append::@2
|
||||
Simple Condition printf_padding::$0 [549] if(printf_padding::i#2<printf_padding::length#4) goto printf_padding::@2
|
||||
Simple Condition printf_uchar::$5 [556] if(0!=printf_uchar::format_sign_always#12) goto printf_uchar::@1
|
||||
Simple Condition printf_number_buffer::$0 [578] if(0==printf_number_buffer::format_min_length#0) goto printf_number_buffer::@1
|
||||
Simple Condition printf_number_buffer::$20 [592] if(0==printf_number_buffer::buffer_sign#0) goto printf_number_buffer::@13
|
||||
Simple Condition printf_number_buffer::$23 [597] if(printf_number_buffer::padding#1>=0) goto printf_number_buffer::@1
|
||||
Simple Condition printf_number_buffer::$7 [601] if(0==printf_number_buffer::buffer_sign#0) goto printf_number_buffer::@3
|
||||
Simple Condition printf_number_buffer::$12 [611] if(0==printf_number_buffer::format_upper_case#0) goto printf_number_buffer::@5
|
||||
Simple Condition main::$82 [653] if(0==main::$81) goto main::@1
|
||||
Simple Condition main::$84 [769] if(0==main::$83) goto main::@3
|
||||
Simple Condition main::$86 [908] if(0==main::$85) goto main::@5
|
||||
Simple Condition main::$88 [952] if(0==main::$87) goto main::@7
|
||||
Simple Condition main::$90 [997] if(0==main::$89) goto main::@9
|
||||
Successful SSA optimization Pass2ConditionalJumpSimplification
|
||||
Rewriting && if()-condition to two if()s [33] toupper::$2 = toupper::$0 && toupper::$1
|
||||
Rewriting ! if()-condition to reversed if() [523] uctoa::$8 = ! uctoa::$7
|
||||
Rewriting || if()-condition to two if()s [522] uctoa::$7 = uctoa::started#2 || uctoa::$6
|
||||
Rewriting ! if()-condition to reversed if() [586] printf_number_buffer::$5 = ! printf_number_buffer::$4
|
||||
Rewriting && if()-condition to two if()s [585] printf_number_buffer::$4 = printf_number_buffer::$3 && printf_number_buffer::padding#10
|
||||
Rewriting && if()-condition to two if()s [584] printf_number_buffer::$3 = printf_number_buffer::$1 && printf_number_buffer::$2
|
||||
Rewriting ! if()-condition to reversed if() [608] printf_number_buffer::$10 = ! printf_number_buffer::$9
|
||||
Rewriting && if()-condition to two if()s [607] printf_number_buffer::$9 = printf_number_buffer::format_zero_padding#0 && printf_number_buffer::padding#10
|
||||
Rewriting ! if()-condition to reversed if() [622] printf_number_buffer::$17 = ! printf_number_buffer::$16
|
||||
Rewriting && if()-condition to two if()s [621] printf_number_buffer::$16 = printf_number_buffer::$15 && printf_number_buffer::padding#10
|
||||
Rewriting && if()-condition to two if()s [620] printf_number_buffer::$15 = printf_number_buffer::format_justify_left#0 && printf_number_buffer::$14
|
||||
Rewriting ! if()-condition to reversed if() [521] uctoa::$8 = ! uctoa::$7
|
||||
Rewriting || if()-condition to two if()s [520] uctoa::$7 = uctoa::started#2 || uctoa::$6
|
||||
Rewriting ! if()-condition to reversed if() [584] printf_number_buffer::$5 = ! printf_number_buffer::$4
|
||||
Rewriting && if()-condition to two if()s [583] printf_number_buffer::$4 = printf_number_buffer::$3 && printf_number_buffer::padding#10
|
||||
Rewriting && if()-condition to two if()s [582] printf_number_buffer::$3 = printf_number_buffer::$1 && printf_number_buffer::$2
|
||||
Rewriting ! if()-condition to reversed if() [606] printf_number_buffer::$10 = ! printf_number_buffer::$9
|
||||
Rewriting && if()-condition to two if()s [605] printf_number_buffer::$9 = printf_number_buffer::format_zero_padding#0 && printf_number_buffer::padding#10
|
||||
Rewriting ! if()-condition to reversed if() [620] printf_number_buffer::$17 = ! printf_number_buffer::$16
|
||||
Rewriting && if()-condition to two if()s [619] printf_number_buffer::$16 = printf_number_buffer::$15 && printf_number_buffer::padding#10
|
||||
Rewriting && if()-condition to two if()s [618] printf_number_buffer::$15 = printf_number_buffer::format_justify_left#0 && printf_number_buffer::$14
|
||||
Successful SSA optimization Pass2ConditionalAndOrRewriting
|
||||
Warning! Adding boolean cast to non-boolean condition uctoa::started#2
|
||||
Warning! Adding boolean cast to non-boolean condition printf_number_buffer::format_zero_padding#0
|
||||
@ -6708,8 +6704,8 @@ Warning! Adding boolean cast to non-boolean condition printf_number_buffer::padd
|
||||
Negating conditional jump and destination [252] if(vera_layer_mode_tile::color_depth#0!=8) goto vera_layer_mode_tile::@8
|
||||
Negating conditional jump and destination [270] if(vera_layer_mode_tile::mapwidth#0!=$100) goto vera_layer_mode_tile::@16
|
||||
Negating conditional jump and destination [282] if(vera_layer_mode_tile::mapheight#0!=$100) goto vera_layer_mode_tile::@24
|
||||
Negating conditional jump and destination [314] if(vera_layer_mode_tile::tilewidth#0!=$10) goto vera_layer_mode_tile::@28
|
||||
Negating conditional jump and destination [319] if(vera_layer_mode_tile::tileheight#0!=$10) goto vera_layer_mode_tile::@32
|
||||
Negating conditional jump and destination [312] if(vera_layer_mode_tile::tilewidth#0!=$10) goto vera_layer_mode_tile::@28
|
||||
Negating conditional jump and destination [317] if(vera_layer_mode_tile::tileheight#0!=$10) goto vera_layer_mode_tile::@32
|
||||
Constant memcpy_in_vram::i#0 = 0
|
||||
Constant strlen::len#0 = 0
|
||||
Constant clrscr::l#0 = 0
|
||||
@ -6990,12 +6986,12 @@ if() condition always false - eliminating [276] if(vera_layer_mode_tile::mapheig
|
||||
if() condition always true - replacing block destination [278] if(vera_layer_mode_tile::mapheight#0==$40) goto vera_layer_mode_tile::@21
|
||||
if() condition always false - eliminating [280] if(vera_layer_mode_tile::mapheight#0==$80) goto vera_layer_mode_tile::@22
|
||||
if() condition always true - replacing block destination [282] if(vera_layer_mode_tile::mapheight#0!=$100) goto vera_layer_mode_tile::@24
|
||||
if() condition always true - replacing block destination [312] if(vera_layer_mode_tile::tilewidth#0==8) goto vera_layer_mode_tile::@26
|
||||
if() condition always true - replacing block destination [314] if(vera_layer_mode_tile::tilewidth#0!=$10) goto vera_layer_mode_tile::@28
|
||||
if() condition always true - replacing block destination [317] if(vera_layer_mode_tile::tileheight#0==8) goto vera_layer_mode_tile::@30
|
||||
if() condition always true - replacing block destination [319] if(vera_layer_mode_tile::tileheight#0!=$10) goto vera_layer_mode_tile::@32
|
||||
if() condition always true - replacing block destination [336] if(vera_layer_mode_text::color_mode#0==$10) goto vera_layer_mode_text::@2
|
||||
if() condition always false - eliminating [340] if(vera_layer_mode_text::color_mode#0==$100) goto vera_layer_mode_text::@3
|
||||
if() condition always true - replacing block destination [310] if(vera_layer_mode_tile::tilewidth#0==8) goto vera_layer_mode_tile::@26
|
||||
if() condition always true - replacing block destination [312] if(vera_layer_mode_tile::tilewidth#0!=$10) goto vera_layer_mode_tile::@28
|
||||
if() condition always true - replacing block destination [315] if(vera_layer_mode_tile::tileheight#0==8) goto vera_layer_mode_tile::@30
|
||||
if() condition always true - replacing block destination [317] if(vera_layer_mode_tile::tileheight#0!=$10) goto vera_layer_mode_tile::@32
|
||||
if() condition always true - replacing block destination [334] if(vera_layer_mode_text::color_mode#0==$10) goto vera_layer_mode_text::@2
|
||||
if() condition always false - eliminating [338] if(vera_layer_mode_text::color_mode#0==$100) goto vera_layer_mode_text::@3
|
||||
Successful SSA optimization Pass2ConstantIfs
|
||||
Consolidated constant strings into main::s
|
||||
Consolidated constant strings into main::s4
|
||||
@ -7013,25 +7009,25 @@ Simplifying expression containing zero VERA_LAYER_COLOR_DEPTH_4BPP in [251] vera
|
||||
Simplifying expression containing zero VERA_LAYER_COLOR_DEPTH_8BPP in [253] vera_layer_mode_tile::config#4 = vera_layer_mode_tile::config#0 | VERA_LAYER_COLOR_DEPTH_8BPP
|
||||
Simplifying expression containing zero vera_layer_mode_tile::config#17 in [256] vera_layer_mode_tile::config#5 = vera_layer_mode_tile::config#17 | VERA_LAYER_WIDTH_32
|
||||
Simplifying expression containing zero vera_layer_mode_tile::config#21 in [277] vera_layer_mode_tile::config#9 = vera_layer_mode_tile::config#21 | VERA_LAYER_HEIGHT_32
|
||||
Simplifying expression containing zero vera_layer_mode_tile::tilebase#1 in [313] vera_layer_mode_tile::tilebase#2 = vera_layer_mode_tile::tilebase#1 | VERA_TILEBASE_WIDTH_8
|
||||
Simplifying expression containing zero vera_layer_mode_tile::tilebase#12 in [318] vera_layer_mode_tile::tilebase#4 = vera_layer_mode_tile::tilebase#12 | VERA_TILEBASE_HEIGHT_8
|
||||
Simplifying expression containing zero (byte*)&printf_buffer in [562] *((byte*)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = printf_uchar::$2
|
||||
Simplifying expression containing zero (byte*)&printf_buffer in [567] printf_number_buffer::buffer_sign#0 = *((byte*)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN)
|
||||
Simplifying expression containing zero vera_layer_enable in [813] main::vera_layer_is_visible2_return#0 = *VERA_DC_VIDEO & vera_layer_enable[main::vera_layer_is_visible2_layer#0]
|
||||
Simplifying expression containing zero vera_layer_enable in [913] *VERA_DC_VIDEO = *VERA_DC_VIDEO | vera_layer_enable[main::vera_layer_show1_layer#0]
|
||||
Simplifying expression containing zero vera_layer_enable in [925] main::vera_layer_is_visible3_return#0 = *VERA_DC_VIDEO & vera_layer_enable[main::vera_layer_is_visible3_layer#0]
|
||||
Simplifying expression containing zero vera_layer_enable in [957] main::vera_layer_hide1_$0 = ~ vera_layer_enable[main::vera_layer_hide1_layer#0]
|
||||
Simplifying expression containing zero vera_layer_enable in [970] main::vera_layer_is_visible4_return#0 = *VERA_DC_VIDEO & vera_layer_enable[main::vera_layer_is_visible4_layer#0]
|
||||
Simplifying expression containing zero vera_layer_mode_tile::tilebase#1 in [311] vera_layer_mode_tile::tilebase#2 = vera_layer_mode_tile::tilebase#1 | VERA_TILEBASE_WIDTH_8
|
||||
Simplifying expression containing zero vera_layer_mode_tile::tilebase#12 in [316] vera_layer_mode_tile::tilebase#4 = vera_layer_mode_tile::tilebase#12 | VERA_TILEBASE_HEIGHT_8
|
||||
Simplifying expression containing zero (byte*)&printf_buffer in [560] *((byte*)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = printf_uchar::$2
|
||||
Simplifying expression containing zero (byte*)&printf_buffer in [565] printf_number_buffer::buffer_sign#0 = *((byte*)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN)
|
||||
Simplifying expression containing zero vera_layer_enable in [811] main::vera_layer_is_visible2_return#0 = *VERA_DC_VIDEO & vera_layer_enable[main::vera_layer_is_visible2_layer#0]
|
||||
Simplifying expression containing zero vera_layer_enable in [911] *VERA_DC_VIDEO = *VERA_DC_VIDEO | vera_layer_enable[main::vera_layer_show1_layer#0]
|
||||
Simplifying expression containing zero vera_layer_enable in [923] main::vera_layer_is_visible3_return#0 = *VERA_DC_VIDEO & vera_layer_enable[main::vera_layer_is_visible3_layer#0]
|
||||
Simplifying expression containing zero vera_layer_enable in [955] main::vera_layer_hide1_$0 = ~ vera_layer_enable[main::vera_layer_hide1_layer#0]
|
||||
Simplifying expression containing zero vera_layer_enable in [968] main::vera_layer_is_visible4_return#0 = *VERA_DC_VIDEO & vera_layer_enable[main::vera_layer_is_visible4_layer#0]
|
||||
Successful SSA optimization PassNSimplifyExpressionWithZero
|
||||
Eliminating variable vera_layer_mode_tile::config#2 from unused block vera_layer_mode_tile::@5
|
||||
Eliminating variable vera_layer_mode_tile::config#3 from unused block vera_layer_mode_tile::@6
|
||||
Eliminating variable vera_layer_mode_tile::config#4 from unused block vera_layer_mode_tile::@7
|
||||
Eliminating variable vera_layer_mode_tile::config#5 from unused block vera_layer_mode_tile::@12
|
||||
Eliminating variable vera_layer_mode_tile::$13 from unused block vera_layer_mode_tile::@12
|
||||
Eliminating variable vera_layer_mode_tile::$11 from unused block vera_layer_mode_tile::@12
|
||||
Eliminating variable vera_layer_mode_tile::config#6 from unused block vera_layer_mode_tile::@13
|
||||
Eliminating variable vera_layer_mode_tile::$14 from unused block vera_layer_mode_tile::@13
|
||||
Eliminating variable vera_layer_mode_tile::$12 from unused block vera_layer_mode_tile::@13
|
||||
Eliminating variable vera_layer_mode_tile::config#8 from unused block vera_layer_mode_tile::@15
|
||||
Eliminating variable vera_layer_mode_tile::$16 from unused block vera_layer_mode_tile::@15
|
||||
Eliminating variable vera_layer_mode_tile::$14 from unused block vera_layer_mode_tile::@15
|
||||
Eliminating variable vera_layer_mode_tile::config#9 from unused block vera_layer_mode_tile::@20
|
||||
Eliminating variable vera_layer_mode_tile::config#11 from unused block vera_layer_mode_tile::@22
|
||||
Eliminating variable vera_layer_mode_tile::config#12 from unused block vera_layer_mode_tile::@23
|
||||
@ -7078,32 +7074,32 @@ Removing PHI-reference to removed block (vera_layer_mode_text::@3) in block vera
|
||||
Removing unused block vera_layer_mode_text::@3
|
||||
Removing unused block vera_layer_mode_text::@6
|
||||
Successful SSA optimization Pass2EliminateUnusedBlocks
|
||||
Eliminating unused variable vera_layer_set_textcolor::return#2 and assignment [258] vera_layer_set_textcolor::return#2 = vera_layer_set_textcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_backcolor::return#2 and assignment [260] vera_layer_set_backcolor::return#2 = vera_layer_set_backcolor::return#0
|
||||
Eliminating unused variable printf_number_buffer::format_sign_always#0 and assignment [407] printf_number_buffer::format_sign_always#0 = printf_uchar::format_sign_always#12
|
||||
Eliminating unused variable printf_number_buffer::format_radix#0 and assignment [410] printf_number_buffer::format_radix#0 = printf_uchar::format_radix#12
|
||||
Eliminating unused variable vera_layer_set_textcolor::return#3 and assignment [448] vera_layer_set_textcolor::return#3 = vera_layer_set_textcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_backcolor::return#3 and assignment [451] vera_layer_set_backcolor::return#3 = vera_layer_set_backcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_textcolor::return#4 and assignment [455] vera_layer_set_textcolor::return#4 = vera_layer_set_textcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_textcolor::return#5 and assignment [466] vera_layer_set_textcolor::return#5 = vera_layer_set_textcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_textcolor::return#6 and assignment [507] vera_layer_set_textcolor::return#6 = vera_layer_set_textcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_textcolor::return#7 and assignment [525] vera_layer_set_textcolor::return#7 = vera_layer_set_textcolor::return#0
|
||||
Eliminating unused variable main::config#1 and assignment [528] main::config#1 = vera_layer_get_config::return#4
|
||||
Eliminating unused variable vera_layer_set_textcolor::return#8 and assignment [556] vera_layer_set_textcolor::return#8 = vera_layer_set_textcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_backcolor::return#4 and assignment [559] vera_layer_set_backcolor::return#4 = vera_layer_set_backcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_backcolor::return#5 and assignment [563] vera_layer_set_backcolor::return#5 = vera_layer_set_backcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_textcolor::return#9 and assignment [573] vera_layer_set_textcolor::return#9 = vera_layer_set_textcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_backcolor::return#6 and assignment [576] vera_layer_set_backcolor::return#6 = vera_layer_set_backcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_textcolor::return#10 and assignment [586] vera_layer_set_textcolor::return#10 = vera_layer_set_textcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_backcolor::return#7 and assignment [589] vera_layer_set_backcolor::return#7 = vera_layer_set_backcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_textcolor::return#11 and assignment [596] vera_layer_set_textcolor::return#11 = vera_layer_set_textcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_backcolor::return#8 and assignment [599] vera_layer_set_backcolor::return#8 = vera_layer_set_backcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_textcolor::return#12 and assignment [610] vera_layer_set_textcolor::return#12 = vera_layer_set_textcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_backcolor::return#9 and assignment [613] vera_layer_set_backcolor::return#9 = vera_layer_set_backcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_textcolor::return#13 and assignment [620] vera_layer_set_textcolor::return#13 = vera_layer_set_textcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_backcolor::return#10 and assignment [623] vera_layer_set_backcolor::return#10 = vera_layer_set_backcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_textcolor::return#14 and assignment [633] vera_layer_set_textcolor::return#14 = vera_layer_set_textcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_backcolor::return#11 and assignment [636] vera_layer_set_backcolor::return#11 = vera_layer_set_backcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_textcolor::return#2 and assignment [256] vera_layer_set_textcolor::return#2 = vera_layer_set_textcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_backcolor::return#2 and assignment [258] vera_layer_set_backcolor::return#2 = vera_layer_set_backcolor::return#0
|
||||
Eliminating unused variable printf_number_buffer::format_sign_always#0 and assignment [405] printf_number_buffer::format_sign_always#0 = printf_uchar::format_sign_always#12
|
||||
Eliminating unused variable printf_number_buffer::format_radix#0 and assignment [408] printf_number_buffer::format_radix#0 = printf_uchar::format_radix#12
|
||||
Eliminating unused variable vera_layer_set_textcolor::return#3 and assignment [446] vera_layer_set_textcolor::return#3 = vera_layer_set_textcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_backcolor::return#3 and assignment [449] vera_layer_set_backcolor::return#3 = vera_layer_set_backcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_textcolor::return#4 and assignment [453] vera_layer_set_textcolor::return#4 = vera_layer_set_textcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_textcolor::return#5 and assignment [464] vera_layer_set_textcolor::return#5 = vera_layer_set_textcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_textcolor::return#6 and assignment [505] vera_layer_set_textcolor::return#6 = vera_layer_set_textcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_textcolor::return#7 and assignment [523] vera_layer_set_textcolor::return#7 = vera_layer_set_textcolor::return#0
|
||||
Eliminating unused variable main::config#1 and assignment [526] main::config#1 = vera_layer_get_config::return#4
|
||||
Eliminating unused variable vera_layer_set_textcolor::return#8 and assignment [554] vera_layer_set_textcolor::return#8 = vera_layer_set_textcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_backcolor::return#4 and assignment [557] vera_layer_set_backcolor::return#4 = vera_layer_set_backcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_backcolor::return#5 and assignment [561] vera_layer_set_backcolor::return#5 = vera_layer_set_backcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_textcolor::return#9 and assignment [571] vera_layer_set_textcolor::return#9 = vera_layer_set_textcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_backcolor::return#6 and assignment [574] vera_layer_set_backcolor::return#6 = vera_layer_set_backcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_textcolor::return#10 and assignment [584] vera_layer_set_textcolor::return#10 = vera_layer_set_textcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_backcolor::return#7 and assignment [587] vera_layer_set_backcolor::return#7 = vera_layer_set_backcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_textcolor::return#11 and assignment [594] vera_layer_set_textcolor::return#11 = vera_layer_set_textcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_backcolor::return#8 and assignment [597] vera_layer_set_backcolor::return#8 = vera_layer_set_backcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_textcolor::return#12 and assignment [608] vera_layer_set_textcolor::return#12 = vera_layer_set_textcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_backcolor::return#9 and assignment [611] vera_layer_set_backcolor::return#9 = vera_layer_set_backcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_textcolor::return#13 and assignment [618] vera_layer_set_textcolor::return#13 = vera_layer_set_textcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_backcolor::return#10 and assignment [621] vera_layer_set_backcolor::return#10 = vera_layer_set_backcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_textcolor::return#14 and assignment [631] vera_layer_set_textcolor::return#14 = vera_layer_set_textcolor::return#0
|
||||
Eliminating unused variable vera_layer_set_backcolor::return#11 and assignment [634] vera_layer_set_backcolor::return#11 = vera_layer_set_backcolor::return#0
|
||||
Eliminating unused constant VERA_LAYER_WIDTH_32
|
||||
Eliminating unused constant VERA_LAYER_WIDTH_64
|
||||
Eliminating unused constant VERA_LAYER_WIDTH_256
|
||||
@ -7143,7 +7139,7 @@ Eliminating unused constant CONIO_SCREEN_BANK#8
|
||||
Successful SSA optimization PassNEliminateUnusedVars
|
||||
Eliminating unused variable vera_layer_set_textcolor::return#0 and assignment [183] vera_layer_set_textcolor::return#0 = vera_layer_textcolor[vera_layer_set_textcolor::layer#13]
|
||||
Eliminating unused variable vera_layer_set_backcolor::return#0 and assignment [189] vera_layer_set_backcolor::return#0 = vera_layer_backcolor[vera_layer_set_backcolor::layer#10]
|
||||
Eliminating unused variable vera_layer_get_config::return#4 and assignment [517] vera_layer_get_config::return#4 = vera_layer_get_config::return#0
|
||||
Eliminating unused variable vera_layer_get_config::return#4 and assignment [515] vera_layer_get_config::return#4 = vera_layer_get_config::return#0
|
||||
Eliminating unused constant DEFAULT_SCREEN
|
||||
Eliminating unused constant vera_layer_mode_text::mapwidth#0
|
||||
Eliminating unused constant vera_layer_mode_text::mapheight#0
|
||||
@ -7190,73 +7186,66 @@ Identical Phi Values vera_layer_set_text_color_mode::layer#2 vera_layer_set_text
|
||||
Identical Phi Values vera_layer_set_text_color_mode::color_mode#2 vera_layer_set_text_color_mode::color_mode#0
|
||||
Successful SSA optimization Pass2IdenticalPhiElimination
|
||||
Simple Condition toupper::$0 [26] if(toupper::ch#0>='a') goto toupper::@3
|
||||
Simple Condition uctoa::$11 [360] if(0!=uctoa::started#2) goto uctoa::@14
|
||||
Simple Condition printf_number_buffer::$1 [404] if(0==printf_number_buffer::format_justify_left#0) goto printf_number_buffer::@23
|
||||
Simple Condition printf_number_buffer::$33 [419] if(0!=printf_number_buffer::format_zero_padding#0) goto printf_number_buffer::@24
|
||||
Simple Condition printf_number_buffer::$34 [428] if(0!=printf_number_buffer::format_justify_left#0) goto printf_number_buffer::@26
|
||||
Simple Condition toupper::$1 [618] if(toupper::ch#0<='z') goto toupper::@1
|
||||
Simple Condition uctoa::$6 [619] if(uctoa::value#2>=uctoa::digit_value#0) goto uctoa::@14
|
||||
Simple Condition printf_number_buffer::$35 [621] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@8
|
||||
Simple Condition printf_number_buffer::$2 [622] if(0==printf_number_buffer::format_zero_padding#0) goto printf_number_buffer::@22
|
||||
Simple Condition printf_number_buffer::$36 [624] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@10
|
||||
Simple Condition printf_number_buffer::$37 [626] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@12
|
||||
Simple Condition printf_number_buffer::$14 [627] if(0==printf_number_buffer::format_zero_padding#0) goto printf_number_buffer::@25
|
||||
Simple Condition uctoa::$11 [358] if(0!=uctoa::started#2) goto uctoa::@14
|
||||
Simple Condition printf_number_buffer::$1 [402] if(0==printf_number_buffer::format_justify_left#0) goto printf_number_buffer::@23
|
||||
Simple Condition printf_number_buffer::$33 [417] if(0!=printf_number_buffer::format_zero_padding#0) goto printf_number_buffer::@24
|
||||
Simple Condition printf_number_buffer::$34 [426] if(0!=printf_number_buffer::format_justify_left#0) goto printf_number_buffer::@26
|
||||
Simple Condition toupper::$1 [616] if(toupper::ch#0<='z') goto toupper::@1
|
||||
Simple Condition uctoa::$6 [617] if(uctoa::value#2>=uctoa::digit_value#0) goto uctoa::@14
|
||||
Simple Condition printf_number_buffer::$35 [619] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@8
|
||||
Simple Condition printf_number_buffer::$2 [620] if(0==printf_number_buffer::format_zero_padding#0) goto printf_number_buffer::@22
|
||||
Simple Condition printf_number_buffer::$36 [622] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@10
|
||||
Simple Condition printf_number_buffer::$37 [624] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@12
|
||||
Simple Condition printf_number_buffer::$14 [625] if(0==printf_number_buffer::format_zero_padding#0) goto printf_number_buffer::@25
|
||||
Successful SSA optimization Pass2ConditionalJumpSimplification
|
||||
Negating conditional jump and destination [26] if(toupper::ch#0<'a') goto toupper::@2
|
||||
Negating conditional jump and destination [404] if(0!=printf_number_buffer::format_justify_left#0) goto printf_number_buffer::@2
|
||||
Negating conditional jump and destination [419] if(0==printf_number_buffer::format_zero_padding#0) goto printf_number_buffer::@4
|
||||
Negating conditional jump and destination [428] if(0==printf_number_buffer::format_justify_left#0) goto printf_number_buffer::@return
|
||||
Negating conditional jump and destination [622] if(0!=printf_number_buffer::format_zero_padding#0) goto printf_number_buffer::@2
|
||||
Negating conditional jump and destination [627] if(0!=printf_number_buffer::format_zero_padding#0) goto printf_number_buffer::@return
|
||||
Negating conditional jump and destination [402] if(0!=printf_number_buffer::format_justify_left#0) goto printf_number_buffer::@2
|
||||
Negating conditional jump and destination [417] if(0==printf_number_buffer::format_zero_padding#0) goto printf_number_buffer::@4
|
||||
Negating conditional jump and destination [426] if(0==printf_number_buffer::format_justify_left#0) goto printf_number_buffer::@return
|
||||
Negating conditional jump and destination [620] if(0!=printf_number_buffer::format_zero_padding#0) goto printf_number_buffer::@2
|
||||
Negating conditional jump and destination [625] if(0!=printf_number_buffer::format_zero_padding#0) goto printf_number_buffer::@return
|
||||
Successful SSA optimization Pass2ConditionalJumpSequenceImprovement
|
||||
Constant right-side identified [152] vera_layer_set_text_color_mode::$0 = vera_layer_set_text_color_mode::layer#0 * SIZEOF_POINTER
|
||||
Constant right-side identified [210] vera_layer_mode_tile::$15 = vera_layer_mode_tile::layer#0 * SIZEOF_WORD
|
||||
Constant right-side identified [215] vera_layer_mode_tile::$1 = < vera_layer_mode_tile::mapbase_address#1
|
||||
Constant right-side identified [216] vera_layer_mode_tile::$17 = vera_layer_mode_tile::layer#0 * SIZEOF_WORD
|
||||
Constant right-side identified [218] vera_layer_mode_tile::$2 = > vera_layer_mode_tile::mapbase_address#1
|
||||
Constant right-side identified [220] vera_layer_mode_tile::$18 = vera_layer_mode_tile::layer#0 * SIZEOF_DWORD
|
||||
Constant right-side identified [210] vera_layer_mode_tile::$13 = vera_layer_mode_tile::layer#0 * SIZEOF_WORD
|
||||
Constant right-side identified [215] vera_layer_mode_tile::$1 = _word0_ vera_layer_mode_tile::mapbase_address#1
|
||||
Constant right-side identified [216] vera_layer_mode_tile::$15 = vera_layer_mode_tile::layer#0 * SIZEOF_WORD
|
||||
Constant right-side identified [218] vera_layer_mode_tile::$2 = _byte2_ vera_layer_mode_tile::mapbase_address#1
|
||||
Constant right-side identified [220] vera_layer_mode_tile::$16 = vera_layer_mode_tile::layer#0 * SIZEOF_DWORD
|
||||
Constant right-side identified [222] vera_layer_mode_tile::mapbase_address#0 = vera_layer_mode_tile::mapbase_address#1 >> 1
|
||||
Constant right-side identified [227] vera_layer_mode_tile::$7 = < vera_layer_mode_tile::tilebase_address#1
|
||||
Constant right-side identified [228] vera_layer_mode_tile::$19 = vera_layer_mode_tile::layer#0 * SIZEOF_WORD
|
||||
Constant right-side identified [230] vera_layer_mode_tile::$8 = > vera_layer_mode_tile::tilebase_address#1
|
||||
Constant right-side identified [232] vera_layer_mode_tile::$20 = vera_layer_mode_tile::layer#0 * SIZEOF_DWORD
|
||||
Constant right-side identified [234] vera_layer_mode_tile::tilebase_address#0 = vera_layer_mode_tile::tilebase_address#1 >> 1
|
||||
Constant right-side identified [346] uctoa::buffer#0 = ++ uctoa::buffer#5
|
||||
Constant right-side identified [226] vera_layer_mode_tile::$6 = _word0_ vera_layer_mode_tile::tilebase_address#1
|
||||
Constant right-side identified [227] vera_layer_mode_tile::$17 = vera_layer_mode_tile::layer#0 * SIZEOF_WORD
|
||||
Constant right-side identified [229] vera_layer_mode_tile::$7 = _byte2_ vera_layer_mode_tile::tilebase_address#1
|
||||
Constant right-side identified [231] vera_layer_mode_tile::$18 = vera_layer_mode_tile::layer#0 * SIZEOF_DWORD
|
||||
Constant right-side identified [233] vera_layer_mode_tile::tilebase_address#0 = vera_layer_mode_tile::tilebase_address#1 >> 1
|
||||
Constant right-side identified [344] uctoa::buffer#0 = ++ uctoa::buffer#5
|
||||
Successful SSA optimization Pass2ConstantRValueConsolidation
|
||||
Constant memcpy_in_vram::$2 = memcpy_in_vram::src_increment#0
|
||||
Constant memcpy_in_vram::$5 = memcpy_in_vram::dest_increment#0
|
||||
Constant vera_layer_set_text_color_mode::$0 = vera_layer_set_text_color_mode::layer#0*SIZEOF_POINTER
|
||||
Constant vera_layer_mode_tile::config#1 = VERA_LAYER_COLOR_DEPTH_1BPP
|
||||
Constant vera_layer_mode_tile::$13 = vera_layer_mode_tile::layer#0*SIZEOF_WORD
|
||||
Constant vera_layer_mode_tile::$1 = _word0_vera_layer_mode_tile::mapbase_address#1
|
||||
Constant vera_layer_mode_tile::$15 = vera_layer_mode_tile::layer#0*SIZEOF_WORD
|
||||
Constant vera_layer_mode_tile::$1 = <vera_layer_mode_tile::mapbase_address#1
|
||||
Constant vera_layer_mode_tile::$17 = vera_layer_mode_tile::layer#0*SIZEOF_WORD
|
||||
Constant vera_layer_mode_tile::$2 = >vera_layer_mode_tile::mapbase_address#1
|
||||
Constant vera_layer_mode_tile::$18 = vera_layer_mode_tile::layer#0*SIZEOF_DWORD
|
||||
Constant vera_layer_mode_tile::$2 = _byte2_vera_layer_mode_tile::mapbase_address#1
|
||||
Constant vera_layer_mode_tile::$16 = vera_layer_mode_tile::layer#0*SIZEOF_DWORD
|
||||
Constant vera_layer_mode_tile::mapbase_address#0 = vera_layer_mode_tile::mapbase_address#1>>1
|
||||
Constant vera_layer_mode_tile::$7 = <vera_layer_mode_tile::tilebase_address#1
|
||||
Constant vera_layer_mode_tile::$19 = vera_layer_mode_tile::layer#0*SIZEOF_WORD
|
||||
Constant vera_layer_mode_tile::$8 = >vera_layer_mode_tile::tilebase_address#1
|
||||
Constant vera_layer_mode_tile::$20 = vera_layer_mode_tile::layer#0*SIZEOF_DWORD
|
||||
Constant vera_layer_mode_tile::$6 = _word0_vera_layer_mode_tile::tilebase_address#1
|
||||
Constant vera_layer_mode_tile::$17 = vera_layer_mode_tile::layer#0*SIZEOF_WORD
|
||||
Constant vera_layer_mode_tile::$7 = _byte2_vera_layer_mode_tile::tilebase_address#1
|
||||
Constant vera_layer_mode_tile::$18 = vera_layer_mode_tile::layer#0*SIZEOF_DWORD
|
||||
Constant vera_layer_mode_tile::tilebase_address#0 = vera_layer_mode_tile::tilebase_address#1>>1
|
||||
Constant uctoa::buffer#0 = ++uctoa::buffer#5
|
||||
Successful SSA optimization Pass2ConstantIdentification
|
||||
Constant value identified (byte)vera_layer_mode_tile::$2 in [219] vera_mapbase_bank[vera_layer_mode_tile::layer#0] = (byte)vera_layer_mode_tile::$2
|
||||
Constant value identified (byte)vera_layer_mode_tile::$8 in [231] vera_tilebase_bank[vera_layer_mode_tile::layer#0] = (byte)vera_layer_mode_tile::$8
|
||||
Successful SSA optimization Pass2ConstantValues
|
||||
Simplifying constant evaluating to zero <vera_layer_mode_tile::mapbase_address#1 in
|
||||
Simplifying constant evaluating to zero >vera_layer_mode_tile::mapbase_address#1 in
|
||||
Simplifying constant evaluating to zero _word0_vera_layer_mode_tile::mapbase_address#1 in
|
||||
Simplifying constant evaluating to zero _byte2_vera_layer_mode_tile::mapbase_address#1 in
|
||||
Simplifying constant evaluating to zero vera_layer_mode_tile::mapbase_address#1>>1 in
|
||||
Simplifying constant evaluating to zero >vera_layer_mode_tile::tilebase_address#1 in
|
||||
Simplifying constant evaluating to zero (byte)vera_layer_mode_tile::$2 in [219] vera_mapbase_bank[vera_layer_mode_tile::layer#0] = (byte)vera_layer_mode_tile::$2
|
||||
Simplifying constant evaluating to zero (byte)vera_layer_mode_tile::$8 in [231] vera_tilebase_bank[vera_layer_mode_tile::layer#0] = (byte)vera_layer_mode_tile::$8
|
||||
Simplifying constant evaluating to zero _byte2_vera_layer_mode_tile::tilebase_address#1 in
|
||||
Successful SSA optimization PassNSimplifyConstantZero
|
||||
Simplifying expression containing zero *vera_layer_set_text_color_mode::addr#0 in [155] *vera_layer_set_text_color_mode::addr#0 = *vera_layer_set_text_color_mode::addr#0 | vera_layer_set_text_color_mode::color_mode#0
|
||||
Simplifying expression containing zero VERA_LAYER_WIDTH_128 in [208] vera_layer_mode_tile::config#21 = vera_layer_mode_tile::config#1 | VERA_LAYER_WIDTH_128
|
||||
Successful SSA optimization PassNSimplifyExpressionWithZero
|
||||
Eliminating unused constant vera_layer_set_text_color_mode::color_mode#0
|
||||
Eliminating unused constant vera_layer_mode_tile::config#1
|
||||
Eliminating unused constant vera_layer_mode_tile::$2
|
||||
Eliminating unused constant vera_layer_mode_tile::$8
|
||||
Successful SSA optimization PassNEliminateUnusedVars
|
||||
Eliminating unused constant VERA_LAYER_COLOR_DEPTH_1BPP
|
||||
Eliminating unused constant VERA_LAYER_CONFIG_16C
|
||||
@ -7266,16 +7255,18 @@ Alias candidate removed (volatile)screenlayer::vera_layer_get_width1_return#0 =
|
||||
Alias candidate removed (volatile)conio_rowshift = screenlayer::$3
|
||||
Alias candidate removed (volatile)conio_rowskip = screenlayer::$4
|
||||
Alias candidate removed (volatile)screenlayer::vera_layer_get_height1_return#0 = screenlayer::vera_layer_get_height1_return#1 screenlayer::$5 conio_height
|
||||
Constant right-side identified [210] vera_layer_mode_tile::$4 = < vera_layer_mode_tile::mapbase_address#0
|
||||
Constant right-side identified [217] vera_layer_mode_tile::$10 = < vera_layer_mode_tile::tilebase_address#0
|
||||
Constant right-side identified [329] uctoa::buffer#1 = ++ uctoa::buffer#0
|
||||
Constant right-side identified [210] vera_layer_mode_tile::mapbase#0 = > vera_layer_mode_tile::mapbase_address#0
|
||||
Constant right-side identified [216] vera_layer_mode_tile::tilebase#0 = > vera_layer_mode_tile::tilebase_address#0
|
||||
Constant right-side identified [327] uctoa::buffer#1 = ++ uctoa::buffer#0
|
||||
Successful SSA optimization Pass2ConstantRValueConsolidation
|
||||
Constant vera_layer_mode_tile::config#21 = VERA_LAYER_WIDTH_128
|
||||
Constant vera_layer_mode_tile::$4 = <vera_layer_mode_tile::mapbase_address#0
|
||||
Constant vera_layer_mode_tile::$10 = <vera_layer_mode_tile::tilebase_address#0
|
||||
Constant vera_layer_mode_tile::mapbase#0 = >vera_layer_mode_tile::mapbase_address#0
|
||||
Constant vera_layer_mode_tile::tilebase#0 = >vera_layer_mode_tile::tilebase_address#0
|
||||
Constant uctoa::buffer#1 = ++uctoa::buffer#0
|
||||
Successful SSA optimization Pass2ConstantIdentification
|
||||
Simplifying constant evaluating to zero <vera_layer_mode_tile::mapbase_address#0 in
|
||||
Constant vera_layer_set_mapbase::mapbase#0 = vera_layer_mode_tile::mapbase#0
|
||||
Successful SSA optimization Pass2ConstantIdentification
|
||||
Simplifying constant evaluating to zero >vera_layer_mode_tile::mapbase_address#0 in
|
||||
Successful SSA optimization PassNSimplifyConstantZero
|
||||
Eliminating unused constant vera_layer_mode_tile::mapbase_address#0
|
||||
Successful SSA optimization PassNEliminateUnusedVars
|
||||
@ -7285,31 +7276,14 @@ Alias candidate removed (volatile)conio_rowshift = screenlayer::$3
|
||||
Alias candidate removed (volatile)conio_rowskip = screenlayer::$4
|
||||
Alias candidate removed (volatile)screenlayer::vera_layer_get_height1_return#0 = screenlayer::vera_layer_get_height1_return#1 screenlayer::$5 conio_height
|
||||
Constant right-side identified [203] vera_layer_mode_tile::config#10 = vera_layer_mode_tile::config#21 | VERA_LAYER_HEIGHT_64
|
||||
Constant right-side identified [209] vera_layer_mode_tile::mapbase#0 = > vera_layer_mode_tile::$4
|
||||
Constant right-side identified [215] vera_layer_mode_tile::tilebase#0 = > vera_layer_mode_tile::$10
|
||||
Constant right-side identified [327] uctoa::buffer#2 = ++ uctoa::buffer#1
|
||||
Constant right-side identified [213] vera_layer_mode_tile::tilebase#1 = vera_layer_mode_tile::tilebase#0 & VERA_LAYER_TILEBASE_MASK
|
||||
Constant right-side identified [324] uctoa::buffer#2 = ++ uctoa::buffer#1
|
||||
Successful SSA optimization Pass2ConstantRValueConsolidation
|
||||
Constant vera_layer_mode_tile::config#10 = vera_layer_mode_tile::config#21|VERA_LAYER_HEIGHT_64
|
||||
Constant vera_layer_mode_tile::mapbase#0 = >vera_layer_mode_tile::$4
|
||||
Constant vera_layer_mode_tile::tilebase#0 = >vera_layer_mode_tile::$10
|
||||
Constant vera_layer_mode_tile::tilebase#1 = vera_layer_mode_tile::tilebase#0&VERA_LAYER_TILEBASE_MASK
|
||||
Constant uctoa::buffer#2 = ++uctoa::buffer#1
|
||||
Successful SSA optimization Pass2ConstantIdentification
|
||||
Constant vera_layer_set_config::config#0 = vera_layer_mode_tile::config#10
|
||||
Constant vera_layer_set_mapbase::mapbase#0 = vera_layer_mode_tile::mapbase#0
|
||||
Successful SSA optimization Pass2ConstantIdentification
|
||||
Simplifying constant evaluating to zero >vera_layer_mode_tile::$4 in
|
||||
Successful SSA optimization PassNSimplifyConstantZero
|
||||
Eliminating unused constant vera_layer_mode_tile::$4
|
||||
Successful SSA optimization PassNEliminateUnusedVars
|
||||
Alias candidate removed (volatile)kbhit::return#0 = kbhit::ch kbhit::return#1
|
||||
Alias candidate removed (volatile)screenlayer::vera_layer_get_width1_return#0 = screenlayer::vera_layer_get_width1_return#1 screenlayer::$2 conio_width
|
||||
Alias candidate removed (volatile)conio_rowshift = screenlayer::$3
|
||||
Alias candidate removed (volatile)conio_rowskip = screenlayer::$4
|
||||
Alias candidate removed (volatile)screenlayer::vera_layer_get_height1_return#0 = screenlayer::vera_layer_get_height1_return#1 screenlayer::$5 conio_height
|
||||
Constant right-side identified [211] vera_layer_mode_tile::tilebase#1 = vera_layer_mode_tile::tilebase#0 & VERA_LAYER_TILEBASE_MASK
|
||||
Successful SSA optimization Pass2ConstantRValueConsolidation
|
||||
Constant vera_layer_mode_tile::tilebase#1 = vera_layer_mode_tile::tilebase#0&VERA_LAYER_TILEBASE_MASK
|
||||
Successful SSA optimization Pass2ConstantIdentification
|
||||
Constant vera_layer_set_tilebase::tilebase#0 = vera_layer_mode_tile::tilebase#1
|
||||
Successful SSA optimization Pass2ConstantIdentification
|
||||
Alias candidate removed (volatile)kbhit::return#0 = kbhit::ch kbhit::return#1
|
||||
@ -7572,7 +7546,6 @@ Constant inlined printf_uchar::format_sign_always#8 = 0
|
||||
Constant inlined printf_uchar::format_sign_always#7 = 0
|
||||
Constant inlined printf_uchar::format_sign_always#10 = 0
|
||||
Constant inlined printf_uchar::format_sign_always#11 = 0
|
||||
Constant inlined vera_layer_mode_tile::$20 = vera_layer_mode_text::layer#0*SIZEOF_DWORD
|
||||
Constant inlined uctoa::digit#0 = 0
|
||||
Constant inlined memcpy_in_vram::src_increment#0 = VERA_INC_1
|
||||
Constant inlined vera_layer_set_config::config#0 = vera_layer_mode_tile::config#10
|
||||
@ -7594,7 +7567,9 @@ Constant inlined printf_uchar::format_min_length#0 = 0
|
||||
Constant inlined printf_uchar::format_upper_case#1 = 0
|
||||
Constant inlined printf_uchar::format_upper_case#2 = 0
|
||||
Constant inlined printf_uchar::format_upper_case#0 = 0
|
||||
Constant inlined vera_layer_mode_tile::$7 = <vera_layer_mode_text::tilebase_address#0
|
||||
Constant inlined vera_layer_mode_tile::$6 = _word0_vera_layer_mode_text::tilebase_address#0
|
||||
Constant inlined vera_layer_mode_tile::$7 = 0
|
||||
Constant inlined vera_layer_mode_tile::$2 = 0
|
||||
Constant inlined vera_layer_mode_tile::$1 = 0
|
||||
Constant inlined main::s29 = main::s17
|
||||
Constant inlined vera_layer_set_mapbase::mapbase#0 = vera_layer_mode_tile::mapbase#0
|
||||
@ -7624,7 +7599,6 @@ Constant inlined main::s18 = main::s4
|
||||
Constant inlined vera_layer_set_backcolor::color#6 = BLACK
|
||||
Constant inlined vera_layer_mode_tile::$18 = vera_layer_mode_text::layer#0*SIZEOF_DWORD
|
||||
Constant inlined vera_layer_set_backcolor::color#7 = BLACK
|
||||
Constant inlined vera_layer_mode_tile::$19 = vera_layer_mode_text::layer#0*SIZEOF_WORD
|
||||
Constant inlined vera_layer_set_backcolor::color#4 = BLACK
|
||||
Constant inlined vera_layer_set_backcolor::color#5 = BLACK
|
||||
Constant inlined vera_layer_set_backcolor::color#2 = BLACK
|
||||
@ -7633,8 +7607,9 @@ Constant inlined uctoa::buffer#5 = (byte*)&printf_buffer+OFFSET_STRUCT_PRINTF_BU
|
||||
Constant inlined vera_layer_set_backcolor::color#3 = WHITE
|
||||
Constant inlined vera_layer_set_backcolor::color#0 = BLUE
|
||||
Constant inlined vera_layer_set_backcolor::color#1 = BLACK
|
||||
Constant inlined vera_layer_mode_tile::$10 = <vera_layer_mode_tile::tilebase_address#0
|
||||
Constant inlined vera_layer_mode_tile::$13 = vera_layer_mode_text::layer#0*SIZEOF_WORD
|
||||
Constant inlined vera_layer_mode_tile::$15 = vera_layer_mode_text::layer#0*SIZEOF_WORD
|
||||
Constant inlined vera_layer_mode_tile::$16 = vera_layer_mode_text::layer#0*SIZEOF_DWORD
|
||||
Constant inlined vera_layer_mode_tile::$17 = vera_layer_mode_text::layer#0*SIZEOF_WORD
|
||||
Constant inlined main::s26 = main::s17
|
||||
Constant inlined main::s24 = main::s22
|
||||
@ -7702,7 +7677,7 @@ Constant inlined vera_layer_set_textcolor::color#4 = YELLOW
|
||||
Constant inlined vera_layer_get_config::layer#3 = 0
|
||||
Constant inlined vera_layer_get_config::layer#2 = 0
|
||||
Constant inlined vera_layer_get_config::layer#1 = 1
|
||||
Constant inlined vera_layer_set_tilebase::tilebase#0 = ><vera_layer_mode_tile::tilebase_address#0&VERA_LAYER_TILEBASE_MASK
|
||||
Constant inlined vera_layer_set_tilebase::tilebase#0 = >vera_layer_mode_tile::tilebase_address#0&VERA_LAYER_TILEBASE_MASK
|
||||
Constant inlined vera_layer_get_config::layer#0 = 1
|
||||
Constant inlined main::bgcolor7_color#0 = BLACK
|
||||
Constant inlined vera_layer_mode_tile::layer#0 = vera_layer_mode_text::layer#0
|
||||
@ -7740,7 +7715,7 @@ Constant inlined printf_uchar::format_zero_padding#4 = 0
|
||||
Constant inlined gotoxy::y#3 = $10
|
||||
Constant inlined gotoxy::y#4 = 4
|
||||
Constant inlined gotoxy::y#5 = 5
|
||||
Constant inlined vera_layer_mode_tile::tilebase#0 = ><vera_layer_mode_tile::tilebase_address#0
|
||||
Constant inlined vera_layer_mode_tile::tilebase#0 = >vera_layer_mode_tile::tilebase_address#0
|
||||
Constant inlined printf_uchar::format_radix#10 = HEXADECIMAL
|
||||
Constant inlined vera_layer_set_text_color_mode::layer#0 = vera_layer_mode_text::layer#0
|
||||
Constant inlined printf_uchar::format_radix#11 = HEXADECIMAL
|
||||
@ -7750,7 +7725,7 @@ Constant inlined printf_uchar::format_zero_padding#6 = 0
|
||||
Constant inlined printf_uchar::format_zero_padding#9 = 0
|
||||
Constant inlined printf_uchar::format_zero_padding#8 = 0
|
||||
Constant inlined gotoxy::y#6 = 6
|
||||
Constant inlined vera_layer_mode_tile::tilebase#1 = ><vera_layer_mode_tile::tilebase_address#0&VERA_LAYER_TILEBASE_MASK
|
||||
Constant inlined vera_layer_mode_tile::tilebase#1 = >vera_layer_mode_tile::tilebase_address#0&VERA_LAYER_TILEBASE_MASK
|
||||
Constant inlined gotoxy::y#7 = $a
|
||||
Constant inlined gotoxy::y#8 = $b
|
||||
Constant inlined gotoxy::y#9 = $c
|
||||
@ -9572,7 +9547,7 @@ vera_layer_set_config::@return: scope:[vera_layer_set_config] from vera_layer_s
|
||||
|
||||
void vera_layer_set_tilebase(byte vera_layer_set_tilebase::layer , byte vera_layer_set_tilebase::tilebase)
|
||||
vera_layer_set_tilebase: scope:[vera_layer_set_tilebase] from main::@55 vera_layer_mode_tile::@3
|
||||
[476] vera_layer_set_tilebase::tilebase#2 = phi( main::@55/vera_layer_set_tilebase::tilebase#1, vera_layer_mode_tile::@3/><vera_layer_mode_tile::tilebase_address#0&VERA_LAYER_TILEBASE_MASK )
|
||||
[476] vera_layer_set_tilebase::tilebase#2 = phi( main::@55/vera_layer_set_tilebase::tilebase#1, vera_layer_mode_tile::@3/>vera_layer_mode_tile::tilebase_address#0&VERA_LAYER_TILEBASE_MASK )
|
||||
[476] vera_layer_set_tilebase::layer#2 = phi( main::@55/0, vera_layer_mode_tile::@3/vera_layer_mode_text::layer#0 )
|
||||
[477] vera_layer_set_tilebase::$0 = vera_layer_set_tilebase::layer#2 << 1
|
||||
[478] vera_layer_set_tilebase::addr#0 = vera_layer_tilebase[vera_layer_set_tilebase::$0]
|
||||
@ -9601,7 +9576,7 @@ vera_layer_mode_tile::@4: scope:[vera_layer_mode_tile] from vera_layer_mode_til
|
||||
[489] call vera_layer_set_mapbase
|
||||
to:vera_layer_mode_tile::@5
|
||||
vera_layer_mode_tile::@5: scope:[vera_layer_mode_tile] from vera_layer_mode_tile::@4
|
||||
[490] *(vera_tilebase_offset+vera_layer_mode_text::layer#0*SIZEOF_WORD) = <vera_layer_mode_text::tilebase_address#0
|
||||
[490] *(vera_tilebase_offset+vera_layer_mode_text::layer#0*SIZEOF_WORD) = _word0_vera_layer_mode_text::tilebase_address#0
|
||||
[491] *(vera_tilebase_bank+vera_layer_mode_text::layer#0) = 0
|
||||
[492] *(vera_tilebase_address+vera_layer_mode_text::layer#0*SIZEOF_DWORD) = vera_layer_mode_text::tilebase_address#0
|
||||
to:vera_layer_mode_tile::@3
|
||||
@ -11112,7 +11087,7 @@ Statement [483] *(vera_layer_rowskip+vera_layer_mode_text::layer#0*SIZEOF_WORD)
|
||||
Statement [486] *(vera_mapbase_offset+vera_layer_mode_text::layer#0*SIZEOF_WORD) = 0 [ ] ( vera_layer_mode_text:13::vera_layer_mode_tile:275 [ conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } conio_x16_init:8::vera_layer_mode_text:13::vera_layer_mode_tile:275 [ printf_buffer conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } ) always clobbers reg byte a
|
||||
Statement [487] *(vera_mapbase_bank+vera_layer_mode_text::layer#0) = 0 [ ] ( vera_layer_mode_text:13::vera_layer_mode_tile:275 [ conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } conio_x16_init:8::vera_layer_mode_text:13::vera_layer_mode_tile:275 [ printf_buffer conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } ) always clobbers reg byte a
|
||||
Statement [488] *(vera_mapbase_address+vera_layer_mode_text::layer#0*SIZEOF_DWORD) = vera_layer_mode_text::mapbase_address#0 [ ] ( vera_layer_mode_text:13::vera_layer_mode_tile:275 [ conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } conio_x16_init:8::vera_layer_mode_text:13::vera_layer_mode_tile:275 [ printf_buffer conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } ) always clobbers reg byte a
|
||||
Statement [490] *(vera_tilebase_offset+vera_layer_mode_text::layer#0*SIZEOF_WORD) = <vera_layer_mode_text::tilebase_address#0 [ ] ( vera_layer_mode_text:13::vera_layer_mode_tile:275 [ conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } conio_x16_init:8::vera_layer_mode_text:13::vera_layer_mode_tile:275 [ printf_buffer conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } ) always clobbers reg byte a
|
||||
Statement [490] *(vera_tilebase_offset+vera_layer_mode_text::layer#0*SIZEOF_WORD) = _word0_vera_layer_mode_text::tilebase_address#0 [ ] ( vera_layer_mode_text:13::vera_layer_mode_tile:275 [ conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } conio_x16_init:8::vera_layer_mode_text:13::vera_layer_mode_tile:275 [ printf_buffer conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } ) always clobbers reg byte a
|
||||
Statement [491] *(vera_tilebase_bank+vera_layer_mode_text::layer#0) = 0 [ ] ( vera_layer_mode_text:13::vera_layer_mode_tile:275 [ conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } conio_x16_init:8::vera_layer_mode_text:13::vera_layer_mode_tile:275 [ printf_buffer conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } ) always clobbers reg byte a
|
||||
Statement [492] *(vera_tilebase_address+vera_layer_mode_text::layer#0*SIZEOF_DWORD) = vera_layer_mode_text::tilebase_address#0 [ ] ( vera_layer_mode_text:13::vera_layer_mode_tile:275 [ conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } conio_x16_init:8::vera_layer_mode_text:13::vera_layer_mode_tile:275 [ printf_buffer conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } ) always clobbers reg byte a
|
||||
Statement [496] vera_layer_set_text_color_mode::addr#0 = *(vera_layer_config+vera_layer_mode_text::layer#0*SIZEOF_POINTER) [ vera_layer_set_text_color_mode::addr#0 ] ( vera_layer_mode_text:13::vera_layer_set_text_color_mode:277 [ conio_screen_width conio_screen_height conio_x16_init::line#0 vera_layer_set_text_color_mode::addr#0 ] { } conio_x16_init:8::vera_layer_mode_text:13::vera_layer_set_text_color_mode:277 [ printf_buffer conio_screen_width conio_screen_height conio_x16_init::line#0 vera_layer_set_text_color_mode::addr#0 ] { } ) always clobbers reg byte a
|
||||
@ -11296,7 +11271,7 @@ Statement [483] *(vera_layer_rowskip+vera_layer_mode_text::layer#0*SIZEOF_WORD)
|
||||
Statement [486] *(vera_mapbase_offset+vera_layer_mode_text::layer#0*SIZEOF_WORD) = 0 [ ] ( vera_layer_mode_text:13::vera_layer_mode_tile:275 [ conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } conio_x16_init:8::vera_layer_mode_text:13::vera_layer_mode_tile:275 [ printf_buffer conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } ) always clobbers reg byte a
|
||||
Statement [487] *(vera_mapbase_bank+vera_layer_mode_text::layer#0) = 0 [ ] ( vera_layer_mode_text:13::vera_layer_mode_tile:275 [ conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } conio_x16_init:8::vera_layer_mode_text:13::vera_layer_mode_tile:275 [ printf_buffer conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } ) always clobbers reg byte a
|
||||
Statement [488] *(vera_mapbase_address+vera_layer_mode_text::layer#0*SIZEOF_DWORD) = vera_layer_mode_text::mapbase_address#0 [ ] ( vera_layer_mode_text:13::vera_layer_mode_tile:275 [ conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } conio_x16_init:8::vera_layer_mode_text:13::vera_layer_mode_tile:275 [ printf_buffer conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } ) always clobbers reg byte a
|
||||
Statement [490] *(vera_tilebase_offset+vera_layer_mode_text::layer#0*SIZEOF_WORD) = <vera_layer_mode_text::tilebase_address#0 [ ] ( vera_layer_mode_text:13::vera_layer_mode_tile:275 [ conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } conio_x16_init:8::vera_layer_mode_text:13::vera_layer_mode_tile:275 [ printf_buffer conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } ) always clobbers reg byte a
|
||||
Statement [490] *(vera_tilebase_offset+vera_layer_mode_text::layer#0*SIZEOF_WORD) = _word0_vera_layer_mode_text::tilebase_address#0 [ ] ( vera_layer_mode_text:13::vera_layer_mode_tile:275 [ conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } conio_x16_init:8::vera_layer_mode_text:13::vera_layer_mode_tile:275 [ printf_buffer conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } ) always clobbers reg byte a
|
||||
Statement [491] *(vera_tilebase_bank+vera_layer_mode_text::layer#0) = 0 [ ] ( vera_layer_mode_text:13::vera_layer_mode_tile:275 [ conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } conio_x16_init:8::vera_layer_mode_text:13::vera_layer_mode_tile:275 [ printf_buffer conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } ) always clobbers reg byte a
|
||||
Statement [492] *(vera_tilebase_address+vera_layer_mode_text::layer#0*SIZEOF_DWORD) = vera_layer_mode_text::tilebase_address#0 [ ] ( vera_layer_mode_text:13::vera_layer_mode_tile:275 [ conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } conio_x16_init:8::vera_layer_mode_text:13::vera_layer_mode_tile:275 [ printf_buffer conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } ) always clobbers reg byte a
|
||||
Statement [496] vera_layer_set_text_color_mode::addr#0 = *(vera_layer_config+vera_layer_mode_text::layer#0*SIZEOF_POINTER) [ vera_layer_set_text_color_mode::addr#0 ] ( vera_layer_mode_text:13::vera_layer_set_text_color_mode:277 [ conio_screen_width conio_screen_height conio_x16_init::line#0 vera_layer_set_text_color_mode::addr#0 ] { } conio_x16_init:8::vera_layer_mode_text:13::vera_layer_set_text_color_mode:277 [ printf_buffer conio_screen_width conio_screen_height conio_x16_init::line#0 vera_layer_set_text_color_mode::addr#0 ] { } ) always clobbers reg byte a
|
||||
@ -11462,7 +11437,7 @@ Statement [483] *(vera_layer_rowskip+vera_layer_mode_text::layer#0*SIZEOF_WORD)
|
||||
Statement [486] *(vera_mapbase_offset+vera_layer_mode_text::layer#0*SIZEOF_WORD) = 0 [ ] ( vera_layer_mode_text:13::vera_layer_mode_tile:275 [ conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } conio_x16_init:8::vera_layer_mode_text:13::vera_layer_mode_tile:275 [ printf_buffer conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } ) always clobbers reg byte a
|
||||
Statement [487] *(vera_mapbase_bank+vera_layer_mode_text::layer#0) = 0 [ ] ( vera_layer_mode_text:13::vera_layer_mode_tile:275 [ conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } conio_x16_init:8::vera_layer_mode_text:13::vera_layer_mode_tile:275 [ printf_buffer conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } ) always clobbers reg byte a
|
||||
Statement [488] *(vera_mapbase_address+vera_layer_mode_text::layer#0*SIZEOF_DWORD) = vera_layer_mode_text::mapbase_address#0 [ ] ( vera_layer_mode_text:13::vera_layer_mode_tile:275 [ conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } conio_x16_init:8::vera_layer_mode_text:13::vera_layer_mode_tile:275 [ printf_buffer conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } ) always clobbers reg byte a
|
||||
Statement [490] *(vera_tilebase_offset+vera_layer_mode_text::layer#0*SIZEOF_WORD) = <vera_layer_mode_text::tilebase_address#0 [ ] ( vera_layer_mode_text:13::vera_layer_mode_tile:275 [ conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } conio_x16_init:8::vera_layer_mode_text:13::vera_layer_mode_tile:275 [ printf_buffer conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } ) always clobbers reg byte a
|
||||
Statement [490] *(vera_tilebase_offset+vera_layer_mode_text::layer#0*SIZEOF_WORD) = _word0_vera_layer_mode_text::tilebase_address#0 [ ] ( vera_layer_mode_text:13::vera_layer_mode_tile:275 [ conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } conio_x16_init:8::vera_layer_mode_text:13::vera_layer_mode_tile:275 [ printf_buffer conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } ) always clobbers reg byte a
|
||||
Statement [491] *(vera_tilebase_bank+vera_layer_mode_text::layer#0) = 0 [ ] ( vera_layer_mode_text:13::vera_layer_mode_tile:275 [ conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } conio_x16_init:8::vera_layer_mode_text:13::vera_layer_mode_tile:275 [ printf_buffer conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } ) always clobbers reg byte a
|
||||
Statement [492] *(vera_tilebase_address+vera_layer_mode_text::layer#0*SIZEOF_DWORD) = vera_layer_mode_text::tilebase_address#0 [ ] ( vera_layer_mode_text:13::vera_layer_mode_tile:275 [ conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } conio_x16_init:8::vera_layer_mode_text:13::vera_layer_mode_tile:275 [ printf_buffer conio_screen_width conio_screen_height conio_x16_init::line#0 ] { } ) always clobbers reg byte a
|
||||
Statement [496] vera_layer_set_text_color_mode::addr#0 = *(vera_layer_config+vera_layer_mode_text::layer#0*SIZEOF_POINTER) [ vera_layer_set_text_color_mode::addr#0 ] ( vera_layer_mode_text:13::vera_layer_set_text_color_mode:277 [ conio_screen_width conio_screen_height conio_x16_init::line#0 vera_layer_set_text_color_mode::addr#0 ] { } conio_x16_init:8::vera_layer_mode_text:13::vera_layer_set_text_color_mode:277 [ printf_buffer conio_screen_width conio_screen_height conio_x16_init::line#0 vera_layer_set_text_color_mode::addr#0 ] { } ) always clobbers reg byte a
|
||||
@ -14171,12 +14146,12 @@ clrscr: {
|
||||
lda #VERA_ADDRSEL^$ff
|
||||
and VERA_CTRL
|
||||
sta VERA_CTRL
|
||||
// [371] clrscr::$5 = < clrscr::line_text#2 -- vbuaa=_lo_pbuz1
|
||||
// [371] clrscr::$5 = < clrscr::line_text#2 -- vbuaa=_byte0_pbuz1
|
||||
lda.z line_text
|
||||
// [372] *VERA_ADDRX_L = clrscr::$5 -- _deref_pbuc1=vbuaa
|
||||
// Set address
|
||||
sta VERA_ADDRX_L
|
||||
// [373] clrscr::$6 = > clrscr::line_text#2 -- vbuaa=_hi_pbuz1
|
||||
// [373] clrscr::$6 = > clrscr::line_text#2 -- vbuaa=_byte1_pbuz1
|
||||
lda.z line_text+1
|
||||
// [374] *VERA_ADDRX_M = clrscr::$6 -- _deref_pbuc1=vbuaa
|
||||
sta VERA_ADDRX_M
|
||||
@ -14341,11 +14316,11 @@ clearline: {
|
||||
lda.z CONIO_SCREEN_TEXT+1
|
||||
adc conio_line_text+1,y
|
||||
sta.z addr+1
|
||||
// [400] clearline::$1 = < clearline::addr#0 -- vbuaa=_lo_pbuz1
|
||||
// [400] clearline::$1 = < clearline::addr#0 -- vbuaa=_byte0_pbuz1
|
||||
lda.z addr
|
||||
// [401] *VERA_ADDRX_L = clearline::$1 -- _deref_pbuc1=vbuaa
|
||||
sta VERA_ADDRX_L
|
||||
// [402] clearline::$2 = > clearline::addr#0 -- vbuaa=_hi_pbuz1
|
||||
// [402] clearline::$2 = > clearline::addr#0 -- vbuaa=_byte1_pbuz1
|
||||
lda.z addr+1
|
||||
// [403] *VERA_ADDRX_M = clearline::$2 -- _deref_pbuc1=vbuaa
|
||||
sta VERA_ADDRX_M
|
||||
@ -14526,12 +14501,12 @@ cputc: {
|
||||
lda #VERA_ADDRSEL^$ff
|
||||
and VERA_CTRL
|
||||
sta VERA_CTRL
|
||||
// [440] cputc::$4 = < cputc::conio_addr#1 -- vbuaa=_lo_pbuz1
|
||||
// [440] cputc::$4 = < cputc::conio_addr#1 -- vbuaa=_byte0_pbuz1
|
||||
lda.z conio_addr
|
||||
// [441] *VERA_ADDRX_L = cputc::$4 -- _deref_pbuc1=vbuaa
|
||||
// Set address
|
||||
sta VERA_ADDRX_L
|
||||
// [442] cputc::$5 = > cputc::conio_addr#1 -- vbuaa=_hi_pbuz1
|
||||
// [442] cputc::$5 = > cputc::conio_addr#1 -- vbuaa=_byte1_pbuz1
|
||||
lda.z conio_addr+1
|
||||
// [443] *VERA_ADDRX_M = cputc::$5 -- _deref_pbuc1=vbuaa
|
||||
sta VERA_ADDRX_M
|
||||
@ -14730,9 +14705,9 @@ vera_layer_set_tilebase: {
|
||||
// - color_depth: The color depth in bits per pixel (BPP), which can be 1, 2, 4 or 8.
|
||||
vera_layer_mode_tile: {
|
||||
.const tilebase_address = vera_layer_mode_text.tilebase_address>>1
|
||||
.const mapbase = 0
|
||||
// config
|
||||
.const config = VERA_LAYER_WIDTH_128|VERA_LAYER_HEIGHT_64
|
||||
.const mapbase = 0
|
||||
jmp __b1
|
||||
// vera_layer_mode_tile::@1
|
||||
__b1:
|
||||
@ -14789,7 +14764,7 @@ vera_layer_mode_tile: {
|
||||
jmp __b5
|
||||
// vera_layer_mode_tile::@5
|
||||
__b5:
|
||||
// [490] *(vera_tilebase_offset+vera_layer_mode_text::layer#0*SIZEOF_WORD) = <vera_layer_mode_text::tilebase_address#0 -- _deref_pwuc1=vwuc2
|
||||
// [490] *(vera_tilebase_offset+vera_layer_mode_text::layer#0*SIZEOF_WORD) = _word0_vera_layer_mode_text::tilebase_address#0 -- _deref_pwuc1=vwuc2
|
||||
// tilebase
|
||||
lda #<vera_layer_mode_text.tilebase_address&$ffff
|
||||
sta vera_tilebase_offset+vera_layer_mode_text.layer*SIZEOF_WORD
|
||||
@ -14815,8 +14790,8 @@ vera_layer_mode_tile: {
|
||||
// [494] call vera_layer_set_tilebase
|
||||
// [476] phi from vera_layer_mode_tile::@3 to vera_layer_set_tilebase [phi:vera_layer_mode_tile::@3->vera_layer_set_tilebase]
|
||||
vera_layer_set_tilebase_from___b3:
|
||||
// [476] phi vera_layer_set_tilebase::tilebase#2 = ><vera_layer_mode_tile::tilebase_address#0&VERA_LAYER_TILEBASE_MASK [phi:vera_layer_mode_tile::@3->vera_layer_set_tilebase#0] -- vbuxx=vbuc1
|
||||
ldx #(>(tilebase_address&$ffff))&VERA_LAYER_TILEBASE_MASK
|
||||
// [476] phi vera_layer_set_tilebase::tilebase#2 = >vera_layer_mode_tile::tilebase_address#0&VERA_LAYER_TILEBASE_MASK [phi:vera_layer_mode_tile::@3->vera_layer_set_tilebase#0] -- vbuxx=vbuc1
|
||||
ldx #(>tilebase_address)&VERA_LAYER_TILEBASE_MASK
|
||||
// [476] phi vera_layer_set_tilebase::layer#2 = vera_layer_mode_text::layer#0 [phi:vera_layer_mode_tile::@3->vera_layer_set_tilebase#1] -- vbuaa=vbuc1
|
||||
lda #vera_layer_mode_text.layer
|
||||
jsr vera_layer_set_tilebase
|
||||
@ -15525,12 +15500,12 @@ memcpy_in_vram: {
|
||||
lda #VERA_ADDRSEL^$ff
|
||||
and VERA_CTRL
|
||||
sta VERA_CTRL
|
||||
// [600] memcpy_in_vram::$0 = < (void*)memcpy_in_vram::src#0 -- vbuaa=_lo_pvoz1
|
||||
// [600] memcpy_in_vram::$0 = < (void*)memcpy_in_vram::src#0 -- vbuaa=_byte0_pvoz1
|
||||
lda.z src
|
||||
// [601] *VERA_ADDRX_L = memcpy_in_vram::$0 -- _deref_pbuc1=vbuaa
|
||||
// Set address
|
||||
sta VERA_ADDRX_L
|
||||
// [602] memcpy_in_vram::$1 = > (void*)memcpy_in_vram::src#0 -- vbuaa=_hi_pvoz1
|
||||
// [602] memcpy_in_vram::$1 = > (void*)memcpy_in_vram::src#0 -- vbuaa=_byte1_pvoz1
|
||||
lda.z src+1
|
||||
// [603] *VERA_ADDRX_M = memcpy_in_vram::$1 -- _deref_pbuc1=vbuaa
|
||||
sta VERA_ADDRX_M
|
||||
@ -15542,12 +15517,12 @@ memcpy_in_vram: {
|
||||
lda #VERA_ADDRSEL
|
||||
ora VERA_CTRL
|
||||
sta VERA_CTRL
|
||||
// [606] memcpy_in_vram::$3 = < memcpy_in_vram::dest#0 -- vbuaa=_lo_pvoz1
|
||||
// [606] memcpy_in_vram::$3 = < memcpy_in_vram::dest#0 -- vbuaa=_byte0_pvoz1
|
||||
lda.z dest
|
||||
// [607] *VERA_ADDRX_L = memcpy_in_vram::$3 -- _deref_pbuc1=vbuaa
|
||||
// Set address
|
||||
sta VERA_ADDRX_L
|
||||
// [608] memcpy_in_vram::$4 = > memcpy_in_vram::dest#0 -- vbuaa=_hi_pvoz1
|
||||
// [608] memcpy_in_vram::$4 = > memcpy_in_vram::dest#0 -- vbuaa=_byte1_pvoz1
|
||||
lda.z dest+1
|
||||
// [609] *VERA_ADDRX_M = memcpy_in_vram::$4 -- _deref_pbuc1=vbuaa
|
||||
sta VERA_ADDRX_M
|
||||
@ -18998,17 +18973,17 @@ clrscr: {
|
||||
lda #VERA_ADDRSEL^$ff
|
||||
and VERA_CTRL
|
||||
sta VERA_CTRL
|
||||
// <ch
|
||||
// [371] clrscr::$5 = < clrscr::line_text#2 -- vbuaa=_lo_pbuz1
|
||||
// BYTE0(ch)
|
||||
// [371] clrscr::$5 = < clrscr::line_text#2 -- vbuaa=_byte0_pbuz1
|
||||
lda.z line_text
|
||||
// *VERA_ADDRX_L = <ch
|
||||
// *VERA_ADDRX_L = BYTE0(ch)
|
||||
// [372] *VERA_ADDRX_L = clrscr::$5 -- _deref_pbuc1=vbuaa
|
||||
// Set address
|
||||
sta VERA_ADDRX_L
|
||||
// >ch
|
||||
// [373] clrscr::$6 = > clrscr::line_text#2 -- vbuaa=_hi_pbuz1
|
||||
// BYTE1(ch)
|
||||
// [373] clrscr::$6 = > clrscr::line_text#2 -- vbuaa=_byte1_pbuz1
|
||||
lda.z line_text+1
|
||||
// *VERA_ADDRX_M = >ch
|
||||
// *VERA_ADDRX_M = BYTE1(ch)
|
||||
// [374] *VERA_ADDRX_M = clrscr::$6 -- _deref_pbuc1=vbuaa
|
||||
sta VERA_ADDRX_M
|
||||
// CONIO_SCREEN_BANK | VERA_INC_1
|
||||
@ -19175,16 +19150,16 @@ clearline: {
|
||||
lda.z CONIO_SCREEN_TEXT+1
|
||||
adc conio_line_text+1,y
|
||||
sta.z addr+1
|
||||
// <addr
|
||||
// [400] clearline::$1 = < clearline::addr#0 -- vbuaa=_lo_pbuz1
|
||||
// BYTE0(addr)
|
||||
// [400] clearline::$1 = < clearline::addr#0 -- vbuaa=_byte0_pbuz1
|
||||
lda.z addr
|
||||
// *VERA_ADDRX_L = <addr
|
||||
// *VERA_ADDRX_L = BYTE0(addr)
|
||||
// [401] *VERA_ADDRX_L = clearline::$1 -- _deref_pbuc1=vbuaa
|
||||
sta VERA_ADDRX_L
|
||||
// >addr
|
||||
// [402] clearline::$2 = > clearline::addr#0 -- vbuaa=_hi_pbuz1
|
||||
// BYTE1(addr)
|
||||
// [402] clearline::$2 = > clearline::addr#0 -- vbuaa=_byte1_pbuz1
|
||||
lda.z addr+1
|
||||
// *VERA_ADDRX_M = >addr
|
||||
// *VERA_ADDRX_M = BYTE1(addr)
|
||||
// [403] *VERA_ADDRX_M = clearline::$2 -- _deref_pbuc1=vbuaa
|
||||
sta VERA_ADDRX_M
|
||||
// *VERA_ADDRX_H = VERA_INC_1
|
||||
@ -19365,17 +19340,17 @@ cputc: {
|
||||
lda #VERA_ADDRSEL^$ff
|
||||
and VERA_CTRL
|
||||
sta VERA_CTRL
|
||||
// <conio_addr
|
||||
// [440] cputc::$4 = < cputc::conio_addr#1 -- vbuaa=_lo_pbuz1
|
||||
// BYTE0(conio_addr)
|
||||
// [440] cputc::$4 = < cputc::conio_addr#1 -- vbuaa=_byte0_pbuz1
|
||||
lda.z conio_addr
|
||||
// *VERA_ADDRX_L = <conio_addr
|
||||
// *VERA_ADDRX_L = BYTE0(conio_addr)
|
||||
// [441] *VERA_ADDRX_L = cputc::$4 -- _deref_pbuc1=vbuaa
|
||||
// Set address
|
||||
sta VERA_ADDRX_L
|
||||
// >conio_addr
|
||||
// [442] cputc::$5 = > cputc::conio_addr#1 -- vbuaa=_hi_pbuz1
|
||||
// BYTE1(conio_addr)
|
||||
// [442] cputc::$5 = > cputc::conio_addr#1 -- vbuaa=_byte1_pbuz1
|
||||
lda.z conio_addr+1
|
||||
// *VERA_ADDRX_M = >conio_addr
|
||||
// *VERA_ADDRX_M = BYTE1(conio_addr)
|
||||
// [443] *VERA_ADDRX_M = cputc::$5 -- _deref_pbuc1=vbuaa
|
||||
sta VERA_ADDRX_M
|
||||
// CONIO_SCREEN_BANK | VERA_INC_1
|
||||
@ -19578,9 +19553,9 @@ vera_layer_set_tilebase: {
|
||||
// - color_depth: The color depth in bits per pixel (BPP), which can be 1, 2, 4 or 8.
|
||||
vera_layer_mode_tile: {
|
||||
.const tilebase_address = vera_layer_mode_text.tilebase_address>>1
|
||||
.const mapbase = 0
|
||||
// config
|
||||
.const config = VERA_LAYER_WIDTH_128|VERA_LAYER_HEIGHT_64
|
||||
.const mapbase = 0
|
||||
// vera_layer_mode_tile::@1
|
||||
// vera_layer_rowshift[layer] = 8
|
||||
// [482] *(vera_layer_rowshift+vera_layer_mode_text::layer#0) = 8 -- _deref_pbuc1=vbuc2
|
||||
@ -19603,13 +19578,13 @@ vera_layer_mode_tile: {
|
||||
lda #vera_layer_mode_text.layer
|
||||
jsr vera_layer_set_config
|
||||
// vera_layer_mode_tile::@4
|
||||
// vera_mapbase_offset[layer] = <mapbase_address
|
||||
// vera_mapbase_offset[layer] = WORD0(mapbase_address)
|
||||
// [486] *(vera_mapbase_offset+vera_layer_mode_text::layer#0*SIZEOF_WORD) = 0 -- _deref_pwuc1=vwuc2
|
||||
// mapbase
|
||||
lda #<0
|
||||
sta vera_mapbase_offset+vera_layer_mode_text.layer*SIZEOF_WORD
|
||||
sta vera_mapbase_offset+vera_layer_mode_text.layer*SIZEOF_WORD+1
|
||||
// vera_mapbase_bank[layer] = (byte)(>mapbase_address)
|
||||
// vera_mapbase_bank[layer] = BYTE2(mapbase_address)
|
||||
// [487] *(vera_mapbase_bank+vera_layer_mode_text::layer#0) = 0 -- _deref_pbuc1=vbuc2
|
||||
sta vera_mapbase_bank+vera_layer_mode_text.layer
|
||||
// vera_mapbase_address[layer] = mapbase_address
|
||||
@ -19631,14 +19606,14 @@ vera_layer_mode_tile: {
|
||||
lda #vera_layer_mode_text.layer
|
||||
jsr vera_layer_set_mapbase
|
||||
// vera_layer_mode_tile::@5
|
||||
// vera_tilebase_offset[layer] = <tilebase_address
|
||||
// [490] *(vera_tilebase_offset+vera_layer_mode_text::layer#0*SIZEOF_WORD) = <vera_layer_mode_text::tilebase_address#0 -- _deref_pwuc1=vwuc2
|
||||
// vera_tilebase_offset[layer] = WORD0(tilebase_address)
|
||||
// [490] *(vera_tilebase_offset+vera_layer_mode_text::layer#0*SIZEOF_WORD) = _word0_vera_layer_mode_text::tilebase_address#0 -- _deref_pwuc1=vwuc2
|
||||
// tilebase
|
||||
lda #<vera_layer_mode_text.tilebase_address&$ffff
|
||||
sta vera_tilebase_offset+vera_layer_mode_text.layer*SIZEOF_WORD
|
||||
lda #>vera_layer_mode_text.tilebase_address&$ffff
|
||||
sta vera_tilebase_offset+vera_layer_mode_text.layer*SIZEOF_WORD+1
|
||||
// vera_tilebase_bank[layer] = (byte)>tilebase_address
|
||||
// vera_tilebase_bank[layer] = BYTE2(tilebase_address)
|
||||
// [491] *(vera_tilebase_bank+vera_layer_mode_text::layer#0) = 0 -- _deref_pbuc1=vbuc2
|
||||
lda #0
|
||||
sta vera_tilebase_bank+vera_layer_mode_text.layer
|
||||
@ -19657,8 +19632,8 @@ vera_layer_mode_tile: {
|
||||
// vera_layer_set_tilebase(layer,tilebase)
|
||||
// [494] call vera_layer_set_tilebase
|
||||
// [476] phi from vera_layer_mode_tile::@3 to vera_layer_set_tilebase [phi:vera_layer_mode_tile::@3->vera_layer_set_tilebase]
|
||||
// [476] phi vera_layer_set_tilebase::tilebase#2 = ><vera_layer_mode_tile::tilebase_address#0&VERA_LAYER_TILEBASE_MASK [phi:vera_layer_mode_tile::@3->vera_layer_set_tilebase#0] -- vbuxx=vbuc1
|
||||
ldx #(>(tilebase_address&$ffff))&VERA_LAYER_TILEBASE_MASK
|
||||
// [476] phi vera_layer_set_tilebase::tilebase#2 = >vera_layer_mode_tile::tilebase_address#0&VERA_LAYER_TILEBASE_MASK [phi:vera_layer_mode_tile::@3->vera_layer_set_tilebase#0] -- vbuxx=vbuc1
|
||||
ldx #(>tilebase_address)&VERA_LAYER_TILEBASE_MASK
|
||||
// [476] phi vera_layer_set_tilebase::layer#2 = vera_layer_mode_text::layer#0 [phi:vera_layer_mode_tile::@3->vera_layer_set_tilebase#1] -- vbuaa=vbuc1
|
||||
lda #vera_layer_mode_text.layer
|
||||
jsr vera_layer_set_tilebase
|
||||
@ -20348,17 +20323,17 @@ memcpy_in_vram: {
|
||||
lda #VERA_ADDRSEL^$ff
|
||||
and VERA_CTRL
|
||||
sta VERA_CTRL
|
||||
// <src
|
||||
// [600] memcpy_in_vram::$0 = < (void*)memcpy_in_vram::src#0 -- vbuaa=_lo_pvoz1
|
||||
// BYTE0(src)
|
||||
// [600] memcpy_in_vram::$0 = < (void*)memcpy_in_vram::src#0 -- vbuaa=_byte0_pvoz1
|
||||
lda.z src
|
||||
// *VERA_ADDRX_L = <src
|
||||
// *VERA_ADDRX_L = BYTE0(src)
|
||||
// [601] *VERA_ADDRX_L = memcpy_in_vram::$0 -- _deref_pbuc1=vbuaa
|
||||
// Set address
|
||||
sta VERA_ADDRX_L
|
||||
// >src
|
||||
// [602] memcpy_in_vram::$1 = > (void*)memcpy_in_vram::src#0 -- vbuaa=_hi_pvoz1
|
||||
// BYTE1(src)
|
||||
// [602] memcpy_in_vram::$1 = > (void*)memcpy_in_vram::src#0 -- vbuaa=_byte1_pvoz1
|
||||
lda.z src+1
|
||||
// *VERA_ADDRX_M = >src
|
||||
// *VERA_ADDRX_M = BYTE1(src)
|
||||
// [603] *VERA_ADDRX_M = memcpy_in_vram::$1 -- _deref_pbuc1=vbuaa
|
||||
sta VERA_ADDRX_M
|
||||
// *VERA_ADDRX_H = src_increment | src_bank
|
||||
@ -20371,17 +20346,17 @@ memcpy_in_vram: {
|
||||
lda #VERA_ADDRSEL
|
||||
ora VERA_CTRL
|
||||
sta VERA_CTRL
|
||||
// <dest
|
||||
// [606] memcpy_in_vram::$3 = < memcpy_in_vram::dest#0 -- vbuaa=_lo_pvoz1
|
||||
// BYTE0(dest)
|
||||
// [606] memcpy_in_vram::$3 = < memcpy_in_vram::dest#0 -- vbuaa=_byte0_pvoz1
|
||||
lda.z dest
|
||||
// *VERA_ADDRX_L = <dest
|
||||
// *VERA_ADDRX_L = BYTE0(dest)
|
||||
// [607] *VERA_ADDRX_L = memcpy_in_vram::$3 -- _deref_pbuc1=vbuaa
|
||||
// Set address
|
||||
sta VERA_ADDRX_L
|
||||
// >dest
|
||||
// [608] memcpy_in_vram::$4 = > memcpy_in_vram::dest#0 -- vbuaa=_hi_pvoz1
|
||||
// BYTE1(dest)
|
||||
// [608] memcpy_in_vram::$4 = > memcpy_in_vram::dest#0 -- vbuaa=_byte1_pvoz1
|
||||
lda.z dest+1
|
||||
// *VERA_ADDRX_M = >dest
|
||||
// *VERA_ADDRX_M = BYTE1(dest)
|
||||
// [609] *VERA_ADDRX_M = memcpy_in_vram::$4 -- _deref_pbuc1=vbuaa
|
||||
sta VERA_ADDRX_M
|
||||
// *VERA_ADDRX_H = dest_increment | dest_bank
|
||||
|
Loading…
x
Reference in New Issue
Block a user