mirror of
https://gitlab.com/camelot/kickc.git
synced 2024-09-08 17:54:40 +00:00
Added shift support to CHARGEN tester
This commit is contained in:
parent
49d2aaaf24
commit
71e4e5d22d
@ -15,27 +15,37 @@ void main() {
|
|||||||
print_str_at("f5@", SCREEN+1+20);
|
print_str_at("f5@", SCREEN+1+20);
|
||||||
print_str_at("f7@", SCREEN+1+30);
|
print_str_at("f7@", SCREEN+1+30);
|
||||||
for(byte i : 0..3 ) {
|
for(byte i : 0..3 ) {
|
||||||
plot_chargen(i, $20);
|
plot_chargen(i, $20, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
byte cur_idx = 0;
|
// Which char canvas to use
|
||||||
|
byte cur_pos = 0;
|
||||||
|
|
||||||
|
// Is shift pressed
|
||||||
|
byte shift = 0;
|
||||||
|
|
||||||
do{
|
do{
|
||||||
// Set current index based on F-keys pressed
|
// Set current char canvas #pos based on F-keys pressed
|
||||||
if(keyboard_key_pressed(KEY_F1)!=0) {
|
if(keyboard_key_pressed(KEY_F1)!=0) {
|
||||||
cur_idx = 0;
|
cur_pos = 0;
|
||||||
}
|
}
|
||||||
if(keyboard_key_pressed(KEY_F3)!=0) {
|
if(keyboard_key_pressed(KEY_F3)!=0) {
|
||||||
cur_idx = 1;
|
cur_pos = 1;
|
||||||
}
|
}
|
||||||
if(keyboard_key_pressed(KEY_F5)!=0) {
|
if(keyboard_key_pressed(KEY_F5)!=0) {
|
||||||
cur_idx = 2;
|
cur_pos = 2;
|
||||||
}
|
}
|
||||||
if(keyboard_key_pressed(KEY_F7)!=0) {
|
if(keyboard_key_pressed(KEY_F7)!=0) {
|
||||||
cur_idx = 3;
|
cur_pos = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check for key presses
|
if(keyboard_key_pressed(KEY_LSHIFT)!=0) {
|
||||||
|
shift = 1;
|
||||||
|
} else {
|
||||||
|
shift = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check for key presses - and plot char if found
|
||||||
for( byte ch : 0..$3f) {
|
for( byte ch : 0..$3f) {
|
||||||
byte pressed = 0;
|
byte pressed = 0;
|
||||||
byte key = keyboard_get_keycode(ch);
|
byte key = keyboard_get_keycode(ch);
|
||||||
@ -43,7 +53,7 @@ void main() {
|
|||||||
pressed = keyboard_key_pressed(key);
|
pressed = keyboard_key_pressed(key);
|
||||||
}
|
}
|
||||||
if(pressed!=0) {
|
if(pressed!=0) {
|
||||||
plot_chargen(cur_idx, ch);
|
plot_chargen(cur_pos, ch, shift);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} while(true);
|
} while(true);
|
||||||
@ -56,10 +66,13 @@ void print_str_at(byte* str, byte* at) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Plot 8x8
|
// Render 8x8 char (ch) as pixels on char canvas #pos
|
||||||
void plot_chargen(byte pos, byte ch) {
|
void plot_chargen(byte pos, byte ch, byte shift) {
|
||||||
asm { sei }
|
asm { sei }
|
||||||
byte* chargen = CHARGEN+(word)ch<<3;
|
byte* chargen = CHARGEN+(word)ch<<3;
|
||||||
|
if(shift!=0) {
|
||||||
|
chargen = chargen + $1000;
|
||||||
|
}
|
||||||
*PROCPORT = $32;
|
*PROCPORT = $32;
|
||||||
byte* sc = SCREEN+40+1+mul8u(pos, 10);
|
byte* sc = SCREEN+40+1+mul8u(pos, 10);
|
||||||
for(byte y:0..7) {
|
for(byte y:0..7) {
|
||||||
|
385
src/test/java/dk/camelot64/kickc/test/ref/chargen-analysis.asm
Normal file
385
src/test/java/dk/camelot64/kickc/test/ref/chargen-analysis.asm
Normal file
@ -0,0 +1,385 @@
|
|||||||
|
.pc = $801 "Basic"
|
||||||
|
:BasicUpstart(main)
|
||||||
|
.pc = $80d "Program"
|
||||||
|
.label PROCPORT = 1
|
||||||
|
.label CHARGEN = $d000
|
||||||
|
.label CIA1_PORT_A = $dc00
|
||||||
|
.label CIA1_PORT_B = $dc01
|
||||||
|
.const KEY_F7 = 3
|
||||||
|
.const KEY_F1 = 4
|
||||||
|
.const KEY_F3 = 5
|
||||||
|
.const KEY_F5 = 6
|
||||||
|
.const KEY_3 = 8
|
||||||
|
.const KEY_W = 9
|
||||||
|
.const KEY_A = $a
|
||||||
|
.const KEY_4 = $b
|
||||||
|
.const KEY_Z = $c
|
||||||
|
.const KEY_S = $d
|
||||||
|
.const KEY_E = $e
|
||||||
|
.const KEY_LSHIFT = $f
|
||||||
|
.const KEY_5 = $10
|
||||||
|
.const KEY_R = $11
|
||||||
|
.const KEY_D = $12
|
||||||
|
.const KEY_6 = $13
|
||||||
|
.const KEY_C = $14
|
||||||
|
.const KEY_F = $15
|
||||||
|
.const KEY_T = $16
|
||||||
|
.const KEY_X = $17
|
||||||
|
.const KEY_7 = $18
|
||||||
|
.const KEY_Y = $19
|
||||||
|
.const KEY_G = $1a
|
||||||
|
.const KEY_8 = $1b
|
||||||
|
.const KEY_B = $1c
|
||||||
|
.const KEY_H = $1d
|
||||||
|
.const KEY_U = $1e
|
||||||
|
.const KEY_V = $1f
|
||||||
|
.const KEY_9 = $20
|
||||||
|
.const KEY_I = $21
|
||||||
|
.const KEY_J = $22
|
||||||
|
.const KEY_0 = $23
|
||||||
|
.const KEY_M = $24
|
||||||
|
.const KEY_K = $25
|
||||||
|
.const KEY_O = $26
|
||||||
|
.const KEY_N = $27
|
||||||
|
.const KEY_PLUS = $28
|
||||||
|
.const KEY_P = $29
|
||||||
|
.const KEY_L = $2a
|
||||||
|
.const KEY_MINUS = $2b
|
||||||
|
.const KEY_DOT = $2c
|
||||||
|
.const KEY_COLON = $2d
|
||||||
|
.const KEY_AT = $2e
|
||||||
|
.const KEY_COMMA = $2f
|
||||||
|
.const KEY_POUND = $30
|
||||||
|
.const KEY_ASTERISK = $31
|
||||||
|
.const KEY_SEMICOLON = $32
|
||||||
|
.const KEY_EQUALS = $35
|
||||||
|
.const KEY_ARROW_UP = $36
|
||||||
|
.const KEY_SLASH = $37
|
||||||
|
.const KEY_1 = $38
|
||||||
|
.const KEY_ARROW_LEFT = $39
|
||||||
|
.const KEY_2 = $3b
|
||||||
|
.const KEY_SPACE = $3c
|
||||||
|
.const KEY_Q = $3e
|
||||||
|
.label SCREEN = $400
|
||||||
|
jsr main
|
||||||
|
main: {
|
||||||
|
.label sc = 2
|
||||||
|
.label i = 4
|
||||||
|
.label ch = 6
|
||||||
|
.label cur_pos = 4
|
||||||
|
.label shift = 5
|
||||||
|
lda #<SCREEN
|
||||||
|
sta sc
|
||||||
|
lda #>SCREEN
|
||||||
|
sta sc+1
|
||||||
|
b1:
|
||||||
|
lda #' '
|
||||||
|
ldy #0
|
||||||
|
sta (sc),y
|
||||||
|
inc sc
|
||||||
|
bne !+
|
||||||
|
inc sc+1
|
||||||
|
!:
|
||||||
|
lda sc+1
|
||||||
|
cmp #>SCREEN+$3e8
|
||||||
|
bcc b1
|
||||||
|
bne !+
|
||||||
|
lda sc
|
||||||
|
cmp #<SCREEN+$3e8
|
||||||
|
bcc b1
|
||||||
|
!:
|
||||||
|
lda #<SCREEN+1
|
||||||
|
sta print_str_at.at
|
||||||
|
lda #>SCREEN+1
|
||||||
|
sta print_str_at.at+1
|
||||||
|
lda #<str
|
||||||
|
sta print_str_at.str
|
||||||
|
lda #>str
|
||||||
|
sta print_str_at.str+1
|
||||||
|
jsr print_str_at
|
||||||
|
lda #<SCREEN+1+$a
|
||||||
|
sta print_str_at.at
|
||||||
|
lda #>SCREEN+1+$a
|
||||||
|
sta print_str_at.at+1
|
||||||
|
lda #<str1
|
||||||
|
sta print_str_at.str
|
||||||
|
lda #>str1
|
||||||
|
sta print_str_at.str+1
|
||||||
|
jsr print_str_at
|
||||||
|
lda #<SCREEN+1+$14
|
||||||
|
sta print_str_at.at
|
||||||
|
lda #>SCREEN+1+$14
|
||||||
|
sta print_str_at.at+1
|
||||||
|
lda #<str2
|
||||||
|
sta print_str_at.str
|
||||||
|
lda #>str2
|
||||||
|
sta print_str_at.str+1
|
||||||
|
jsr print_str_at
|
||||||
|
lda #<SCREEN+1+$1e
|
||||||
|
sta print_str_at.at
|
||||||
|
lda #>SCREEN+1+$1e
|
||||||
|
sta print_str_at.at+1
|
||||||
|
lda #<str3
|
||||||
|
sta print_str_at.str
|
||||||
|
lda #>str3
|
||||||
|
sta print_str_at.str+1
|
||||||
|
jsr print_str_at
|
||||||
|
lda #0
|
||||||
|
sta i
|
||||||
|
b2:
|
||||||
|
ldx i
|
||||||
|
ldy #0
|
||||||
|
lda #$20
|
||||||
|
jsr plot_chargen
|
||||||
|
inc i
|
||||||
|
lda i
|
||||||
|
cmp #4
|
||||||
|
bne b2
|
||||||
|
lda #0
|
||||||
|
sta cur_pos
|
||||||
|
b3:
|
||||||
|
ldx #KEY_F1
|
||||||
|
jsr keyboard_key_pressed
|
||||||
|
cmp #0
|
||||||
|
beq b4
|
||||||
|
lda #0
|
||||||
|
sta cur_pos
|
||||||
|
b4:
|
||||||
|
ldx #KEY_F3
|
||||||
|
jsr keyboard_key_pressed
|
||||||
|
cmp #0
|
||||||
|
beq b5
|
||||||
|
lda #1
|
||||||
|
sta cur_pos
|
||||||
|
b5:
|
||||||
|
ldx #KEY_F5
|
||||||
|
jsr keyboard_key_pressed
|
||||||
|
cmp #0
|
||||||
|
beq b6
|
||||||
|
lda #2
|
||||||
|
sta cur_pos
|
||||||
|
b6:
|
||||||
|
ldx #KEY_F7
|
||||||
|
jsr keyboard_key_pressed
|
||||||
|
cmp #0
|
||||||
|
beq b7
|
||||||
|
lda #3
|
||||||
|
sta cur_pos
|
||||||
|
b7:
|
||||||
|
ldx #KEY_LSHIFT
|
||||||
|
jsr keyboard_key_pressed
|
||||||
|
cmp #0
|
||||||
|
beq b8
|
||||||
|
lda #1
|
||||||
|
sta shift
|
||||||
|
jmp b9
|
||||||
|
b8:
|
||||||
|
lda #0
|
||||||
|
sta shift
|
||||||
|
b9:
|
||||||
|
lda #0
|
||||||
|
sta ch
|
||||||
|
b10:
|
||||||
|
ldx ch
|
||||||
|
jsr keyboard_get_keycode
|
||||||
|
cmp #$3f
|
||||||
|
beq b13
|
||||||
|
tax
|
||||||
|
jsr keyboard_key_pressed
|
||||||
|
jmp b11
|
||||||
|
b13:
|
||||||
|
lda #0
|
||||||
|
b11:
|
||||||
|
cmp #0
|
||||||
|
beq b12
|
||||||
|
ldx cur_pos
|
||||||
|
lda ch
|
||||||
|
ldy shift
|
||||||
|
jsr plot_chargen
|
||||||
|
b12:
|
||||||
|
inc ch
|
||||||
|
lda ch
|
||||||
|
cmp #$40
|
||||||
|
bne b10
|
||||||
|
jmp b3
|
||||||
|
str: .text "f1@"
|
||||||
|
str1: .text "f3@"
|
||||||
|
str2: .text "f5@"
|
||||||
|
str3: .text "f7@"
|
||||||
|
}
|
||||||
|
plot_chargen: {
|
||||||
|
.label _0 = 2
|
||||||
|
.label _1 = 2
|
||||||
|
.label _8 = 9
|
||||||
|
.label chargen = 2
|
||||||
|
.label sc = 9
|
||||||
|
.label bits = 8
|
||||||
|
.label y = 7
|
||||||
|
sei
|
||||||
|
sta _0
|
||||||
|
lda #0
|
||||||
|
sta _0+1
|
||||||
|
asl _1
|
||||||
|
rol _1+1
|
||||||
|
asl _1
|
||||||
|
rol _1+1
|
||||||
|
asl _1
|
||||||
|
rol _1+1
|
||||||
|
clc
|
||||||
|
lda chargen
|
||||||
|
adc #<CHARGEN
|
||||||
|
sta chargen
|
||||||
|
lda chargen+1
|
||||||
|
adc #>CHARGEN
|
||||||
|
sta chargen+1
|
||||||
|
cpy #0
|
||||||
|
beq b1
|
||||||
|
clc
|
||||||
|
lda chargen
|
||||||
|
adc #<$1000
|
||||||
|
sta chargen
|
||||||
|
lda chargen+1
|
||||||
|
adc #>$1000
|
||||||
|
sta chargen+1
|
||||||
|
b1:
|
||||||
|
lda #$32
|
||||||
|
sta PROCPORT
|
||||||
|
jsr mul8u
|
||||||
|
clc
|
||||||
|
lda sc
|
||||||
|
adc #<SCREEN+$28+1
|
||||||
|
sta sc
|
||||||
|
lda sc+1
|
||||||
|
adc #>SCREEN+$28+1
|
||||||
|
sta sc+1
|
||||||
|
lda #0
|
||||||
|
sta y
|
||||||
|
b2:
|
||||||
|
ldy y
|
||||||
|
lda (chargen),y
|
||||||
|
sta bits
|
||||||
|
ldx #0
|
||||||
|
b3:
|
||||||
|
lda #$80
|
||||||
|
and bits
|
||||||
|
cmp #0
|
||||||
|
beq b5
|
||||||
|
lda #'*'
|
||||||
|
jmp b4
|
||||||
|
b5:
|
||||||
|
lda #'.'
|
||||||
|
b4:
|
||||||
|
ldy #0
|
||||||
|
sta (sc),y
|
||||||
|
inc sc
|
||||||
|
bne !+
|
||||||
|
inc sc+1
|
||||||
|
!:
|
||||||
|
asl bits
|
||||||
|
inx
|
||||||
|
cpx #8
|
||||||
|
bne b3
|
||||||
|
lda sc
|
||||||
|
clc
|
||||||
|
adc #$20
|
||||||
|
sta sc
|
||||||
|
bcc !+
|
||||||
|
inc sc+1
|
||||||
|
!:
|
||||||
|
inc y
|
||||||
|
lda y
|
||||||
|
cmp #8
|
||||||
|
bne b2
|
||||||
|
lda #$37
|
||||||
|
sta PROCPORT
|
||||||
|
cli
|
||||||
|
rts
|
||||||
|
}
|
||||||
|
mul8u: {
|
||||||
|
.const b = $a
|
||||||
|
.label mb = $b
|
||||||
|
.label res = 9
|
||||||
|
.label return = 9
|
||||||
|
lda #<b
|
||||||
|
sta mb
|
||||||
|
lda #>b
|
||||||
|
sta mb+1
|
||||||
|
lda #<0
|
||||||
|
sta res
|
||||||
|
sta res+1
|
||||||
|
b1:
|
||||||
|
cpx #0
|
||||||
|
bne b2
|
||||||
|
rts
|
||||||
|
b2:
|
||||||
|
txa
|
||||||
|
and #1
|
||||||
|
cmp #0
|
||||||
|
beq b4
|
||||||
|
lda res
|
||||||
|
clc
|
||||||
|
adc mb
|
||||||
|
sta res
|
||||||
|
lda res+1
|
||||||
|
adc mb+1
|
||||||
|
sta res+1
|
||||||
|
b4:
|
||||||
|
txa
|
||||||
|
lsr
|
||||||
|
tax
|
||||||
|
asl mb
|
||||||
|
rol mb+1
|
||||||
|
jmp b1
|
||||||
|
}
|
||||||
|
keyboard_key_pressed: {
|
||||||
|
txa
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
jsr keyboard_matrix_read
|
||||||
|
tay
|
||||||
|
txa
|
||||||
|
and #7
|
||||||
|
tax
|
||||||
|
tya
|
||||||
|
and keyboard_matrix_col_bitmask,x
|
||||||
|
rts
|
||||||
|
}
|
||||||
|
keyboard_matrix_read: {
|
||||||
|
tay
|
||||||
|
lda keyboard_matrix_row_bitmask,y
|
||||||
|
sta CIA1_PORT_A
|
||||||
|
lda CIA1_PORT_B
|
||||||
|
eor #$ff
|
||||||
|
rts
|
||||||
|
}
|
||||||
|
keyboard_get_keycode: {
|
||||||
|
lda keyboard_char_keycodes,x
|
||||||
|
rts
|
||||||
|
}
|
||||||
|
print_str_at: {
|
||||||
|
.label at = 9
|
||||||
|
.label str = 2
|
||||||
|
b1:
|
||||||
|
ldy #0
|
||||||
|
lda (str),y
|
||||||
|
cmp #'@'
|
||||||
|
bne b2
|
||||||
|
rts
|
||||||
|
b2:
|
||||||
|
ldy #0
|
||||||
|
lda (str),y
|
||||||
|
sta (at),y
|
||||||
|
inc at
|
||||||
|
bne !+
|
||||||
|
inc at+1
|
||||||
|
!:
|
||||||
|
inc str
|
||||||
|
bne !+
|
||||||
|
inc str+1
|
||||||
|
!:
|
||||||
|
jmp b1
|
||||||
|
}
|
||||||
|
keyboard_matrix_row_bitmask: .byte $fe, $fd, $fb, $f7, $ef, $df, $bf, $7f
|
||||||
|
keyboard_matrix_col_bitmask: .byte 1, 2, 4, 8, $10, $20, $40, $80
|
||||||
|
keyboard_char_keycodes: .byte KEY_AT, KEY_A, KEY_B, KEY_C, KEY_D, KEY_E, KEY_F, KEY_G, KEY_H, KEY_I, KEY_J, KEY_K, KEY_L, KEY_M, KEY_N, KEY_O, KEY_P, KEY_Q, KEY_R, KEY_S, KEY_T, KEY_U, KEY_V, KEY_W, KEY_X, KEY_Y, KEY_Z, $3f, KEY_POUND, $3f, KEY_ARROW_UP, KEY_ARROW_LEFT, KEY_SPACE, $3f, $3f, $3f, $3f, $3f, $3f, $3f, $3f, $3f, KEY_ASTERISK, KEY_PLUS, KEY_COMMA, KEY_MINUS, KEY_DOT, KEY_SLASH, KEY_0, KEY_1, KEY_2, KEY_3, KEY_4, KEY_5, KEY_6, KEY_7, KEY_8, KEY_9, KEY_COLON, KEY_SEMICOLON, $3f, KEY_EQUALS, $3f, $3f
|
271
src/test/java/dk/camelot64/kickc/test/ref/chargen-analysis.cfg
Normal file
271
src/test/java/dk/camelot64/kickc/test/ref/chargen-analysis.cfg
Normal file
@ -0,0 +1,271 @@
|
|||||||
|
@begin: scope:[] from
|
||||||
|
[0] phi() [ ] ( )
|
||||||
|
to:@12
|
||||||
|
@12: scope:[] from @begin
|
||||||
|
[1] phi() [ ] ( )
|
||||||
|
[2] call main param-assignment [ ] ( )
|
||||||
|
to:@end
|
||||||
|
@end: scope:[] from @12
|
||||||
|
[3] phi() [ ] ( )
|
||||||
|
main: scope:[main] from @12
|
||||||
|
[4] phi() [ ] ( main:2 [ ] )
|
||||||
|
to:main::@1
|
||||||
|
main::@1: scope:[main] from main main::@1
|
||||||
|
[5] (byte*) main::sc#2 ← phi( main/(const byte*) SCREEN#0 main::@1/(byte*) main::sc#1 ) [ main::sc#2 ] ( main:2 [ main::sc#2 ] )
|
||||||
|
[6] *((byte*) main::sc#2) ← (byte) ' ' [ main::sc#2 ] ( main:2 [ main::sc#2 ] )
|
||||||
|
[7] (byte*) main::sc#1 ← ++ (byte*) main::sc#2 [ main::sc#1 ] ( main:2 [ main::sc#1 ] )
|
||||||
|
[8] if((byte*) main::sc#1<(const byte*) SCREEN#0+(word/signed word/dword/signed dword) 1000) goto main::@1 [ main::sc#1 ] ( main:2 [ main::sc#1 ] )
|
||||||
|
to:main::@13
|
||||||
|
main::@13: scope:[main] from main::@1
|
||||||
|
[9] phi() [ ] ( main:2 [ ] )
|
||||||
|
[10] call print_str_at param-assignment [ ] ( main:2 [ ] )
|
||||||
|
to:main::@25
|
||||||
|
main::@25: scope:[main] from main::@13
|
||||||
|
[11] phi() [ ] ( main:2 [ ] )
|
||||||
|
[12] call print_str_at param-assignment [ ] ( main:2 [ ] )
|
||||||
|
to:main::@26
|
||||||
|
main::@26: scope:[main] from main::@25
|
||||||
|
[13] phi() [ ] ( main:2 [ ] )
|
||||||
|
[14] call print_str_at param-assignment [ ] ( main:2 [ ] )
|
||||||
|
to:main::@27
|
||||||
|
main::@27: scope:[main] from main::@26
|
||||||
|
[15] phi() [ ] ( main:2 [ ] )
|
||||||
|
[16] call print_str_at param-assignment [ ] ( main:2 [ ] )
|
||||||
|
to:main::@2
|
||||||
|
main::@2: scope:[main] from main::@27 main::@29
|
||||||
|
[17] (byte) main::i#2 ← phi( main::@27/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@29/(byte) main::i#1 ) [ main::i#2 ] ( main:2 [ main::i#2 ] )
|
||||||
|
[18] (byte) plot_chargen::pos#0 ← (byte) main::i#2 [ main::i#2 plot_chargen::pos#0 ] ( main:2 [ main::i#2 plot_chargen::pos#0 ] )
|
||||||
|
[19] call plot_chargen param-assignment [ main::i#2 ] ( main:2 [ main::i#2 ] )
|
||||||
|
to:main::@29
|
||||||
|
main::@29: scope:[main] from main::@2
|
||||||
|
[20] (byte) main::i#1 ← ++ (byte) main::i#2 [ main::i#1 ] ( main:2 [ main::i#1 ] )
|
||||||
|
[21] if((byte) main::i#1!=(byte/signed byte/word/signed word/dword/signed dword) 4) goto main::@2 [ main::i#1 ] ( main:2 [ main::i#1 ] )
|
||||||
|
to:main::@3
|
||||||
|
main::@3: scope:[main] from main::@23 main::@29
|
||||||
|
[22] (byte) main::cur_pos#24 ← phi( main::@29/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@23/(byte) main::cur_pos#12 ) [ main::cur_pos#24 ] ( main:2 [ main::cur_pos#24 ] )
|
||||||
|
[23] call keyboard_key_pressed param-assignment [ main::cur_pos#24 keyboard_key_pressed::return#0 ] ( main:2 [ main::cur_pos#24 keyboard_key_pressed::return#0 ] )
|
||||||
|
[24] (byte) keyboard_key_pressed::return#2 ← (byte) keyboard_key_pressed::return#0 [ main::cur_pos#24 keyboard_key_pressed::return#2 ] ( main:2 [ main::cur_pos#24 keyboard_key_pressed::return#2 ] )
|
||||||
|
to:main::@30
|
||||||
|
main::@30: scope:[main] from main::@3
|
||||||
|
[25] (byte~) main::$15 ← (byte) keyboard_key_pressed::return#2 [ main::cur_pos#24 main::$15 ] ( main:2 [ main::cur_pos#24 main::$15 ] )
|
||||||
|
[26] if((byte~) main::$15==(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@41 [ main::cur_pos#24 ] ( main:2 [ main::cur_pos#24 ] )
|
||||||
|
to:main::@4
|
||||||
|
main::@4: scope:[main] from main::@30 main::@41
|
||||||
|
[27] (byte) main::cur_pos#22 ← phi( main::@30/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@41/(byte) main::cur_pos#24 ) [ main::cur_pos#22 ] ( main:2 [ main::cur_pos#22 ] )
|
||||||
|
[28] call keyboard_key_pressed param-assignment [ keyboard_key_pressed::return#0 main::cur_pos#22 ] ( main:2 [ keyboard_key_pressed::return#0 main::cur_pos#22 ] )
|
||||||
|
[29] (byte) keyboard_key_pressed::return#10 ← (byte) keyboard_key_pressed::return#0 [ main::cur_pos#22 keyboard_key_pressed::return#10 ] ( main:2 [ main::cur_pos#22 keyboard_key_pressed::return#10 ] )
|
||||||
|
to:main::@31
|
||||||
|
main::@31: scope:[main] from main::@4
|
||||||
|
[30] (byte~) main::$18 ← (byte) keyboard_key_pressed::return#10 [ main::cur_pos#22 main::$18 ] ( main:2 [ main::cur_pos#22 main::$18 ] )
|
||||||
|
[31] if((byte~) main::$18==(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@42 [ main::cur_pos#22 ] ( main:2 [ main::cur_pos#22 ] )
|
||||||
|
to:main::@5
|
||||||
|
main::@5: scope:[main] from main::@31 main::@42
|
||||||
|
[32] (byte) main::cur_pos#20 ← phi( main::@31/(byte/signed byte/word/signed word/dword/signed dword) 1 main::@42/(byte) main::cur_pos#22 ) [ main::cur_pos#20 ] ( main:2 [ main::cur_pos#20 ] )
|
||||||
|
[33] call keyboard_key_pressed param-assignment [ keyboard_key_pressed::return#0 main::cur_pos#20 ] ( main:2 [ keyboard_key_pressed::return#0 main::cur_pos#20 ] )
|
||||||
|
[34] (byte) keyboard_key_pressed::return#11 ← (byte) keyboard_key_pressed::return#0 [ main::cur_pos#20 keyboard_key_pressed::return#11 ] ( main:2 [ main::cur_pos#20 keyboard_key_pressed::return#11 ] )
|
||||||
|
to:main::@32
|
||||||
|
main::@32: scope:[main] from main::@5
|
||||||
|
[35] (byte~) main::$21 ← (byte) keyboard_key_pressed::return#11 [ main::cur_pos#20 main::$21 ] ( main:2 [ main::cur_pos#20 main::$21 ] )
|
||||||
|
[36] if((byte~) main::$21==(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@43 [ main::cur_pos#20 ] ( main:2 [ main::cur_pos#20 ] )
|
||||||
|
to:main::@6
|
||||||
|
main::@6: scope:[main] from main::@32 main::@43
|
||||||
|
[37] (byte) main::cur_pos#18 ← phi( main::@32/(byte/signed byte/word/signed word/dword/signed dword) 2 main::@43/(byte) main::cur_pos#20 ) [ main::cur_pos#18 ] ( main:2 [ main::cur_pos#18 ] )
|
||||||
|
[38] call keyboard_key_pressed param-assignment [ keyboard_key_pressed::return#0 main::cur_pos#18 ] ( main:2 [ keyboard_key_pressed::return#0 main::cur_pos#18 ] )
|
||||||
|
[39] (byte) keyboard_key_pressed::return#12 ← (byte) keyboard_key_pressed::return#0 [ main::cur_pos#18 keyboard_key_pressed::return#12 ] ( main:2 [ main::cur_pos#18 keyboard_key_pressed::return#12 ] )
|
||||||
|
to:main::@33
|
||||||
|
main::@33: scope:[main] from main::@6
|
||||||
|
[40] (byte~) main::$24 ← (byte) keyboard_key_pressed::return#12 [ main::cur_pos#18 main::$24 ] ( main:2 [ main::cur_pos#18 main::$24 ] )
|
||||||
|
[41] if((byte~) main::$24==(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@44 [ main::cur_pos#18 ] ( main:2 [ main::cur_pos#18 ] )
|
||||||
|
to:main::@7
|
||||||
|
main::@7: scope:[main] from main::@33 main::@44
|
||||||
|
[42] (byte) main::cur_pos#12 ← phi( main::@33/(byte/signed byte/word/signed word/dword/signed dword) 3 main::@44/(byte) main::cur_pos#18 ) [ main::cur_pos#12 ] ( main:2 [ main::cur_pos#12 ] )
|
||||||
|
[43] call keyboard_key_pressed param-assignment [ main::cur_pos#12 keyboard_key_pressed::return#0 ] ( main:2 [ main::cur_pos#12 keyboard_key_pressed::return#0 ] )
|
||||||
|
[44] (byte) keyboard_key_pressed::return#13 ← (byte) keyboard_key_pressed::return#0 [ main::cur_pos#12 keyboard_key_pressed::return#13 ] ( main:2 [ main::cur_pos#12 keyboard_key_pressed::return#13 ] )
|
||||||
|
to:main::@34
|
||||||
|
main::@34: scope:[main] from main::@7
|
||||||
|
[45] (byte~) main::$27 ← (byte) keyboard_key_pressed::return#13 [ main::cur_pos#12 main::$27 ] ( main:2 [ main::cur_pos#12 main::$27 ] )
|
||||||
|
[46] if((byte~) main::$27==(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@9 [ main::cur_pos#12 ] ( main:2 [ main::cur_pos#12 ] )
|
||||||
|
to:main::@19
|
||||||
|
main::@19: scope:[main] from main::@34
|
||||||
|
[47] phi() [ main::cur_pos#12 ] ( main:2 [ main::cur_pos#12 ] )
|
||||||
|
to:main::@9
|
||||||
|
main::@9: scope:[main] from main::@19 main::@34
|
||||||
|
[48] (byte) main::shift#10 ← phi( main::@19/(byte/signed byte/word/signed word/dword/signed dword) 1 main::@34/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ main::cur_pos#12 main::shift#10 ] ( main:2 [ main::cur_pos#12 main::shift#10 ] )
|
||||||
|
to:main::@10
|
||||||
|
main::@10: scope:[main] from main::@12 main::@9
|
||||||
|
[49] (byte) main::ch#2 ← phi( main::@12/(byte) main::ch#1 main::@9/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ main::cur_pos#12 main::shift#10 main::ch#2 ] ( main:2 [ main::cur_pos#12 main::shift#10 main::ch#2 ] )
|
||||||
|
[50] (byte) keyboard_get_keycode::ch#0 ← (byte) main::ch#2 [ main::cur_pos#12 main::shift#10 main::ch#2 keyboard_get_keycode::ch#0 ] ( main:2 [ main::cur_pos#12 main::shift#10 main::ch#2 keyboard_get_keycode::ch#0 ] )
|
||||||
|
[51] call keyboard_get_keycode param-assignment [ main::cur_pos#12 main::shift#10 main::ch#2 keyboard_get_keycode::return#0 ] ( main:2 [ main::cur_pos#12 main::shift#10 main::ch#2 keyboard_get_keycode::return#0 ] )
|
||||||
|
[52] (byte) keyboard_get_keycode::return#2 ← (byte) keyboard_get_keycode::return#0 [ main::cur_pos#12 main::shift#10 main::ch#2 keyboard_get_keycode::return#2 ] ( main:2 [ main::cur_pos#12 main::shift#10 main::ch#2 keyboard_get_keycode::return#2 ] )
|
||||||
|
to:main::@35
|
||||||
|
main::@35: scope:[main] from main::@10
|
||||||
|
[53] (byte) main::key#0 ← (byte) keyboard_get_keycode::return#2 [ main::cur_pos#12 main::shift#10 main::ch#2 main::key#0 ] ( main:2 [ main::cur_pos#12 main::shift#10 main::ch#2 main::key#0 ] )
|
||||||
|
[54] if((byte) main::key#0==(byte/signed byte/word/signed word/dword/signed dword) 63) goto main::@11 [ main::cur_pos#12 main::shift#10 main::ch#2 main::key#0 ] ( main:2 [ main::cur_pos#12 main::shift#10 main::ch#2 main::key#0 ] )
|
||||||
|
to:main::@21
|
||||||
|
main::@21: scope:[main] from main::@35
|
||||||
|
[55] (byte) keyboard_key_pressed::key#5 ← (byte) main::key#0 [ main::cur_pos#12 main::shift#10 main::ch#2 keyboard_key_pressed::key#5 ] ( main:2 [ main::cur_pos#12 main::shift#10 main::ch#2 keyboard_key_pressed::key#5 ] )
|
||||||
|
[56] call keyboard_key_pressed param-assignment [ main::cur_pos#12 keyboard_key_pressed::return#0 main::shift#10 main::ch#2 ] ( main:2 [ main::cur_pos#12 keyboard_key_pressed::return#0 main::shift#10 main::ch#2 ] )
|
||||||
|
[57] (byte) keyboard_key_pressed::return#14 ← (byte) keyboard_key_pressed::return#0 [ main::cur_pos#12 main::shift#10 main::ch#2 keyboard_key_pressed::return#14 ] ( main:2 [ main::cur_pos#12 main::shift#10 main::ch#2 keyboard_key_pressed::return#14 ] )
|
||||||
|
to:main::@36
|
||||||
|
main::@36: scope:[main] from main::@21
|
||||||
|
[58] (byte) main::pressed#1 ← (byte) keyboard_key_pressed::return#14 [ main::cur_pos#12 main::shift#10 main::ch#2 main::pressed#1 ] ( main:2 [ main::cur_pos#12 main::shift#10 main::ch#2 main::pressed#1 ] )
|
||||||
|
to:main::@11
|
||||||
|
main::@11: scope:[main] from main::@35 main::@36
|
||||||
|
[59] (byte) main::pressed#2 ← phi( main::@35/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@36/(byte) main::pressed#1 ) [ main::cur_pos#12 main::shift#10 main::ch#2 main::pressed#2 ] ( main:2 [ main::cur_pos#12 main::shift#10 main::ch#2 main::pressed#2 ] )
|
||||||
|
[60] if((byte) main::pressed#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto main::@12 [ main::cur_pos#12 main::shift#10 main::ch#2 ] ( main:2 [ main::cur_pos#12 main::shift#10 main::ch#2 ] )
|
||||||
|
to:main::@22
|
||||||
|
main::@22: scope:[main] from main::@11
|
||||||
|
[61] (byte) plot_chargen::pos#1 ← (byte) main::cur_pos#12 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::pos#1 ] ( main:2 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::pos#1 ] )
|
||||||
|
[62] (byte) plot_chargen::ch#1 ← (byte) main::ch#2 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::pos#1 plot_chargen::ch#1 ] ( main:2 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::pos#1 plot_chargen::ch#1 ] )
|
||||||
|
[63] (byte) plot_chargen::shift#1 ← (byte) main::shift#10 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::pos#1 plot_chargen::ch#1 plot_chargen::shift#1 ] ( main:2 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::pos#1 plot_chargen::ch#1 plot_chargen::shift#1 ] )
|
||||||
|
[64] call plot_chargen param-assignment [ main::cur_pos#12 main::shift#10 main::ch#2 ] ( main:2 [ main::cur_pos#12 main::shift#10 main::ch#2 ] )
|
||||||
|
to:main::@12
|
||||||
|
main::@12: scope:[main] from main::@11 main::@22
|
||||||
|
[65] (byte) main::ch#1 ← ++ (byte) main::ch#2 [ main::cur_pos#12 main::shift#10 main::ch#1 ] ( main:2 [ main::cur_pos#12 main::shift#10 main::ch#1 ] )
|
||||||
|
[66] if((byte) main::ch#1!=(byte/signed byte/word/signed word/dword/signed dword) 64) goto main::@10 [ main::cur_pos#12 main::shift#10 main::ch#1 ] ( main:2 [ main::cur_pos#12 main::shift#10 main::ch#1 ] )
|
||||||
|
to:main::@23
|
||||||
|
main::@23: scope:[main] from main::@12
|
||||||
|
[67] if(true) goto main::@3 [ main::cur_pos#12 ] ( main:2 [ main::cur_pos#12 ] )
|
||||||
|
to:main::@return
|
||||||
|
main::@return: scope:[main] from main::@23
|
||||||
|
[68] return [ ] ( main:2 [ ] )
|
||||||
|
to:@return
|
||||||
|
main::@44: scope:[main] from main::@33
|
||||||
|
[69] phi() [ main::cur_pos#18 ] ( main:2 [ main::cur_pos#18 ] )
|
||||||
|
to:main::@7
|
||||||
|
main::@43: scope:[main] from main::@32
|
||||||
|
[70] phi() [ main::cur_pos#20 ] ( main:2 [ main::cur_pos#20 ] )
|
||||||
|
to:main::@6
|
||||||
|
main::@42: scope:[main] from main::@31
|
||||||
|
[71] phi() [ main::cur_pos#22 ] ( main:2 [ main::cur_pos#22 ] )
|
||||||
|
to:main::@5
|
||||||
|
main::@41: scope:[main] from main::@30
|
||||||
|
[72] phi() [ main::cur_pos#24 ] ( main:2 [ main::cur_pos#24 ] )
|
||||||
|
to:main::@4
|
||||||
|
plot_chargen: scope:[plot_chargen] from main::@2 main::@22
|
||||||
|
[73] (byte) plot_chargen::pos#2 ← phi( main::@2/(byte) plot_chargen::pos#0 main::@22/(byte) plot_chargen::pos#1 ) [ plot_chargen::ch#2 plot_chargen::shift#2 plot_chargen::pos#2 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::ch#2 plot_chargen::shift#2 plot_chargen::pos#2 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::ch#2 plot_chargen::shift#2 plot_chargen::pos#2 ] )
|
||||||
|
[73] (byte) plot_chargen::shift#2 ← phi( main::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 main::@22/(byte) plot_chargen::shift#1 ) [ plot_chargen::ch#2 plot_chargen::shift#2 plot_chargen::pos#2 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::ch#2 plot_chargen::shift#2 plot_chargen::pos#2 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::ch#2 plot_chargen::shift#2 plot_chargen::pos#2 ] )
|
||||||
|
[73] (byte) plot_chargen::ch#2 ← phi( main::@2/(byte/signed byte/word/signed word/dword/signed dword) 32 main::@22/(byte) plot_chargen::ch#1 ) [ plot_chargen::ch#2 plot_chargen::shift#2 plot_chargen::pos#2 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::ch#2 plot_chargen::shift#2 plot_chargen::pos#2 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::ch#2 plot_chargen::shift#2 plot_chargen::pos#2 ] )
|
||||||
|
asm { sei }
|
||||||
|
[75] (word~) plot_chargen::$0 ← ((word)) (byte) plot_chargen::ch#2 [ plot_chargen::shift#2 plot_chargen::pos#2 plot_chargen::$0 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::shift#2 plot_chargen::pos#2 plot_chargen::$0 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::shift#2 plot_chargen::pos#2 plot_chargen::$0 ] )
|
||||||
|
[76] (word~) plot_chargen::$1 ← (word~) plot_chargen::$0 << (byte/signed byte/word/signed word/dword/signed dword) 3 [ plot_chargen::shift#2 plot_chargen::pos#2 plot_chargen::$1 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::shift#2 plot_chargen::pos#2 plot_chargen::$1 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::shift#2 plot_chargen::pos#2 plot_chargen::$1 ] )
|
||||||
|
[77] (byte*) plot_chargen::chargen#0 ← (const byte*) CHARGEN#0 + (word~) plot_chargen::$1 [ plot_chargen::shift#2 plot_chargen::pos#2 plot_chargen::chargen#0 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::shift#2 plot_chargen::pos#2 plot_chargen::chargen#0 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::shift#2 plot_chargen::pos#2 plot_chargen::chargen#0 ] )
|
||||||
|
[78] if((byte) plot_chargen::shift#2==(byte/signed byte/word/signed word/dword/signed dword) 0) goto plot_chargen::@1 [ plot_chargen::pos#2 plot_chargen::chargen#0 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::pos#2 plot_chargen::chargen#0 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::pos#2 plot_chargen::chargen#0 ] )
|
||||||
|
to:plot_chargen::@5
|
||||||
|
plot_chargen::@5: scope:[plot_chargen] from plot_chargen
|
||||||
|
[79] (byte*) plot_chargen::chargen#1 ← (byte*) plot_chargen::chargen#0 + (word/signed word/dword/signed dword) 4096 [ plot_chargen::pos#2 plot_chargen::chargen#1 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::pos#2 plot_chargen::chargen#1 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::pos#2 plot_chargen::chargen#1 ] )
|
||||||
|
to:plot_chargen::@1
|
||||||
|
plot_chargen::@1: scope:[plot_chargen] from plot_chargen plot_chargen::@5
|
||||||
|
[80] (byte*) plot_chargen::chargen#5 ← phi( plot_chargen/(byte*) plot_chargen::chargen#0 plot_chargen::@5/(byte*) plot_chargen::chargen#1 ) [ plot_chargen::pos#2 plot_chargen::chargen#5 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::pos#2 plot_chargen::chargen#5 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::pos#2 plot_chargen::chargen#5 ] )
|
||||||
|
[81] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 50 [ plot_chargen::pos#2 plot_chargen::chargen#5 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::pos#2 plot_chargen::chargen#5 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::pos#2 plot_chargen::chargen#5 ] )
|
||||||
|
[82] (byte) mul8u::a#1 ← (byte) plot_chargen::pos#2 [ plot_chargen::chargen#5 mul8u::a#1 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::chargen#5 mul8u::a#1 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 mul8u::a#1 ] )
|
||||||
|
[83] call mul8u param-assignment [ plot_chargen::chargen#5 mul8u::res#2 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::chargen#5 mul8u::res#2 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 mul8u::res#2 ] )
|
||||||
|
[84] (word) mul8u::return#2 ← (word) mul8u::res#2 [ plot_chargen::chargen#5 mul8u::return#2 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::chargen#5 mul8u::return#2 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 mul8u::return#2 ] )
|
||||||
|
to:plot_chargen::@9
|
||||||
|
plot_chargen::@9: scope:[plot_chargen] from plot_chargen::@1
|
||||||
|
[85] (word~) plot_chargen::$8 ← (word) mul8u::return#2 [ plot_chargen::chargen#5 plot_chargen::$8 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::chargen#5 plot_chargen::$8 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 plot_chargen::$8 ] )
|
||||||
|
[86] (byte*) plot_chargen::sc#0 ← (const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 40+(byte/signed byte/word/signed word/dword/signed dword) 1 + (word~) plot_chargen::$8 [ plot_chargen::chargen#5 plot_chargen::sc#0 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::chargen#5 plot_chargen::sc#0 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 plot_chargen::sc#0 ] )
|
||||||
|
to:plot_chargen::@2
|
||||||
|
plot_chargen::@2: scope:[plot_chargen] from plot_chargen::@7 plot_chargen::@9
|
||||||
|
[87] (byte*) plot_chargen::sc#7 ← phi( plot_chargen::@7/(byte*) plot_chargen::sc#2 plot_chargen::@9/(byte*) plot_chargen::sc#0 ) [ plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::sc#7 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::sc#7 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::sc#7 ] )
|
||||||
|
[87] (byte) plot_chargen::y#2 ← phi( plot_chargen::@7/(byte) plot_chargen::y#1 plot_chargen::@9/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::sc#7 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::sc#7 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::sc#7 ] )
|
||||||
|
[88] (byte) plot_chargen::bits#0 ← *((byte*) plot_chargen::chargen#5 + (byte) plot_chargen::y#2) [ plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::sc#7 plot_chargen::bits#0 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::sc#7 plot_chargen::bits#0 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::sc#7 plot_chargen::bits#0 ] )
|
||||||
|
to:plot_chargen::@3
|
||||||
|
plot_chargen::@3: scope:[plot_chargen] from plot_chargen::@2 plot_chargen::@4
|
||||||
|
[89] (byte) plot_chargen::x#2 ← phi( plot_chargen::@2/(byte/signed byte/word/signed word/dword/signed dword) 0 plot_chargen::@4/(byte) plot_chargen::x#1 ) [ plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#2 plot_chargen::sc#3 plot_chargen::x#2 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#2 plot_chargen::sc#3 plot_chargen::x#2 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#2 plot_chargen::sc#3 plot_chargen::x#2 ] )
|
||||||
|
[89] (byte*) plot_chargen::sc#3 ← phi( plot_chargen::@2/(byte*) plot_chargen::sc#7 plot_chargen::@4/(byte*) plot_chargen::sc#1 ) [ plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#2 plot_chargen::sc#3 plot_chargen::x#2 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#2 plot_chargen::sc#3 plot_chargen::x#2 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#2 plot_chargen::sc#3 plot_chargen::x#2 ] )
|
||||||
|
[89] (byte) plot_chargen::bits#2 ← phi( plot_chargen::@2/(byte) plot_chargen::bits#0 plot_chargen::@4/(byte) plot_chargen::bits#1 ) [ plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#2 plot_chargen::sc#3 plot_chargen::x#2 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#2 plot_chargen::sc#3 plot_chargen::x#2 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#2 plot_chargen::sc#3 plot_chargen::x#2 ] )
|
||||||
|
[90] (byte~) plot_chargen::$10 ← (byte) plot_chargen::bits#2 & (byte/word/signed word/dword/signed dword) 128 [ plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#2 plot_chargen::sc#3 plot_chargen::x#2 plot_chargen::$10 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#2 plot_chargen::sc#3 plot_chargen::x#2 plot_chargen::$10 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#2 plot_chargen::sc#3 plot_chargen::x#2 plot_chargen::$10 ] )
|
||||||
|
[91] if((byte~) plot_chargen::$10==(byte/signed byte/word/signed word/dword/signed dword) 0) goto plot_chargen::@4 [ plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#2 plot_chargen::sc#3 plot_chargen::x#2 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#2 plot_chargen::sc#3 plot_chargen::x#2 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#2 plot_chargen::sc#3 plot_chargen::x#2 ] )
|
||||||
|
to:plot_chargen::@6
|
||||||
|
plot_chargen::@6: scope:[plot_chargen] from plot_chargen::@3
|
||||||
|
[92] phi() [ plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#2 plot_chargen::sc#3 plot_chargen::x#2 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#2 plot_chargen::sc#3 plot_chargen::x#2 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#2 plot_chargen::sc#3 plot_chargen::x#2 ] )
|
||||||
|
to:plot_chargen::@4
|
||||||
|
plot_chargen::@4: scope:[plot_chargen] from plot_chargen::@3 plot_chargen::@6
|
||||||
|
[93] (byte) plot_chargen::c#2 ← phi( plot_chargen::@3/(byte) '.' plot_chargen::@6/(byte) '*' ) [ plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#2 plot_chargen::sc#3 plot_chargen::x#2 plot_chargen::c#2 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#2 plot_chargen::sc#3 plot_chargen::x#2 plot_chargen::c#2 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#2 plot_chargen::sc#3 plot_chargen::x#2 plot_chargen::c#2 ] )
|
||||||
|
[94] *((byte*) plot_chargen::sc#3) ← (byte) plot_chargen::c#2 [ plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#2 plot_chargen::sc#3 plot_chargen::x#2 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#2 plot_chargen::sc#3 plot_chargen::x#2 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#2 plot_chargen::sc#3 plot_chargen::x#2 ] )
|
||||||
|
[95] (byte*) plot_chargen::sc#1 ← ++ (byte*) plot_chargen::sc#3 [ plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#2 plot_chargen::x#2 plot_chargen::sc#1 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#2 plot_chargen::x#2 plot_chargen::sc#1 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#2 plot_chargen::x#2 plot_chargen::sc#1 ] )
|
||||||
|
[96] (byte) plot_chargen::bits#1 ← (byte) plot_chargen::bits#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::x#2 plot_chargen::bits#1 plot_chargen::sc#1 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::x#2 plot_chargen::bits#1 plot_chargen::sc#1 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::x#2 plot_chargen::bits#1 plot_chargen::sc#1 ] )
|
||||||
|
[97] (byte) plot_chargen::x#1 ← ++ (byte) plot_chargen::x#2 [ plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#1 plot_chargen::sc#1 plot_chargen::x#1 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#1 plot_chargen::sc#1 plot_chargen::x#1 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#1 plot_chargen::sc#1 plot_chargen::x#1 ] )
|
||||||
|
[98] if((byte) plot_chargen::x#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto plot_chargen::@3 [ plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#1 plot_chargen::sc#1 plot_chargen::x#1 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#1 plot_chargen::sc#1 plot_chargen::x#1 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::bits#1 plot_chargen::sc#1 plot_chargen::x#1 ] )
|
||||||
|
to:plot_chargen::@7
|
||||||
|
plot_chargen::@7: scope:[plot_chargen] from plot_chargen::@4
|
||||||
|
[99] (byte*) plot_chargen::sc#2 ← (byte*) plot_chargen::sc#1 + (byte/signed byte/word/signed word/dword/signed dword) 32 [ plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::sc#2 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::sc#2 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 plot_chargen::y#2 plot_chargen::sc#2 ] )
|
||||||
|
[100] (byte) plot_chargen::y#1 ← ++ (byte) plot_chargen::y#2 [ plot_chargen::chargen#5 plot_chargen::y#1 plot_chargen::sc#2 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::chargen#5 plot_chargen::y#1 plot_chargen::sc#2 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 plot_chargen::y#1 plot_chargen::sc#2 ] )
|
||||||
|
[101] if((byte) plot_chargen::y#1!=(byte/signed byte/word/signed word/dword/signed dword) 8) goto plot_chargen::@2 [ plot_chargen::chargen#5 plot_chargen::y#1 plot_chargen::sc#2 ] ( main:2::plot_chargen:19 [ main::i#2 plot_chargen::chargen#5 plot_chargen::y#1 plot_chargen::sc#2 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 plot_chargen::y#1 plot_chargen::sc#2 ] )
|
||||||
|
to:plot_chargen::@8
|
||||||
|
plot_chargen::@8: scope:[plot_chargen] from plot_chargen::@7
|
||||||
|
[102] *((const byte*) PROCPORT#0) ← (byte/signed byte/word/signed word/dword/signed dword) 55 [ ] ( main:2::plot_chargen:19 [ main::i#2 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 ] )
|
||||||
|
asm { cli }
|
||||||
|
to:plot_chargen::@return
|
||||||
|
plot_chargen::@return: scope:[plot_chargen] from plot_chargen::@8
|
||||||
|
[104] return [ ] ( main:2::plot_chargen:19 [ main::i#2 ] main:2::plot_chargen:64 [ main::cur_pos#12 main::shift#10 main::ch#2 ] )
|
||||||
|
to:@return
|
||||||
|
mul8u: scope:[mul8u] from plot_chargen::@1
|
||||||
|
[105] phi() [ mul8u::a#1 ] ( main:2::plot_chargen:19::mul8u:83 [ main::i#2 plot_chargen::chargen#5 mul8u::a#1 ] main:2::plot_chargen:64::mul8u:83 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 mul8u::a#1 ] )
|
||||||
|
to:mul8u::@1
|
||||||
|
mul8u::@1: scope:[mul8u] from mul8u mul8u::@4
|
||||||
|
[106] (word) mul8u::mb#2 ← phi( mul8u/((word))(const byte) mul8u::b#0 mul8u::@4/(word) mul8u::mb#1 ) [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ( main:2::plot_chargen:19::mul8u:83 [ main::i#2 plot_chargen::chargen#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::plot_chargen:64::mul8u:83 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] )
|
||||||
|
[106] (word) mul8u::res#2 ← phi( mul8u/(byte/signed byte/word/signed word/dword/signed dword) 0 mul8u::@4/(word) mul8u::res#6 ) [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ( main:2::plot_chargen:19::mul8u:83 [ main::i#2 plot_chargen::chargen#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::plot_chargen:64::mul8u:83 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] )
|
||||||
|
[106] (byte) mul8u::a#2 ← phi( mul8u/(byte) mul8u::a#1 mul8u::@4/(byte) mul8u::a#0 ) [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ( main:2::plot_chargen:19::mul8u:83 [ main::i#2 plot_chargen::chargen#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::plot_chargen:64::mul8u:83 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] )
|
||||||
|
[107] if((byte) mul8u::a#2!=(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@2 [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ( main:2::plot_chargen:19::mul8u:83 [ main::i#2 plot_chargen::chargen#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::plot_chargen:64::mul8u:83 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] )
|
||||||
|
to:mul8u::@return
|
||||||
|
mul8u::@return: scope:[mul8u] from mul8u::@1
|
||||||
|
[108] return [ mul8u::res#2 ] ( main:2::plot_chargen:19::mul8u:83 [ main::i#2 plot_chargen::chargen#5 mul8u::res#2 ] main:2::plot_chargen:64::mul8u:83 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 mul8u::res#2 ] )
|
||||||
|
to:@return
|
||||||
|
mul8u::@2: scope:[mul8u] from mul8u::@1
|
||||||
|
[109] (byte~) mul8u::$1 ← (byte) mul8u::a#2 & (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] ( main:2::plot_chargen:19::mul8u:83 [ main::i#2 plot_chargen::chargen#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] main:2::plot_chargen:64::mul8u:83 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 mul8u::$1 ] )
|
||||||
|
[110] if((byte~) mul8u::$1==(byte/signed byte/word/signed word/dword/signed dword) 0) goto mul8u::@4 [ mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] ( main:2::plot_chargen:19::mul8u:83 [ main::i#2 plot_chargen::chargen#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] main:2::plot_chargen:64::mul8u:83 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 mul8u::res#2 mul8u::a#2 mul8u::mb#2 ] )
|
||||||
|
to:mul8u::@7
|
||||||
|
mul8u::@7: scope:[mul8u] from mul8u::@2
|
||||||
|
[111] (word) mul8u::res#1 ← (word) mul8u::res#2 + (word) mul8u::mb#2 [ mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] ( main:2::plot_chargen:19::mul8u:83 [ main::i#2 plot_chargen::chargen#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] main:2::plot_chargen:64::mul8u:83 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 mul8u::a#2 mul8u::mb#2 mul8u::res#1 ] )
|
||||||
|
to:mul8u::@4
|
||||||
|
mul8u::@4: scope:[mul8u] from mul8u::@2 mul8u::@7
|
||||||
|
[112] (word) mul8u::res#6 ← phi( mul8u::@2/(word) mul8u::res#2 mul8u::@7/(word) mul8u::res#1 ) [ mul8u::a#2 mul8u::mb#2 mul8u::res#6 ] ( main:2::plot_chargen:19::mul8u:83 [ main::i#2 plot_chargen::chargen#5 mul8u::a#2 mul8u::mb#2 mul8u::res#6 ] main:2::plot_chargen:64::mul8u:83 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 mul8u::a#2 mul8u::mb#2 mul8u::res#6 ] )
|
||||||
|
[113] (byte) mul8u::a#0 ← (byte) mul8u::a#2 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] ( main:2::plot_chargen:19::mul8u:83 [ main::i#2 plot_chargen::chargen#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] main:2::plot_chargen:64::mul8u:83 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 mul8u::mb#2 mul8u::a#0 mul8u::res#6 ] )
|
||||||
|
[114] (word) mul8u::mb#1 ← (word) mul8u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] ( main:2::plot_chargen:19::mul8u:83 [ main::i#2 plot_chargen::chargen#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] main:2::plot_chargen:64::mul8u:83 [ main::cur_pos#12 main::shift#10 main::ch#2 plot_chargen::chargen#5 mul8u::a#0 mul8u::res#6 mul8u::mb#1 ] )
|
||||||
|
to:mul8u::@1
|
||||||
|
keyboard_key_pressed: scope:[keyboard_key_pressed] from main::@21 main::@3 main::@4 main::@5 main::@6 main::@7
|
||||||
|
[115] (byte) keyboard_key_pressed::key#6 ← phi( main::@21/(byte) keyboard_key_pressed::key#5 main::@3/(const byte) KEY_F1#0 main::@4/(const byte) KEY_F3#0 main::@5/(const byte) KEY_F5#0 main::@6/(const byte) KEY_F7#0 main::@7/(const byte) KEY_LSHIFT#0 ) [ keyboard_key_pressed::key#6 ] ( main:2::keyboard_key_pressed:23 [ main::cur_pos#24 keyboard_key_pressed::key#6 ] main:2::keyboard_key_pressed:28 [ main::cur_pos#22 keyboard_key_pressed::key#6 ] main:2::keyboard_key_pressed:33 [ main::cur_pos#20 keyboard_key_pressed::key#6 ] main:2::keyboard_key_pressed:38 [ main::cur_pos#18 keyboard_key_pressed::key#6 ] main:2::keyboard_key_pressed:43 [ main::cur_pos#12 keyboard_key_pressed::key#6 ] main:2::keyboard_key_pressed:56 [ main::cur_pos#12 main::shift#10 main::ch#2 keyboard_key_pressed::key#6 ] )
|
||||||
|
[116] (byte) keyboard_matrix_read::rowid#0 ← (byte) keyboard_key_pressed::key#6 >> (byte/signed byte/word/signed word/dword/signed dword) 3 [ keyboard_key_pressed::key#6 keyboard_matrix_read::rowid#0 ] ( main:2::keyboard_key_pressed:23 [ main::cur_pos#24 keyboard_key_pressed::key#6 keyboard_matrix_read::rowid#0 ] main:2::keyboard_key_pressed:28 [ main::cur_pos#22 keyboard_key_pressed::key#6 keyboard_matrix_read::rowid#0 ] main:2::keyboard_key_pressed:33 [ main::cur_pos#20 keyboard_key_pressed::key#6 keyboard_matrix_read::rowid#0 ] main:2::keyboard_key_pressed:38 [ main::cur_pos#18 keyboard_key_pressed::key#6 keyboard_matrix_read::rowid#0 ] main:2::keyboard_key_pressed:43 [ main::cur_pos#12 keyboard_key_pressed::key#6 keyboard_matrix_read::rowid#0 ] main:2::keyboard_key_pressed:56 [ main::cur_pos#12 main::shift#10 main::ch#2 keyboard_key_pressed::key#6 keyboard_matrix_read::rowid#0 ] )
|
||||||
|
[117] call keyboard_matrix_read param-assignment [ keyboard_key_pressed::key#6 keyboard_matrix_read::return#0 ] ( main:2::keyboard_key_pressed:23 [ main::cur_pos#24 keyboard_key_pressed::key#6 keyboard_matrix_read::return#0 ] main:2::keyboard_key_pressed:28 [ main::cur_pos#22 keyboard_key_pressed::key#6 keyboard_matrix_read::return#0 ] main:2::keyboard_key_pressed:33 [ main::cur_pos#20 keyboard_key_pressed::key#6 keyboard_matrix_read::return#0 ] main:2::keyboard_key_pressed:38 [ main::cur_pos#18 keyboard_key_pressed::key#6 keyboard_matrix_read::return#0 ] main:2::keyboard_key_pressed:43 [ main::cur_pos#12 keyboard_key_pressed::key#6 keyboard_matrix_read::return#0 ] main:2::keyboard_key_pressed:56 [ main::cur_pos#12 main::shift#10 main::ch#2 keyboard_key_pressed::key#6 keyboard_matrix_read::return#0 ] )
|
||||||
|
[118] (byte) keyboard_matrix_read::return#2 ← (byte) keyboard_matrix_read::return#0 [ keyboard_key_pressed::key#6 keyboard_matrix_read::return#2 ] ( main:2::keyboard_key_pressed:23 [ main::cur_pos#24 keyboard_key_pressed::key#6 keyboard_matrix_read::return#2 ] main:2::keyboard_key_pressed:28 [ main::cur_pos#22 keyboard_key_pressed::key#6 keyboard_matrix_read::return#2 ] main:2::keyboard_key_pressed:33 [ main::cur_pos#20 keyboard_key_pressed::key#6 keyboard_matrix_read::return#2 ] main:2::keyboard_key_pressed:38 [ main::cur_pos#18 keyboard_key_pressed::key#6 keyboard_matrix_read::return#2 ] main:2::keyboard_key_pressed:43 [ main::cur_pos#12 keyboard_key_pressed::key#6 keyboard_matrix_read::return#2 ] main:2::keyboard_key_pressed:56 [ main::cur_pos#12 main::shift#10 main::ch#2 keyboard_key_pressed::key#6 keyboard_matrix_read::return#2 ] )
|
||||||
|
to:keyboard_key_pressed::@2
|
||||||
|
keyboard_key_pressed::@2: scope:[keyboard_key_pressed] from keyboard_key_pressed
|
||||||
|
[119] (byte~) keyboard_key_pressed::$1 ← (byte) keyboard_matrix_read::return#2 [ keyboard_key_pressed::key#6 keyboard_key_pressed::$1 ] ( main:2::keyboard_key_pressed:23 [ main::cur_pos#24 keyboard_key_pressed::key#6 keyboard_key_pressed::$1 ] main:2::keyboard_key_pressed:28 [ main::cur_pos#22 keyboard_key_pressed::key#6 keyboard_key_pressed::$1 ] main:2::keyboard_key_pressed:33 [ main::cur_pos#20 keyboard_key_pressed::key#6 keyboard_key_pressed::$1 ] main:2::keyboard_key_pressed:38 [ main::cur_pos#18 keyboard_key_pressed::key#6 keyboard_key_pressed::$1 ] main:2::keyboard_key_pressed:43 [ main::cur_pos#12 keyboard_key_pressed::key#6 keyboard_key_pressed::$1 ] main:2::keyboard_key_pressed:56 [ main::cur_pos#12 main::shift#10 main::ch#2 keyboard_key_pressed::key#6 keyboard_key_pressed::$1 ] )
|
||||||
|
[120] (byte~) keyboard_key_pressed::$2 ← (byte) keyboard_key_pressed::key#6 & (byte/signed byte/word/signed word/dword/signed dword) 7 [ keyboard_key_pressed::$1 keyboard_key_pressed::$2 ] ( main:2::keyboard_key_pressed:23 [ main::cur_pos#24 keyboard_key_pressed::$1 keyboard_key_pressed::$2 ] main:2::keyboard_key_pressed:28 [ main::cur_pos#22 keyboard_key_pressed::$1 keyboard_key_pressed::$2 ] main:2::keyboard_key_pressed:33 [ main::cur_pos#20 keyboard_key_pressed::$1 keyboard_key_pressed::$2 ] main:2::keyboard_key_pressed:38 [ main::cur_pos#18 keyboard_key_pressed::$1 keyboard_key_pressed::$2 ] main:2::keyboard_key_pressed:43 [ main::cur_pos#12 keyboard_key_pressed::$1 keyboard_key_pressed::$2 ] main:2::keyboard_key_pressed:56 [ main::cur_pos#12 main::shift#10 main::ch#2 keyboard_key_pressed::$1 keyboard_key_pressed::$2 ] )
|
||||||
|
[121] (byte) keyboard_key_pressed::return#0 ← (byte~) keyboard_key_pressed::$1 & *((const byte[]) keyboard_matrix_col_bitmask#0 + (byte~) keyboard_key_pressed::$2) [ keyboard_key_pressed::return#0 ] ( main:2::keyboard_key_pressed:23 [ main::cur_pos#24 keyboard_key_pressed::return#0 ] main:2::keyboard_key_pressed:28 [ main::cur_pos#22 keyboard_key_pressed::return#0 ] main:2::keyboard_key_pressed:33 [ main::cur_pos#20 keyboard_key_pressed::return#0 ] main:2::keyboard_key_pressed:38 [ main::cur_pos#18 keyboard_key_pressed::return#0 ] main:2::keyboard_key_pressed:43 [ main::cur_pos#12 keyboard_key_pressed::return#0 ] main:2::keyboard_key_pressed:56 [ main::cur_pos#12 main::shift#10 main::ch#2 keyboard_key_pressed::return#0 ] )
|
||||||
|
to:keyboard_key_pressed::@return
|
||||||
|
keyboard_key_pressed::@return: scope:[keyboard_key_pressed] from keyboard_key_pressed::@2
|
||||||
|
[122] return [ keyboard_key_pressed::return#0 ] ( main:2::keyboard_key_pressed:23 [ main::cur_pos#24 keyboard_key_pressed::return#0 ] main:2::keyboard_key_pressed:28 [ main::cur_pos#22 keyboard_key_pressed::return#0 ] main:2::keyboard_key_pressed:33 [ main::cur_pos#20 keyboard_key_pressed::return#0 ] main:2::keyboard_key_pressed:38 [ main::cur_pos#18 keyboard_key_pressed::return#0 ] main:2::keyboard_key_pressed:43 [ main::cur_pos#12 keyboard_key_pressed::return#0 ] main:2::keyboard_key_pressed:56 [ main::cur_pos#12 main::shift#10 main::ch#2 keyboard_key_pressed::return#0 ] )
|
||||||
|
to:@return
|
||||||
|
keyboard_matrix_read: scope:[keyboard_matrix_read] from keyboard_key_pressed
|
||||||
|
[123] *((const byte*) CIA1_PORT_A#0) ← *((const byte[8]) keyboard_matrix_row_bitmask#0 + (byte) keyboard_matrix_read::rowid#0) [ ] ( main:2::keyboard_key_pressed:23::keyboard_matrix_read:117 [ main::cur_pos#24 keyboard_key_pressed::key#6 ] main:2::keyboard_key_pressed:28::keyboard_matrix_read:117 [ main::cur_pos#22 keyboard_key_pressed::key#6 ] main:2::keyboard_key_pressed:33::keyboard_matrix_read:117 [ main::cur_pos#20 keyboard_key_pressed::key#6 ] main:2::keyboard_key_pressed:38::keyboard_matrix_read:117 [ main::cur_pos#18 keyboard_key_pressed::key#6 ] main:2::keyboard_key_pressed:43::keyboard_matrix_read:117 [ main::cur_pos#12 keyboard_key_pressed::key#6 ] main:2::keyboard_key_pressed:56::keyboard_matrix_read:117 [ main::cur_pos#12 main::shift#10 main::ch#2 keyboard_key_pressed::key#6 ] )
|
||||||
|
[124] (byte) keyboard_matrix_read::return#0 ← ~ *((const byte*) CIA1_PORT_B#0) [ keyboard_matrix_read::return#0 ] ( main:2::keyboard_key_pressed:23::keyboard_matrix_read:117 [ main::cur_pos#24 keyboard_key_pressed::key#6 keyboard_matrix_read::return#0 ] main:2::keyboard_key_pressed:28::keyboard_matrix_read:117 [ main::cur_pos#22 keyboard_key_pressed::key#6 keyboard_matrix_read::return#0 ] main:2::keyboard_key_pressed:33::keyboard_matrix_read:117 [ main::cur_pos#20 keyboard_key_pressed::key#6 keyboard_matrix_read::return#0 ] main:2::keyboard_key_pressed:38::keyboard_matrix_read:117 [ main::cur_pos#18 keyboard_key_pressed::key#6 keyboard_matrix_read::return#0 ] main:2::keyboard_key_pressed:43::keyboard_matrix_read:117 [ main::cur_pos#12 keyboard_key_pressed::key#6 keyboard_matrix_read::return#0 ] main:2::keyboard_key_pressed:56::keyboard_matrix_read:117 [ main::cur_pos#12 main::shift#10 main::ch#2 keyboard_key_pressed::key#6 keyboard_matrix_read::return#0 ] )
|
||||||
|
to:keyboard_matrix_read::@return
|
||||||
|
keyboard_matrix_read::@return: scope:[keyboard_matrix_read] from keyboard_matrix_read
|
||||||
|
[125] return [ keyboard_matrix_read::return#0 ] ( main:2::keyboard_key_pressed:23::keyboard_matrix_read:117 [ main::cur_pos#24 keyboard_key_pressed::key#6 keyboard_matrix_read::return#0 ] main:2::keyboard_key_pressed:28::keyboard_matrix_read:117 [ main::cur_pos#22 keyboard_key_pressed::key#6 keyboard_matrix_read::return#0 ] main:2::keyboard_key_pressed:33::keyboard_matrix_read:117 [ main::cur_pos#20 keyboard_key_pressed::key#6 keyboard_matrix_read::return#0 ] main:2::keyboard_key_pressed:38::keyboard_matrix_read:117 [ main::cur_pos#18 keyboard_key_pressed::key#6 keyboard_matrix_read::return#0 ] main:2::keyboard_key_pressed:43::keyboard_matrix_read:117 [ main::cur_pos#12 keyboard_key_pressed::key#6 keyboard_matrix_read::return#0 ] main:2::keyboard_key_pressed:56::keyboard_matrix_read:117 [ main::cur_pos#12 main::shift#10 main::ch#2 keyboard_key_pressed::key#6 keyboard_matrix_read::return#0 ] )
|
||||||
|
to:@return
|
||||||
|
keyboard_get_keycode: scope:[keyboard_get_keycode] from main::@10
|
||||||
|
[126] (byte) keyboard_get_keycode::return#0 ← *((const byte[]) keyboard_char_keycodes#0 + (byte) keyboard_get_keycode::ch#0) [ keyboard_get_keycode::return#0 ] ( main:2::keyboard_get_keycode:51 [ main::cur_pos#12 main::shift#10 main::ch#2 keyboard_get_keycode::return#0 ] )
|
||||||
|
to:keyboard_get_keycode::@return
|
||||||
|
keyboard_get_keycode::@return: scope:[keyboard_get_keycode] from keyboard_get_keycode
|
||||||
|
[127] return [ keyboard_get_keycode::return#0 ] ( main:2::keyboard_get_keycode:51 [ main::cur_pos#12 main::shift#10 main::ch#2 keyboard_get_keycode::return#0 ] )
|
||||||
|
to:@return
|
||||||
|
print_str_at: scope:[print_str_at] from main::@13 main::@25 main::@26 main::@27
|
||||||
|
[128] (byte*) print_str_at::at#7 ← phi( main::@13/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 1 main::@25/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 10 main::@26/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 20 main::@27/(const byte*) SCREEN#0+(byte/signed byte/word/signed word/dword/signed dword) 1+(byte/signed byte/word/signed word/dword/signed dword) 30 ) [ print_str_at::str#7 print_str_at::at#7 ] ( main:2::print_str_at:10 [ print_str_at::str#7 print_str_at::at#7 ] main:2::print_str_at:12 [ print_str_at::str#7 print_str_at::at#7 ] main:2::print_str_at:14 [ print_str_at::str#7 print_str_at::at#7 ] main:2::print_str_at:16 [ print_str_at::str#7 print_str_at::at#7 ] )
|
||||||
|
[128] (byte*) print_str_at::str#7 ← phi( main::@13/(const string) main::str main::@25/(const string) main::str1 main::@26/(const string) main::str2 main::@27/(const string) main::str3 ) [ print_str_at::str#7 print_str_at::at#7 ] ( main:2::print_str_at:10 [ print_str_at::str#7 print_str_at::at#7 ] main:2::print_str_at:12 [ print_str_at::str#7 print_str_at::at#7 ] main:2::print_str_at:14 [ print_str_at::str#7 print_str_at::at#7 ] main:2::print_str_at:16 [ print_str_at::str#7 print_str_at::at#7 ] )
|
||||||
|
to:print_str_at::@1
|
||||||
|
print_str_at::@1: scope:[print_str_at] from print_str_at print_str_at::@2
|
||||||
|
[129] (byte*) print_str_at::at#5 ← phi( print_str_at/(byte*) print_str_at::at#7 print_str_at::@2/(byte*) print_str_at::at#4 ) [ print_str_at::str#5 print_str_at::at#5 ] ( main:2::print_str_at:10 [ print_str_at::str#5 print_str_at::at#5 ] main:2::print_str_at:12 [ print_str_at::str#5 print_str_at::at#5 ] main:2::print_str_at:14 [ print_str_at::str#5 print_str_at::at#5 ] main:2::print_str_at:16 [ print_str_at::str#5 print_str_at::at#5 ] )
|
||||||
|
[129] (byte*) print_str_at::str#5 ← phi( print_str_at/(byte*) print_str_at::str#7 print_str_at::@2/(byte*) print_str_at::str#4 ) [ print_str_at::str#5 print_str_at::at#5 ] ( main:2::print_str_at:10 [ print_str_at::str#5 print_str_at::at#5 ] main:2::print_str_at:12 [ print_str_at::str#5 print_str_at::at#5 ] main:2::print_str_at:14 [ print_str_at::str#5 print_str_at::at#5 ] main:2::print_str_at:16 [ print_str_at::str#5 print_str_at::at#5 ] )
|
||||||
|
[130] if(*((byte*) print_str_at::str#5)!=(byte) '@') goto print_str_at::@2 [ print_str_at::str#5 print_str_at::at#5 ] ( main:2::print_str_at:10 [ print_str_at::str#5 print_str_at::at#5 ] main:2::print_str_at:12 [ print_str_at::str#5 print_str_at::at#5 ] main:2::print_str_at:14 [ print_str_at::str#5 print_str_at::at#5 ] main:2::print_str_at:16 [ print_str_at::str#5 print_str_at::at#5 ] )
|
||||||
|
to:print_str_at::@return
|
||||||
|
print_str_at::@return: scope:[print_str_at] from print_str_at::@1
|
||||||
|
[131] return [ ] ( main:2::print_str_at:10 [ ] main:2::print_str_at:12 [ ] main:2::print_str_at:14 [ ] main:2::print_str_at:16 [ ] )
|
||||||
|
to:@return
|
||||||
|
print_str_at::@2: scope:[print_str_at] from print_str_at::@1
|
||||||
|
[132] *((byte*) print_str_at::at#5) ← *((byte*) print_str_at::str#5) [ print_str_at::str#5 print_str_at::at#5 ] ( main:2::print_str_at:10 [ print_str_at::str#5 print_str_at::at#5 ] main:2::print_str_at:12 [ print_str_at::str#5 print_str_at::at#5 ] main:2::print_str_at:14 [ print_str_at::str#5 print_str_at::at#5 ] main:2::print_str_at:16 [ print_str_at::str#5 print_str_at::at#5 ] )
|
||||||
|
[133] (byte*) print_str_at::at#4 ← ++ (byte*) print_str_at::at#5 [ print_str_at::str#5 print_str_at::at#4 ] ( main:2::print_str_at:10 [ print_str_at::str#5 print_str_at::at#4 ] main:2::print_str_at:12 [ print_str_at::str#5 print_str_at::at#4 ] main:2::print_str_at:14 [ print_str_at::str#5 print_str_at::at#4 ] main:2::print_str_at:16 [ print_str_at::str#5 print_str_at::at#4 ] )
|
||||||
|
[134] (byte*) print_str_at::str#4 ← ++ (byte*) print_str_at::str#5 [ print_str_at::str#4 print_str_at::at#4 ] ( main:2::print_str_at:10 [ print_str_at::str#4 print_str_at::at#4 ] main:2::print_str_at:12 [ print_str_at::str#4 print_str_at::at#4 ] main:2::print_str_at:14 [ print_str_at::str#4 print_str_at::at#4 ] main:2::print_str_at:16 [ print_str_at::str#4 print_str_at::at#4 ] )
|
||||||
|
to:print_str_at::@1
|
7576
src/test/java/dk/camelot64/kickc/test/ref/chargen-analysis.log
Normal file
7576
src/test/java/dk/camelot64/kickc/test/ref/chargen-analysis.log
Normal file
File diff suppressed because it is too large
Load Diff
345
src/test/java/dk/camelot64/kickc/test/ref/chargen-analysis.sym
Normal file
345
src/test/java/dk/camelot64/kickc/test/ref/chargen-analysis.sym
Normal file
@ -0,0 +1,345 @@
|
|||||||
|
(label) @12
|
||||||
|
(label) @begin
|
||||||
|
(label) @end
|
||||||
|
(byte*) CHARGEN
|
||||||
|
(const byte*) CHARGEN#0 CHARGEN = ((byte*))(word/dword/signed dword) 53248
|
||||||
|
(byte*) CIA1_PORT_A
|
||||||
|
(const byte*) CIA1_PORT_A#0 CIA1_PORT_A = ((byte*))(word/dword/signed dword) 56320
|
||||||
|
(byte*) CIA1_PORT_B
|
||||||
|
(const byte*) CIA1_PORT_B#0 CIA1_PORT_B = ((byte*))(word/dword/signed dword) 56321
|
||||||
|
(byte) KEY_0
|
||||||
|
(const byte) KEY_0#0 KEY_0 = (byte/signed byte/word/signed word/dword/signed dword) 35
|
||||||
|
(byte) KEY_1
|
||||||
|
(const byte) KEY_1#0 KEY_1 = (byte/signed byte/word/signed word/dword/signed dword) 56
|
||||||
|
(byte) KEY_2
|
||||||
|
(const byte) KEY_2#0 KEY_2 = (byte/signed byte/word/signed word/dword/signed dword) 59
|
||||||
|
(byte) KEY_3
|
||||||
|
(const byte) KEY_3#0 KEY_3 = (byte/signed byte/word/signed word/dword/signed dword) 8
|
||||||
|
(byte) KEY_4
|
||||||
|
(const byte) KEY_4#0 KEY_4 = (byte/signed byte/word/signed word/dword/signed dword) 11
|
||||||
|
(byte) KEY_5
|
||||||
|
(const byte) KEY_5#0 KEY_5 = (byte/signed byte/word/signed word/dword/signed dword) 16
|
||||||
|
(byte) KEY_6
|
||||||
|
(const byte) KEY_6#0 KEY_6 = (byte/signed byte/word/signed word/dword/signed dword) 19
|
||||||
|
(byte) KEY_7
|
||||||
|
(const byte) KEY_7#0 KEY_7 = (byte/signed byte/word/signed word/dword/signed dword) 24
|
||||||
|
(byte) KEY_8
|
||||||
|
(const byte) KEY_8#0 KEY_8 = (byte/signed byte/word/signed word/dword/signed dword) 27
|
||||||
|
(byte) KEY_9
|
||||||
|
(const byte) KEY_9#0 KEY_9 = (byte/signed byte/word/signed word/dword/signed dword) 32
|
||||||
|
(byte) KEY_A
|
||||||
|
(const byte) KEY_A#0 KEY_A = (byte/signed byte/word/signed word/dword/signed dword) 10
|
||||||
|
(byte) KEY_ARROW_LEFT
|
||||||
|
(const byte) KEY_ARROW_LEFT#0 KEY_ARROW_LEFT = (byte/signed byte/word/signed word/dword/signed dword) 57
|
||||||
|
(byte) KEY_ARROW_UP
|
||||||
|
(const byte) KEY_ARROW_UP#0 KEY_ARROW_UP = (byte/signed byte/word/signed word/dword/signed dword) 54
|
||||||
|
(byte) KEY_ASTERISK
|
||||||
|
(const byte) KEY_ASTERISK#0 KEY_ASTERISK = (byte/signed byte/word/signed word/dword/signed dword) 49
|
||||||
|
(byte) KEY_AT
|
||||||
|
(const byte) KEY_AT#0 KEY_AT = (byte/signed byte/word/signed word/dword/signed dword) 46
|
||||||
|
(byte) KEY_B
|
||||||
|
(const byte) KEY_B#0 KEY_B = (byte/signed byte/word/signed word/dword/signed dword) 28
|
||||||
|
(byte) KEY_C
|
||||||
|
(const byte) KEY_C#0 KEY_C = (byte/signed byte/word/signed word/dword/signed dword) 20
|
||||||
|
(byte) KEY_COLON
|
||||||
|
(const byte) KEY_COLON#0 KEY_COLON = (byte/signed byte/word/signed word/dword/signed dword) 45
|
||||||
|
(byte) KEY_COMMA
|
||||||
|
(const byte) KEY_COMMA#0 KEY_COMMA = (byte/signed byte/word/signed word/dword/signed dword) 47
|
||||||
|
(byte) KEY_D
|
||||||
|
(const byte) KEY_D#0 KEY_D = (byte/signed byte/word/signed word/dword/signed dword) 18
|
||||||
|
(byte) KEY_DOT
|
||||||
|
(const byte) KEY_DOT#0 KEY_DOT = (byte/signed byte/word/signed word/dword/signed dword) 44
|
||||||
|
(byte) KEY_E
|
||||||
|
(const byte) KEY_E#0 KEY_E = (byte/signed byte/word/signed word/dword/signed dword) 14
|
||||||
|
(byte) KEY_EQUALS
|
||||||
|
(const byte) KEY_EQUALS#0 KEY_EQUALS = (byte/signed byte/word/signed word/dword/signed dword) 53
|
||||||
|
(byte) KEY_F
|
||||||
|
(const byte) KEY_F#0 KEY_F = (byte/signed byte/word/signed word/dword/signed dword) 21
|
||||||
|
(byte) KEY_F1
|
||||||
|
(const byte) KEY_F1#0 KEY_F1 = (byte/signed byte/word/signed word/dword/signed dword) 4
|
||||||
|
(byte) KEY_F3
|
||||||
|
(const byte) KEY_F3#0 KEY_F3 = (byte/signed byte/word/signed word/dword/signed dword) 5
|
||||||
|
(byte) KEY_F5
|
||||||
|
(const byte) KEY_F5#0 KEY_F5 = (byte/signed byte/word/signed word/dword/signed dword) 6
|
||||||
|
(byte) KEY_F7
|
||||||
|
(const byte) KEY_F7#0 KEY_F7 = (byte/signed byte/word/signed word/dword/signed dword) 3
|
||||||
|
(byte) KEY_G
|
||||||
|
(const byte) KEY_G#0 KEY_G = (byte/signed byte/word/signed word/dword/signed dword) 26
|
||||||
|
(byte) KEY_H
|
||||||
|
(const byte) KEY_H#0 KEY_H = (byte/signed byte/word/signed word/dword/signed dword) 29
|
||||||
|
(byte) KEY_I
|
||||||
|
(const byte) KEY_I#0 KEY_I = (byte/signed byte/word/signed word/dword/signed dword) 33
|
||||||
|
(byte) KEY_J
|
||||||
|
(const byte) KEY_J#0 KEY_J = (byte/signed byte/word/signed word/dword/signed dword) 34
|
||||||
|
(byte) KEY_K
|
||||||
|
(const byte) KEY_K#0 KEY_K = (byte/signed byte/word/signed word/dword/signed dword) 37
|
||||||
|
(byte) KEY_L
|
||||||
|
(const byte) KEY_L#0 KEY_L = (byte/signed byte/word/signed word/dword/signed dword) 42
|
||||||
|
(byte) KEY_LSHIFT
|
||||||
|
(const byte) KEY_LSHIFT#0 KEY_LSHIFT = (byte/signed byte/word/signed word/dword/signed dword) 15
|
||||||
|
(byte) KEY_M
|
||||||
|
(const byte) KEY_M#0 KEY_M = (byte/signed byte/word/signed word/dword/signed dword) 36
|
||||||
|
(byte) KEY_MINUS
|
||||||
|
(const byte) KEY_MINUS#0 KEY_MINUS = (byte/signed byte/word/signed word/dword/signed dword) 43
|
||||||
|
(byte) KEY_N
|
||||||
|
(const byte) KEY_N#0 KEY_N = (byte/signed byte/word/signed word/dword/signed dword) 39
|
||||||
|
(byte) KEY_O
|
||||||
|
(const byte) KEY_O#0 KEY_O = (byte/signed byte/word/signed word/dword/signed dword) 38
|
||||||
|
(byte) KEY_P
|
||||||
|
(const byte) KEY_P#0 KEY_P = (byte/signed byte/word/signed word/dword/signed dword) 41
|
||||||
|
(byte) KEY_PLUS
|
||||||
|
(const byte) KEY_PLUS#0 KEY_PLUS = (byte/signed byte/word/signed word/dword/signed dword) 40
|
||||||
|
(byte) KEY_POUND
|
||||||
|
(const byte) KEY_POUND#0 KEY_POUND = (byte/signed byte/word/signed word/dword/signed dword) 48
|
||||||
|
(byte) KEY_Q
|
||||||
|
(const byte) KEY_Q#0 KEY_Q = (byte/signed byte/word/signed word/dword/signed dword) 62
|
||||||
|
(byte) KEY_R
|
||||||
|
(const byte) KEY_R#0 KEY_R = (byte/signed byte/word/signed word/dword/signed dword) 17
|
||||||
|
(byte) KEY_S
|
||||||
|
(const byte) KEY_S#0 KEY_S = (byte/signed byte/word/signed word/dword/signed dword) 13
|
||||||
|
(byte) KEY_SEMICOLON
|
||||||
|
(const byte) KEY_SEMICOLON#0 KEY_SEMICOLON = (byte/signed byte/word/signed word/dword/signed dword) 50
|
||||||
|
(byte) KEY_SLASH
|
||||||
|
(const byte) KEY_SLASH#0 KEY_SLASH = (byte/signed byte/word/signed word/dword/signed dword) 55
|
||||||
|
(byte) KEY_SPACE
|
||||||
|
(const byte) KEY_SPACE#0 KEY_SPACE = (byte/signed byte/word/signed word/dword/signed dword) 60
|
||||||
|
(byte) KEY_T
|
||||||
|
(const byte) KEY_T#0 KEY_T = (byte/signed byte/word/signed word/dword/signed dword) 22
|
||||||
|
(byte) KEY_U
|
||||||
|
(const byte) KEY_U#0 KEY_U = (byte/signed byte/word/signed word/dword/signed dword) 30
|
||||||
|
(byte) KEY_V
|
||||||
|
(const byte) KEY_V#0 KEY_V = (byte/signed byte/word/signed word/dword/signed dword) 31
|
||||||
|
(byte) KEY_W
|
||||||
|
(const byte) KEY_W#0 KEY_W = (byte/signed byte/word/signed word/dword/signed dword) 9
|
||||||
|
(byte) KEY_X
|
||||||
|
(const byte) KEY_X#0 KEY_X = (byte/signed byte/word/signed word/dword/signed dword) 23
|
||||||
|
(byte) KEY_Y
|
||||||
|
(const byte) KEY_Y#0 KEY_Y = (byte/signed byte/word/signed word/dword/signed dword) 25
|
||||||
|
(byte) KEY_Z
|
||||||
|
(const byte) KEY_Z#0 KEY_Z = (byte/signed byte/word/signed word/dword/signed dword) 12
|
||||||
|
(byte*) PROCPORT
|
||||||
|
(const byte*) PROCPORT#0 PROCPORT = ((byte*))(byte/signed byte/word/signed word/dword/signed dword) 1
|
||||||
|
(byte*) SCREEN
|
||||||
|
(const byte*) SCREEN#0 SCREEN = ((byte*))(word/signed word/dword/signed dword) 1024
|
||||||
|
(byte[]) keyboard_char_keycodes
|
||||||
|
(const byte[]) keyboard_char_keycodes#0 keyboard_char_keycodes = { (const byte) KEY_AT#0, (const byte) KEY_A#0, (const byte) KEY_B#0, (const byte) KEY_C#0, (const byte) KEY_D#0, (const byte) KEY_E#0, (const byte) KEY_F#0, (const byte) KEY_G#0, (const byte) KEY_H#0, (const byte) KEY_I#0, (const byte) KEY_J#0, (const byte) KEY_K#0, (const byte) KEY_L#0, (const byte) KEY_M#0, (const byte) KEY_N#0, (const byte) KEY_O#0, (const byte) KEY_P#0, (const byte) KEY_Q#0, (const byte) KEY_R#0, (const byte) KEY_S#0, (const byte) KEY_T#0, (const byte) KEY_U#0, (const byte) KEY_V#0, (const byte) KEY_W#0, (const byte) KEY_X#0, (const byte) KEY_Y#0, (const byte) KEY_Z#0, (byte/signed byte/word/signed word/dword/signed dword) 63, (const byte) KEY_POUND#0, (byte/signed byte/word/signed word/dword/signed dword) 63, (const byte) KEY_ARROW_UP#0, (const byte) KEY_ARROW_LEFT#0, (const byte) KEY_SPACE#0, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63, (const byte) KEY_ASTERISK#0, (const byte) KEY_PLUS#0, (const byte) KEY_COMMA#0, (const byte) KEY_MINUS#0, (const byte) KEY_DOT#0, (const byte) KEY_SLASH#0, (const byte) KEY_0#0, (const byte) KEY_1#0, (const byte) KEY_2#0, (const byte) KEY_3#0, (const byte) KEY_4#0, (const byte) KEY_5#0, (const byte) KEY_6#0, (const byte) KEY_7#0, (const byte) KEY_8#0, (const byte) KEY_9#0, (const byte) KEY_COLON#0, (const byte) KEY_SEMICOLON#0, (byte/signed byte/word/signed word/dword/signed dword) 63, (const byte) KEY_EQUALS#0, (byte/signed byte/word/signed word/dword/signed dword) 63, (byte/signed byte/word/signed word/dword/signed dword) 63 }
|
||||||
|
(byte()) keyboard_get_keycode((byte) keyboard_get_keycode::ch)
|
||||||
|
(label) keyboard_get_keycode::@return
|
||||||
|
(byte) keyboard_get_keycode::ch
|
||||||
|
(byte) keyboard_get_keycode::ch#0 reg byte x 103.0
|
||||||
|
(byte) keyboard_get_keycode::return
|
||||||
|
(byte) keyboard_get_keycode::return#0 reg byte a 34.33333333333333
|
||||||
|
(byte) keyboard_get_keycode::return#2 reg byte a 202.0
|
||||||
|
(byte()) keyboard_key_pressed((byte) keyboard_key_pressed::key)
|
||||||
|
(byte~) keyboard_key_pressed::$1 reg byte y 2.0
|
||||||
|
(byte~) keyboard_key_pressed::$2 reg byte a 4.0
|
||||||
|
(label) keyboard_key_pressed::@2
|
||||||
|
(label) keyboard_key_pressed::@return
|
||||||
|
(byte) keyboard_key_pressed::key
|
||||||
|
(byte) keyboard_key_pressed::key#5 reg byte x 202.0
|
||||||
|
(byte) keyboard_key_pressed::key#6 reg byte x 20.999999999999996
|
||||||
|
(byte) keyboard_key_pressed::return
|
||||||
|
(byte) keyboard_key_pressed::return#0 reg byte a 19.75
|
||||||
|
(byte) keyboard_key_pressed::return#10 reg byte a 22.0
|
||||||
|
(byte) keyboard_key_pressed::return#11 reg byte a 22.0
|
||||||
|
(byte) keyboard_key_pressed::return#12 reg byte a 22.0
|
||||||
|
(byte) keyboard_key_pressed::return#13 reg byte a 22.0
|
||||||
|
(byte) keyboard_key_pressed::return#14 reg byte a 202.0
|
||||||
|
(byte) keyboard_key_pressed::return#2 reg byte a 22.0
|
||||||
|
(byte[]) keyboard_matrix_col_bitmask
|
||||||
|
(const byte[]) keyboard_matrix_col_bitmask#0 keyboard_matrix_col_bitmask = { (byte/signed byte/word/signed word/dword/signed dword) 1, (byte/signed byte/word/signed word/dword/signed dword) 2, (byte/signed byte/word/signed word/dword/signed dword) 4, (byte/signed byte/word/signed word/dword/signed dword) 8, (byte/signed byte/word/signed word/dword/signed dword) 16, (byte/signed byte/word/signed word/dword/signed dword) 32, (byte/signed byte/word/signed word/dword/signed dword) 64, (byte/word/signed word/dword/signed dword) 128 }
|
||||||
|
(byte()) keyboard_matrix_read((byte) keyboard_matrix_read::rowid)
|
||||||
|
(label) keyboard_matrix_read::@return
|
||||||
|
(byte) keyboard_matrix_read::return
|
||||||
|
(byte) keyboard_matrix_read::return#0 reg byte a 1.3333333333333333
|
||||||
|
(byte) keyboard_matrix_read::return#2 reg byte a 4.0
|
||||||
|
(byte) keyboard_matrix_read::row_pressed_bits
|
||||||
|
(byte) keyboard_matrix_read::rowid
|
||||||
|
(byte) keyboard_matrix_read::rowid#0 reg byte a 4.0
|
||||||
|
(byte[8]) keyboard_matrix_row_bitmask
|
||||||
|
(const byte[8]) keyboard_matrix_row_bitmask#0 keyboard_matrix_row_bitmask = { (byte/word/signed word/dword/signed dword) 254, (byte/word/signed word/dword/signed dword) 253, (byte/word/signed word/dword/signed dword) 251, (byte/word/signed word/dword/signed dword) 247, (byte/word/signed word/dword/signed dword) 239, (byte/word/signed word/dword/signed dword) 223, (byte/word/signed word/dword/signed dword) 191, (byte/signed byte/word/signed word/dword/signed dword) 127 }
|
||||||
|
(void()) main()
|
||||||
|
(byte~) main::$15 reg byte a 22.0
|
||||||
|
(byte~) main::$18 reg byte a 22.0
|
||||||
|
(byte~) main::$21 reg byte a 22.0
|
||||||
|
(byte~) main::$24 reg byte a 22.0
|
||||||
|
(byte~) main::$27 reg byte a 22.0
|
||||||
|
(label) main::@1
|
||||||
|
(label) main::@10
|
||||||
|
(label) main::@11
|
||||||
|
(label) main::@12
|
||||||
|
(label) main::@13
|
||||||
|
(label) main::@19
|
||||||
|
(label) main::@2
|
||||||
|
(label) main::@21
|
||||||
|
(label) main::@22
|
||||||
|
(label) main::@23
|
||||||
|
(label) main::@25
|
||||||
|
(label) main::@26
|
||||||
|
(label) main::@27
|
||||||
|
(label) main::@29
|
||||||
|
(label) main::@3
|
||||||
|
(label) main::@30
|
||||||
|
(label) main::@31
|
||||||
|
(label) main::@32
|
||||||
|
(label) main::@33
|
||||||
|
(label) main::@34
|
||||||
|
(label) main::@35
|
||||||
|
(label) main::@36
|
||||||
|
(label) main::@4
|
||||||
|
(label) main::@41
|
||||||
|
(label) main::@42
|
||||||
|
(label) main::@43
|
||||||
|
(label) main::@44
|
||||||
|
(label) main::@5
|
||||||
|
(label) main::@6
|
||||||
|
(label) main::@7
|
||||||
|
(label) main::@9
|
||||||
|
(label) main::@return
|
||||||
|
(byte) main::ch
|
||||||
|
(byte) main::ch#1 ch zp ZP_BYTE:6 151.5
|
||||||
|
(byte) main::ch#2 ch zp ZP_BYTE:6 25.25
|
||||||
|
(byte) main::cur_pos
|
||||||
|
(byte) main::cur_pos#12 cur_pos zp ZP_BYTE:4 4.730769230769231
|
||||||
|
(byte) main::cur_pos#18 cur_pos zp ZP_BYTE:4 3.6666666666666665
|
||||||
|
(byte) main::cur_pos#20 cur_pos zp ZP_BYTE:4 3.6666666666666665
|
||||||
|
(byte) main::cur_pos#22 cur_pos zp ZP_BYTE:4 3.6666666666666665
|
||||||
|
(byte) main::cur_pos#24 cur_pos zp ZP_BYTE:4 3.6666666666666665
|
||||||
|
(byte) main::i
|
||||||
|
(byte) main::i#1 i zp ZP_BYTE:4 16.5
|
||||||
|
(byte) main::i#2 i zp ZP_BYTE:4 11.0
|
||||||
|
(byte) main::key
|
||||||
|
(byte) main::key#0 reg byte a 151.5
|
||||||
|
(byte) main::pressed
|
||||||
|
(byte) main::pressed#1 reg byte a 202.0
|
||||||
|
(byte) main::pressed#2 reg byte a 202.0
|
||||||
|
(byte*) main::sc
|
||||||
|
(byte*) main::sc#1 sc zp ZP_WORD:2 16.5
|
||||||
|
(byte*) main::sc#2 sc zp ZP_WORD:2 16.5
|
||||||
|
(byte) main::shift
|
||||||
|
(byte) main::shift#10 shift zp ZP_BYTE:5 5.315789473684211
|
||||||
|
(const string) main::str str = (string) "f1@"
|
||||||
|
(const string) main::str1 str1 = (string) "f3@"
|
||||||
|
(const string) main::str2 str2 = (string) "f5@"
|
||||||
|
(const string) main::str3 str3 = (string) "f7@"
|
||||||
|
(word()) mul8u((byte) mul8u::a , (byte) mul8u::b)
|
||||||
|
(byte~) mul8u::$1 reg byte a 2002.0
|
||||||
|
(label) mul8u::@1
|
||||||
|
(label) mul8u::@2
|
||||||
|
(label) mul8u::@4
|
||||||
|
(label) mul8u::@7
|
||||||
|
(label) mul8u::@return
|
||||||
|
(byte) mul8u::a
|
||||||
|
(byte) mul8u::a#0 reg byte x 1001.0
|
||||||
|
(byte) mul8u::a#1 reg byte x 2.0
|
||||||
|
(byte) mul8u::a#2 reg byte x 667.6666666666667
|
||||||
|
(byte) mul8u::b
|
||||||
|
(const byte) mul8u::b#0 b = (byte/signed byte/word/signed word/dword/signed dword) 10
|
||||||
|
(word) mul8u::mb
|
||||||
|
(word) mul8u::mb#1 mb zp ZP_WORD:11 2002.0
|
||||||
|
(word) mul8u::mb#2 mb zp ZP_WORD:11 429.0
|
||||||
|
(word) mul8u::res
|
||||||
|
(word) mul8u::res#1 res zp ZP_WORD:9 2002.0
|
||||||
|
(word) mul8u::res#2 res zp ZP_WORD:9 500.83333333333337
|
||||||
|
(word) mul8u::res#6 res zp ZP_WORD:9 1001.0
|
||||||
|
(word) mul8u::return
|
||||||
|
(word) mul8u::return#2 return zp ZP_WORD:9 4.0
|
||||||
|
(void()) plot_chargen((byte) plot_chargen::pos , (byte) plot_chargen::ch , (byte) plot_chargen::shift)
|
||||||
|
(word~) plot_chargen::$0 $0 zp ZP_WORD:2 4.0
|
||||||
|
(word~) plot_chargen::$1 $1 zp ZP_WORD:2 4.0
|
||||||
|
(byte~) plot_chargen::$10 reg byte a 20002.0
|
||||||
|
(word~) plot_chargen::$8 $8 zp ZP_WORD:9 4.0
|
||||||
|
(label) plot_chargen::@1
|
||||||
|
(label) plot_chargen::@2
|
||||||
|
(label) plot_chargen::@3
|
||||||
|
(label) plot_chargen::@4
|
||||||
|
(label) plot_chargen::@5
|
||||||
|
(label) plot_chargen::@6
|
||||||
|
(label) plot_chargen::@7
|
||||||
|
(label) plot_chargen::@8
|
||||||
|
(label) plot_chargen::@9
|
||||||
|
(label) plot_chargen::@return
|
||||||
|
(byte) plot_chargen::bits
|
||||||
|
(byte) plot_chargen::bits#0 bits zp ZP_BYTE:8 2002.0
|
||||||
|
(byte) plot_chargen::bits#1 bits zp ZP_BYTE:8 6667.333333333333
|
||||||
|
(byte) plot_chargen::bits#2 bits zp ZP_BYTE:8 4429.142857142857
|
||||||
|
(byte) plot_chargen::c
|
||||||
|
(byte) plot_chargen::c#2 reg byte a 10001.0
|
||||||
|
(byte) plot_chargen::ch
|
||||||
|
(byte) plot_chargen::ch#1 reg byte a 101.0
|
||||||
|
(byte) plot_chargen::ch#2 reg byte a 51.5
|
||||||
|
(byte*) plot_chargen::chargen
|
||||||
|
(byte*) plot_chargen::chargen#0 chargen zp ZP_WORD:2 3.0
|
||||||
|
(byte*) plot_chargen::chargen#1 chargen zp ZP_WORD:2 4.0
|
||||||
|
(byte*) plot_chargen::chargen#5 chargen zp ZP_WORD:2 45.68181818181818
|
||||||
|
(byte) plot_chargen::pos
|
||||||
|
(byte) plot_chargen::pos#0 reg byte x 22.0
|
||||||
|
(byte) plot_chargen::pos#1 reg byte x 67.33333333333333
|
||||||
|
(byte) plot_chargen::pos#2 reg byte x 12.666666666666664
|
||||||
|
(byte*) plot_chargen::sc
|
||||||
|
(byte*) plot_chargen::sc#0 sc zp ZP_WORD:9 4.0
|
||||||
|
(byte*) plot_chargen::sc#1 sc zp ZP_WORD:9 5250.75
|
||||||
|
(byte*) plot_chargen::sc#2 sc zp ZP_WORD:9 667.3333333333334
|
||||||
|
(byte*) plot_chargen::sc#3 sc zp ZP_WORD:9 5167.333333333333
|
||||||
|
(byte*) plot_chargen::sc#7 sc zp ZP_WORD:9 1002.0
|
||||||
|
(byte) plot_chargen::shift
|
||||||
|
(byte) plot_chargen::shift#1 reg byte y 202.0
|
||||||
|
(byte) plot_chargen::shift#2 reg byte y 20.599999999999998
|
||||||
|
(byte) plot_chargen::x
|
||||||
|
(byte) plot_chargen::x#1 reg byte x 15001.5
|
||||||
|
(byte) plot_chargen::x#2 reg byte x 2500.25
|
||||||
|
(byte) plot_chargen::y
|
||||||
|
(byte) plot_chargen::y#1 y zp ZP_BYTE:7 1501.5
|
||||||
|
(byte) plot_chargen::y#2 y zp ZP_BYTE:7 231.0
|
||||||
|
(void()) print_str_at((byte*) print_str_at::str , (byte*) print_str_at::at)
|
||||||
|
(label) print_str_at::@1
|
||||||
|
(label) print_str_at::@2
|
||||||
|
(label) print_str_at::@return
|
||||||
|
(byte*) print_str_at::at
|
||||||
|
(byte*) print_str_at::at#4 at zp ZP_WORD:9 11.0
|
||||||
|
(byte*) print_str_at::at#5 at zp ZP_WORD:9 11.666666666666666
|
||||||
|
(byte*) print_str_at::at#7 at zp ZP_WORD:9 2.0
|
||||||
|
(byte*) print_str_at::str
|
||||||
|
(byte*) print_str_at::str#4 str zp ZP_WORD:2 22.0
|
||||||
|
(byte*) print_str_at::str#5 str zp ZP_WORD:2 11.5
|
||||||
|
(byte*) print_str_at::str#7 str zp ZP_WORD:2 2.0
|
||||||
|
|
||||||
|
zp ZP_WORD:2 [ main::sc#2 main::sc#1 plot_chargen::chargen#5 plot_chargen::chargen#0 plot_chargen::chargen#1 plot_chargen::$1 plot_chargen::$0 print_str_at::str#5 print_str_at::str#7 print_str_at::str#4 ]
|
||||||
|
zp ZP_BYTE:4 [ main::i#2 main::i#1 main::cur_pos#18 main::cur_pos#20 main::cur_pos#22 main::cur_pos#24 main::cur_pos#12 ]
|
||||||
|
zp ZP_BYTE:5 [ main::shift#10 ]
|
||||||
|
zp ZP_BYTE:6 [ main::ch#2 main::ch#1 ]
|
||||||
|
reg byte a [ main::pressed#2 main::pressed#1 ]
|
||||||
|
reg byte a [ plot_chargen::ch#2 plot_chargen::ch#1 ]
|
||||||
|
reg byte y [ plot_chargen::shift#2 plot_chargen::shift#1 ]
|
||||||
|
reg byte x [ plot_chargen::pos#2 plot_chargen::pos#0 plot_chargen::pos#1 ]
|
||||||
|
zp ZP_BYTE:7 [ plot_chargen::y#2 plot_chargen::y#1 ]
|
||||||
|
zp ZP_BYTE:8 [ plot_chargen::bits#2 plot_chargen::bits#0 plot_chargen::bits#1 ]
|
||||||
|
zp ZP_WORD:9 [ plot_chargen::sc#3 plot_chargen::sc#7 plot_chargen::sc#2 plot_chargen::sc#0 plot_chargen::sc#1 plot_chargen::$8 mul8u::res#2 mul8u::res#6 mul8u::res#1 mul8u::return#2 print_str_at::at#5 print_str_at::at#7 print_str_at::at#4 ]
|
||||||
|
reg byte x [ plot_chargen::x#2 plot_chargen::x#1 ]
|
||||||
|
reg byte a [ plot_chargen::c#2 ]
|
||||||
|
reg byte x [ mul8u::a#2 mul8u::a#1 mul8u::a#0 ]
|
||||||
|
zp ZP_WORD:11 [ mul8u::mb#2 mul8u::mb#1 ]
|
||||||
|
reg byte x [ keyboard_key_pressed::key#6 keyboard_key_pressed::key#5 ]
|
||||||
|
reg byte a [ keyboard_key_pressed::return#2 ]
|
||||||
|
reg byte a [ main::$15 ]
|
||||||
|
reg byte a [ keyboard_key_pressed::return#10 ]
|
||||||
|
reg byte a [ main::$18 ]
|
||||||
|
reg byte a [ keyboard_key_pressed::return#11 ]
|
||||||
|
reg byte a [ main::$21 ]
|
||||||
|
reg byte a [ keyboard_key_pressed::return#12 ]
|
||||||
|
reg byte a [ main::$24 ]
|
||||||
|
reg byte a [ keyboard_key_pressed::return#13 ]
|
||||||
|
reg byte a [ main::$27 ]
|
||||||
|
reg byte x [ keyboard_get_keycode::ch#0 ]
|
||||||
|
reg byte a [ keyboard_get_keycode::return#2 ]
|
||||||
|
reg byte a [ main::key#0 ]
|
||||||
|
reg byte a [ keyboard_key_pressed::return#14 ]
|
||||||
|
reg byte a [ plot_chargen::$10 ]
|
||||||
|
reg byte a [ mul8u::$1 ]
|
||||||
|
reg byte a [ keyboard_matrix_read::rowid#0 ]
|
||||||
|
reg byte a [ keyboard_matrix_read::return#2 ]
|
||||||
|
reg byte y [ keyboard_key_pressed::$1 ]
|
||||||
|
reg byte a [ keyboard_key_pressed::$2 ]
|
||||||
|
reg byte a [ keyboard_key_pressed::return#0 ]
|
||||||
|
reg byte a [ keyboard_matrix_read::return#0 ]
|
||||||
|
reg byte a [ keyboard_get_keycode::return#0 ]
|
Loading…
Reference in New Issue
Block a user