1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2025-01-11 20:30:08 +00:00

Working on #486 post increment problems inside conditions.

This commit is contained in:
Jesper Gravgaard 2020-07-06 17:42:40 +02:00
parent 7f3c378119
commit fcd41d7390
3 changed files with 30 additions and 39 deletions

View File

@ -749,9 +749,8 @@ main::initNES1_@1: scope:[main] from main::initNES1_@1 main::initNES1_@6
*((const nomodify byte*) MEMORY+(number) $600 + (byte) main::initNES1_i#2) ← (number) 0
*((const nomodify byte*) MEMORY+(number) $700 + (byte) main::initNES1_i#2) ← (number) 0
(byte) main::initNES1_i#1 ← ++ (byte) main::initNES1_i#2
(byte~) main::initNES1_$5 ← (byte) main::initNES1_i#1
(bool~) main::initNES1_$6 ← (number) 0 != (byte~) main::initNES1_$5
if((bool~) main::initNES1_$6) goto main::initNES1_@1
(bool~) main::initNES1_$5 ← (number) 0 != (byte) main::initNES1_i#1
if((bool~) main::initNES1_$5) goto main::initNES1_@1
to:main::initNES1_waitForVBlank2
main::initNES1_waitForVBlank2: scope:[main] from main::initNES1_@1
to:main::initNES1_waitForVBlank2_@1
@ -1344,8 +1343,7 @@ SYMBOL TABLE SSA
(byte) main::i#6
(byte) main::i#7
(label) main::initNES1
(byte~) main::initNES1_$5
(bool~) main::initNES1_$6
(bool~) main::initNES1_$5
(label) main::initNES1_@1
(label) main::initNES1_@6
(label) main::initNES1_@7
@ -1943,7 +1941,7 @@ Adding number conversion cast (unumber) 0 in *((const nomodify byte*) MEMORY+(nu
Adding number conversion cast (unumber) $600 in *((const nomodify byte*) MEMORY+(number) $600 + (byte) main::initNES1_i#2) ← ((unumber)) (number) 0
Adding number conversion cast (unumber) 0 in *((const nomodify byte*) MEMORY+(number) $700 + (byte) main::initNES1_i#2) ← (number) 0
Adding number conversion cast (unumber) $700 in *((const nomodify byte*) MEMORY+(number) $700 + (byte) main::initNES1_i#2) ← ((unumber)) (number) 0
Adding number conversion cast (unumber) 0 in (bool~) main::initNES1_$6 ← (number) 0 != (byte~) main::initNES1_$5
Adding number conversion cast (unumber) 0 in (bool~) main::initNES1_$5 ← (number) 0 != (byte) main::initNES1_i#1
Adding number conversion cast (unumber) $80 in (number~) main::initNES1_waitForVBlank2_$0 ← *((byte*~) main::initNES1_waitForVBlank2_$2) & (number) $80
Adding number conversion cast (unumber) main::initNES1_waitForVBlank2_$0 in (number~) main::initNES1_waitForVBlank2_$0 ← *((byte*~) main::initNES1_waitForVBlank2_$2) & (unumber)(number) $80
Adding number conversion cast (unumber) 0 in (bool~) main::initNES1_waitForVBlank2_$4 ← (number) 0 != (unumber~) main::initNES1_waitForVBlank2_$0
@ -2241,13 +2239,13 @@ Inversing boolean not [138] (bool~) gotoxy::$3 ← (byte) gotoxy::x#4 < (byte) $
Inversing boolean not [164] (bool~) cputc::$4 ← (byte) conio_cursor_x != (byte) $20 from [163] (bool~) cputc::$3 ← (byte) conio_cursor_x == (byte) $20
Inversing boolean not [174] (bool~) cscroll::$1 ← (byte) conio_cursor_y != (byte) $1e from [173] (bool~) cscroll::$0 ← (byte) conio_cursor_y == (byte) $1e
Inversing boolean not [333] (bool~) main::initNES1_waitForVBlank1_$1 ← (byte) 0 == (byte~) main::initNES1_waitForVBlank1_$0 from [332] (bool~) main::initNES1_waitForVBlank1_$4 ← (byte) 0 != (byte~) main::initNES1_waitForVBlank1_$0
Inversing boolean not [353] (bool~) main::initNES1_waitForVBlank2_$1 ← (byte) 0 == (byte~) main::initNES1_waitForVBlank2_$0 from [352] (bool~) main::initNES1_waitForVBlank2_$4 ← (byte) 0 != (byte~) main::initNES1_waitForVBlank2_$0
Inversing boolean not [468] (bool~) vblank::$2 ← (byte) 0 == (byte~) vblank::$1 from [467] (bool~) vblank::$17 ← (byte) 0 != (byte~) vblank::$1
Inversing boolean not [473] (bool~) vblank::$4 ← (byte) 0 == (byte~) vblank::$3 from [472] (bool~) vblank::$18 ← (byte) 0 != (byte~) vblank::$3
Inversing boolean not [478] (bool~) vblank::$10 ← (volatile byte) y_scroll != (byte) $f0 from [477] (bool~) vblank::$9 ← (volatile byte) y_scroll == (byte) $f0
Inversing boolean not [485] (bool~) vblank::$6 ← (byte) 0 == (byte~) vblank::$5 from [484] (bool~) vblank::$19 ← (byte) 0 != (byte~) vblank::$5
Inversing boolean not [490] (bool~) vblank::$12 ← (volatile byte) y_scroll != (byte) $ff from [489] (bool~) vblank::$11 ← (volatile byte) y_scroll == (byte) $ff
Inversing boolean not [497] (bool~) vblank::$8 ← (byte) 0 == (byte~) vblank::$7 from [496] (bool~) vblank::$20 ← (byte) 0 != (byte~) vblank::$7
Inversing boolean not [352] (bool~) main::initNES1_waitForVBlank2_$1 ← (byte) 0 == (byte~) main::initNES1_waitForVBlank2_$0 from [351] (bool~) main::initNES1_waitForVBlank2_$4 ← (byte) 0 != (byte~) main::initNES1_waitForVBlank2_$0
Inversing boolean not [467] (bool~) vblank::$2 ← (byte) 0 == (byte~) vblank::$1 from [466] (bool~) vblank::$17 ← (byte) 0 != (byte~) vblank::$1
Inversing boolean not [472] (bool~) vblank::$4 ← (byte) 0 == (byte~) vblank::$3 from [471] (bool~) vblank::$18 ← (byte) 0 != (byte~) vblank::$3
Inversing boolean not [477] (bool~) vblank::$10 ← (volatile byte) y_scroll != (byte) $f0 from [476] (bool~) vblank::$9 ← (volatile byte) y_scroll == (byte) $f0
Inversing boolean not [484] (bool~) vblank::$6 ← (byte) 0 == (byte~) vblank::$5 from [483] (bool~) vblank::$19 ← (byte) 0 != (byte~) vblank::$5
Inversing boolean not [489] (bool~) vblank::$12 ← (volatile byte) y_scroll != (byte) $ff from [488] (bool~) vblank::$11 ← (volatile byte) y_scroll == (byte) $ff
Inversing boolean not [496] (bool~) vblank::$8 ← (byte) 0 == (byte~) vblank::$7 from [495] (bool~) vblank::$20 ← (byte) 0 != (byte~) vblank::$7
Successful SSA optimization Pass2UnaryNotSimplification
Alias candidate removed (volatile)conio_line_text = gotoxy::$5
Alias readJoy1::joy#2 = readJoy1::joy#4 readJoy1::joy#3 readJoy1::return#0 readJoy1::return#3 readJoy1::return#1
@ -2302,7 +2300,6 @@ Alias uctoa_append::digit#2 = uctoa_append::digit#4 uctoa_append::digit#3
Alias uctoa_append::value#2 = uctoa_append::value#3 uctoa_append::value#4 uctoa_append::return#1 uctoa_append::return#4 uctoa_append::return#2
Alias uctoa_append::sub#1 = uctoa_append::sub#2
Alias uctoa_append::buffer#1 = uctoa_append::buffer#4 uctoa_append::buffer#2
Alias main::initNES1_i#1 = main::initNES1_$5
Alias ppuDataTransfer::size#1 = main::$1
Alias main::screensizex1_return#0 = main::screensizex1_return#2 main::screensizex1_return#1 main::screensizex1_return#3 main::$7
Alias main::x#10 = main::x#6 main::x#8 main::x#2 main::x#3 main::x#9 main::x#7 main::x#4 main::x#5
@ -2375,7 +2372,7 @@ Simple Condition (bool~) uctoa::$3 [205] if((byte) uctoa::radix#0==(const byte)
Simple Condition (bool~) uctoa::$5 [222] if((byte) uctoa::digit#2<(byte~) uctoa::$4) goto uctoa::@11
Simple Condition (bool~) uctoa_append::$0 [245] if((byte) uctoa_append::value#2>=(byte) uctoa_append::sub#0) goto uctoa_append::@2
Simple Condition (bool~) main::initNES1_waitForVBlank1_$1 [266] if((byte) 0==(byte~) main::initNES1_waitForVBlank1_$0) goto main::initNES1_waitForVBlank1_@1
Simple Condition (bool~) main::initNES1_$6 [279] if((byte) 0!=(byte) main::initNES1_i#1) goto main::initNES1_@1
Simple Condition (bool~) main::initNES1_$5 [279] if((byte) 0!=(byte) main::initNES1_i#1) goto main::initNES1_@1
Simple Condition (bool~) main::initNES1_waitForVBlank2_$1 [284] if((byte) 0==(byte~) main::initNES1_waitForVBlank2_$0) goto main::initNES1_waitForVBlank2_@1
Simple Condition (bool~) main::$9 [304] if((byte) main::x#10<(byte~) main::$8) goto main::@1
Simple Condition (bool~) main::$16 [320] if((byte) main::y#10<(byte~) main::$15) goto main::@3

View File

@ -410,9 +410,8 @@ main::initNES1_@1: scope:[main] from main::initNES1_@1 main::initNES1_@6
*((const nomodify byte*) MEMORY+(number) $600 + (byte) main::initNES1_i#2) ← (number) 0
*((const nomodify byte*) MEMORY+(number) $700 + (byte) main::initNES1_i#2) ← (number) 0
(byte) main::initNES1_i#1 ← ++ (byte) main::initNES1_i#2
(byte~) main::initNES1_$5 ← (byte) main::initNES1_i#1
(bool~) main::initNES1_$6 ← (number) 0 != (byte~) main::initNES1_$5
if((bool~) main::initNES1_$6) goto main::initNES1_@1
(bool~) main::initNES1_$5 ← (number) 0 != (byte) main::initNES1_i#1
if((bool~) main::initNES1_$5) goto main::initNES1_@1
to:main::initNES1_waitForVBlank2
main::initNES1_waitForVBlank2: scope:[main] from main::initNES1_@1
to:main::initNES1_waitForVBlank2_@1
@ -712,8 +711,7 @@ SYMBOL TABLE SSA
(byte*~) main::enableVideoOutput1_$2
(byte*~) main::enableVideoOutput1_$3
(label) main::initNES1
(byte~) main::initNES1_$5
(bool~) main::initNES1_$6
(bool~) main::initNES1_$5
(label) main::initNES1_@1
(label) main::initNES1_@6
(label) main::initNES1_@7
@ -1104,7 +1102,7 @@ Adding number conversion cast (unumber) 0 in *((const nomodify byte*) MEMORY+(nu
Adding number conversion cast (unumber) $600 in *((const nomodify byte*) MEMORY+(number) $600 + (byte) main::initNES1_i#2) ← ((unumber)) (number) 0
Adding number conversion cast (unumber) 0 in *((const nomodify byte*) MEMORY+(number) $700 + (byte) main::initNES1_i#2) ← (number) 0
Adding number conversion cast (unumber) $700 in *((const nomodify byte*) MEMORY+(number) $700 + (byte) main::initNES1_i#2) ← ((unumber)) (number) 0
Adding number conversion cast (unumber) 0 in (bool~) main::initNES1_$6 ← (number) 0 != (byte~) main::initNES1_$5
Adding number conversion cast (unumber) 0 in (bool~) main::initNES1_$5 ← (number) 0 != (byte) main::initNES1_i#1
Adding number conversion cast (unumber) $80 in (number~) main::initNES1_waitForVBlank2_$0 ← *((byte*~) main::initNES1_waitForVBlank2_$2) & (number) $80
Adding number conversion cast (unumber) main::initNES1_waitForVBlank2_$0 in (number~) main::initNES1_waitForVBlank2_$0 ← *((byte*~) main::initNES1_waitForVBlank2_$2) & (unumber)(number) $80
Adding number conversion cast (unumber) 0 in (bool~) main::initNES1_waitForVBlank2_$4 ← (number) 0 != (unumber~) main::initNES1_waitForVBlank2_$0
@ -1351,11 +1349,11 @@ Inferred type updated to byte in (unumber~) vblank::$53 ← (byte) 1 * (const by
Inferred type updated to byte in (unumber~) vblank::$55 ← (byte) 2 * (const byte) SIZEOF_STRUCT_SPRITEDATA
Inferred type updated to byte in (unumber~) vblank::$57 ← (byte) 3 * (const byte) SIZEOF_STRUCT_SPRITEDATA
Inversing boolean not [159] (bool~) main::initNES1_waitForVBlank1_$1 ← (byte) 0 == (byte~) main::initNES1_waitForVBlank1_$0 from [158] (bool~) main::initNES1_waitForVBlank1_$4 ← (byte) 0 != (byte~) main::initNES1_waitForVBlank1_$0
Inversing boolean not [179] (bool~) main::initNES1_waitForVBlank2_$1 ← (byte) 0 == (byte~) main::initNES1_waitForVBlank2_$0 from [178] (bool~) main::initNES1_waitForVBlank2_$4 ← (byte) 0 != (byte~) main::initNES1_waitForVBlank2_$0
Inversing boolean not [231] (bool~) vblank::$2 ← (byte) 0 == (byte~) vblank::$1 from [230] (bool~) vblank::$62 ← (byte) 0 != (byte~) vblank::$1
Inversing boolean not [236] (bool~) vblank::$4 ← (byte) 0 == (byte~) vblank::$3 from [235] (bool~) vblank::$63 ← (byte) 0 != (byte~) vblank::$3
Inversing boolean not [250] (bool~) vblank::$6 ← (byte) 0 == (byte~) vblank::$5 from [249] (bool~) vblank::$64 ← (byte) 0 != (byte~) vblank::$5
Inversing boolean not [264] (bool~) vblank::$8 ← (byte) 0 == (byte~) vblank::$7 from [263] (bool~) vblank::$65 ← (byte) 0 != (byte~) vblank::$7
Inversing boolean not [178] (bool~) main::initNES1_waitForVBlank2_$1 ← (byte) 0 == (byte~) main::initNES1_waitForVBlank2_$0 from [177] (bool~) main::initNES1_waitForVBlank2_$4 ← (byte) 0 != (byte~) main::initNES1_waitForVBlank2_$0
Inversing boolean not [230] (bool~) vblank::$2 ← (byte) 0 == (byte~) vblank::$1 from [229] (bool~) vblank::$62 ← (byte) 0 != (byte~) vblank::$1
Inversing boolean not [235] (bool~) vblank::$4 ← (byte) 0 == (byte~) vblank::$3 from [234] (bool~) vblank::$63 ← (byte) 0 != (byte~) vblank::$3
Inversing boolean not [249] (bool~) vblank::$6 ← (byte) 0 == (byte~) vblank::$5 from [248] (bool~) vblank::$64 ← (byte) 0 != (byte~) vblank::$5
Inversing boolean not [263] (bool~) vblank::$8 ← (byte) 0 == (byte~) vblank::$7 from [262] (bool~) vblank::$65 ← (byte) 0 != (byte~) vblank::$7
Successful SSA optimization Pass2UnaryNotSimplification
Alias readJoy1::joy#2 = readJoy1::joy#4 readJoy1::joy#3 readJoy1::return#0 readJoy1::return#3 readJoy1::return#1
Alias readJoy1::i#2 = readJoy1::i#3
@ -1385,7 +1383,6 @@ Alias memcpy::src#2 = memcpy::src#3
Alias memcpy::dst#2 = memcpy::dst#3
Alias memcpy::src_end#1 = memcpy::src_end#2
Alias memcpy::destination#2 = memcpy::destination#4 memcpy::destination#3 memcpy::return#0 memcpy::return#3 memcpy::return#1
Alias main::initNES1_i#1 = main::initNES1_$5
Alias ppuDataTransfer::size#0 = main::$1
Alias main::x#2 = main::x#3 main::x#4
Alias memcpy::num#0 = main::$6
@ -1414,7 +1411,7 @@ Simple Condition (bool~) ppuDataFill::$1 [30] if((word) ppuDataFill::i#2<(word)
Simple Condition (bool~) ppuDataTransfer::$1 [49] if((word) ppuDataTransfer::i#2<(word) ppuDataTransfer::size#0) goto ppuDataTransfer::@2
Simple Condition (bool~) memcpy::$1 [101] if((byte*) memcpy::src#2!=(byte*) memcpy::src_end#0) goto memcpy::@2
Simple Condition (bool~) main::initNES1_waitForVBlank1_$1 [122] if((byte) 0==(byte~) main::initNES1_waitForVBlank1_$0) goto main::initNES1_waitForVBlank1_@1
Simple Condition (bool~) main::initNES1_$6 [135] if((byte) 0!=(byte) main::initNES1_i#1) goto main::initNES1_@1
Simple Condition (bool~) main::initNES1_$5 [135] if((byte) 0!=(byte) main::initNES1_i#1) goto main::initNES1_@1
Simple Condition (bool~) main::initNES1_waitForVBlank2_$1 [140] if((byte) 0==(byte~) main::initNES1_waitForVBlank2_$0) goto main::initNES1_waitForVBlank2_@1
Simple Condition (bool~) main::$9 [157] if((byte) main::x#2<(byte) $20) goto main::@2
Simple Condition (bool~) main::$12 [178] if((number) 0!=(number) 1) goto main::@4

View File

@ -238,9 +238,8 @@ main::initNES1_@1: scope:[main] from main::initNES1_@1 main::initNES1_@6
*((const nomodify byte*) MEMORY+(number) $600 + (byte) main::initNES1_i#2) ← (number) 0
*((const nomodify byte*) MEMORY+(number) $700 + (byte) main::initNES1_i#2) ← (number) 0
(byte) main::initNES1_i#1 ← ++ (byte) main::initNES1_i#2
(byte~) main::initNES1_$5 ← (byte) main::initNES1_i#1
(bool~) main::initNES1_$6 ← (number) 0 != (byte~) main::initNES1_$5
if((bool~) main::initNES1_$6) goto main::initNES1_@1
(bool~) main::initNES1_$5 ← (number) 0 != (byte) main::initNES1_i#1
if((bool~) main::initNES1_$5) goto main::initNES1_@1
to:main::initNES1_waitForVBlank2
main::initNES1_waitForVBlank2: scope:[main] from main::initNES1_@1
to:main::initNES1_waitForVBlank2_@1
@ -575,8 +574,7 @@ SYMBOL TABLE SSA
(byte*~) main::enableVideoOutput1_$2
(byte*~) main::enableVideoOutput1_$3
(label) main::initNES1
(byte~) main::initNES1_$5
(bool~) main::initNES1_$6
(bool~) main::initNES1_$5
(label) main::initNES1_@1
(label) main::initNES1_@6
(label) main::initNES1_@7
@ -900,7 +898,7 @@ Adding number conversion cast (unumber) 0 in *((const nomodify byte*) MEMORY+(nu
Adding number conversion cast (unumber) $600 in *((const nomodify byte*) MEMORY+(number) $600 + (byte) main::initNES1_i#2) ← ((unumber)) (number) 0
Adding number conversion cast (unumber) 0 in *((const nomodify byte*) MEMORY+(number) $700 + (byte) main::initNES1_i#2) ← (number) 0
Adding number conversion cast (unumber) $700 in *((const nomodify byte*) MEMORY+(number) $700 + (byte) main::initNES1_i#2) ← ((unumber)) (number) 0
Adding number conversion cast (unumber) 0 in (bool~) main::initNES1_$6 ← (number) 0 != (byte~) main::initNES1_$5
Adding number conversion cast (unumber) 0 in (bool~) main::initNES1_$5 ← (number) 0 != (byte) main::initNES1_i#1
Adding number conversion cast (unumber) $80 in (number~) main::initNES1_waitForVBlank2_$0 ← *((byte*~) main::initNES1_waitForVBlank2_$2) & (number) $80
Adding number conversion cast (unumber) main::initNES1_waitForVBlank2_$0 in (number~) main::initNES1_waitForVBlank2_$0 ← *((byte*~) main::initNES1_waitForVBlank2_$2) & (unumber)(number) $80
Adding number conversion cast (unumber) 0 in (bool~) main::initNES1_waitForVBlank2_$4 ← (number) 0 != (unumber~) main::initNES1_waitForVBlank2_$0
@ -1126,8 +1124,8 @@ Inferred type updated to byte in (unumber~) vblank::$22 ← (byte) vblank::x_idx
Inferred type updated to byte in (unumber~) vblank::$23 ← (byte~) vblank::$22
Inferred type updated to byte for (unumber~) vblank::$26
Inversing boolean not [92] (bool~) main::initNES1_waitForVBlank1_$1 ← (byte) 0 == (byte~) main::initNES1_waitForVBlank1_$0 from [91] (bool~) main::initNES1_waitForVBlank1_$4 ← (byte) 0 != (byte~) main::initNES1_waitForVBlank1_$0
Inversing boolean not [112] (bool~) main::initNES1_waitForVBlank2_$1 ← (byte) 0 == (byte~) main::initNES1_waitForVBlank2_$0 from [111] (bool~) main::initNES1_waitForVBlank2_$4 ← (byte) 0 != (byte~) main::initNES1_waitForVBlank2_$0
Inversing boolean not [169] (bool~) vblank::$2 ← (byte) 0 == (byte) vblank::joy#0 from [168] (bool~) vblank::$33 ← (byte) 0 != (byte) vblank::joy#0
Inversing boolean not [111] (bool~) main::initNES1_waitForVBlank2_$1 ← (byte) 0 == (byte~) main::initNES1_waitForVBlank2_$0 from [110] (bool~) main::initNES1_waitForVBlank2_$4 ← (byte) 0 != (byte~) main::initNES1_waitForVBlank2_$0
Inversing boolean not [168] (bool~) vblank::$2 ← (byte) 0 == (byte) vblank::joy#0 from [167] (bool~) vblank::$33 ← (byte) 0 != (byte) vblank::joy#0
Successful SSA optimization Pass2UnaryNotSimplification
Alias candidate removed (volatile)x_sin_idx = vblank::$7
Alias candidate removed (volatile)x_sin_idx_2 = vblank::$12
@ -1147,7 +1145,6 @@ Alias ppuDataTransfer::cpuSrc#2 = ppuDataTransfer::cpuSrc#4 ppuDataTransfer::cpu
Alias ppuDataTransfer::i#2 = ppuDataTransfer::i#5 ppuDataTransfer::i#4 ppuDataTransfer::i#3
Alias ppuDataTransfer::size#1 = ppuDataTransfer::size#7 ppuDataTransfer::size#5 ppuDataTransfer::size#3
Alias ppuDataTransfer::ppuDataPut1_val#0 = ppuDataTransfer::ppuDataPut1_val#1
Alias main::initNES1_i#1 = main::initNES1_$5
Alias ppuDataTransfer::size#0 = main::$1
Alias main::s#2 = main::s#3
Alias vblank::ppuSpriteBufferDmaTransfer1_spriteBuffer#0 = vblank::ppuSpriteBufferDmaTransfer1_spriteBuffer#1
@ -1191,13 +1188,13 @@ Identical Phi Values (nomodify void*) ppuDataTransfer::cpuData#1 (nomodify void*
Identical Phi Values (word) ppuDataTransfer::size#2 (word) ppuDataTransfer::size#0
Identical Phi Values (word) ppuDataTransfer::size#1 (word) ppuDataTransfer::size#2
Successful SSA optimization Pass2IdenticalPhiElimination
Identified duplicate assignment right side [203] (byte~) vblank::$28 ← (byte) vblank::s#2 * (const byte) SIZEOF_STRUCT_SPRITEDATA
Identified duplicate assignment right side [202] (byte~) vblank::$28 ← (byte) vblank::s#2 * (const byte) SIZEOF_STRUCT_SPRITEDATA
Successful SSA optimization Pass2DuplicateRValueIdentification
Simple Condition (bool~) readJoy1::$0 [10] if((byte) readJoy1::i#2<(byte) 8) goto readJoy1::@2
Simple Condition (bool~) ppuDataFill::$1 [30] if((word) ppuDataFill::i#2<(word) ppuDataFill::size#3) goto ppuDataFill::@2
Simple Condition (bool~) ppuDataTransfer::$1 [49] if((word) ppuDataTransfer::i#2<(word) ppuDataTransfer::size#0) goto ppuDataTransfer::@2
Simple Condition (bool~) main::initNES1_waitForVBlank1_$1 [73] if((byte) 0==(byte~) main::initNES1_waitForVBlank1_$0) goto main::initNES1_waitForVBlank1_@1
Simple Condition (bool~) main::initNES1_$6 [86] if((byte) 0!=(byte) main::initNES1_i#1) goto main::initNES1_@1
Simple Condition (bool~) main::initNES1_$5 [86] if((byte) 0!=(byte) main::initNES1_i#1) goto main::initNES1_@1
Simple Condition (bool~) main::initNES1_waitForVBlank2_$1 [91] if((byte) 0==(byte~) main::initNES1_waitForVBlank2_$0) goto main::initNES1_waitForVBlank2_@1
Simple Condition (bool~) main::$6 [108] if((byte) main::s#2<(byte) $40) goto main::@2
Simple Condition (bool~) main::$8 [122] if((number) 0!=(number) 1) goto main::@3