2017-12-23 01:35:50 +00:00
|
|
|
@begin: scope:[] from
|
2018-11-11 20:51:36 +00:00
|
|
|
[0] phi()
|
2019-03-31 15:10:41 +00:00
|
|
|
to:@1
|
|
|
|
@1: scope:[] from @begin
|
2018-11-11 20:51:36 +00:00
|
|
|
[1] phi()
|
|
|
|
[2] call main
|
2017-12-23 01:35:50 +00:00
|
|
|
to:@end
|
2019-03-31 15:10:41 +00:00
|
|
|
@end: scope:[] from @1
|
2018-11-11 20:51:36 +00:00
|
|
|
[3] phi()
|
2019-09-18 21:00:30 +00:00
|
|
|
|
|
|
|
(void()) main()
|
2019-03-31 15:10:41 +00:00
|
|
|
main: scope:[main] from @1
|
2018-11-11 20:51:36 +00:00
|
|
|
[4] phi()
|
|
|
|
[5] call init
|
2019-03-31 15:10:41 +00:00
|
|
|
to:main::@1
|
|
|
|
main::@1: scope:[main] from main main::@1 main::@2
|
2020-01-01 17:27:53 +00:00
|
|
|
[6] (signed word) yvel_init#13 ← phi( main::@1/(signed word) yvel_init#13 main/(signed word) $64 main::@2/(signed word) yvel_init#11 )
|
2019-07-25 12:35:43 +00:00
|
|
|
[6] (signed word) xvel#12 ← phi( main::@1/(signed word) xvel#12 main/(signed word) $c8 main::@2/(signed word) xvel#10 )
|
2020-01-01 17:27:53 +00:00
|
|
|
[6] (signed word) ypos#13 ← phi( main::@1/(signed word) ypos#13 main/(signed word) 0 main::@2/(signed word) ypos#11 )
|
|
|
|
[6] (signed word) xpos#12 ← phi( main::@1/(signed word) xpos#12 main/(signed word) 0 main::@2/(signed word) xpos#10 )
|
|
|
|
[6] (signed word) yvel#12 ← phi( main::@1/(signed word) yvel#12 main/(signed word) $64 main::@2/(signed word) yvel#10 )
|
2020-03-29 19:00:25 +00:00
|
|
|
[7] if(*((const nomodify byte*) RASTER)!=(byte) $ff) goto main::@1
|
2017-12-23 01:35:50 +00:00
|
|
|
to:main::@2
|
2019-03-31 15:10:41 +00:00
|
|
|
main::@2: scope:[main] from main::@1
|
2018-11-11 20:51:36 +00:00
|
|
|
[8] phi()
|
|
|
|
[9] call anim
|
2019-03-31 15:10:41 +00:00
|
|
|
to:main::@1
|
2019-09-18 21:00:30 +00:00
|
|
|
|
|
|
|
(void()) anim()
|
2019-03-31 15:10:41 +00:00
|
|
|
anim: scope:[anim] from main::@2
|
2019-05-30 20:29:04 +00:00
|
|
|
[10] if((signed word) ypos#13>=(signed byte) 0) goto anim::@1
|
2019-03-29 23:15:53 +00:00
|
|
|
to:anim::@2
|
|
|
|
anim::@2: scope:[anim] from anim
|
2018-11-11 20:51:36 +00:00
|
|
|
[11] (signed word) xvel#14 ← - (signed word) xvel#12
|
2019-05-30 20:29:04 +00:00
|
|
|
[12] (signed word) yvel_init#3 ← (signed word) yvel_init#13 - (signed byte) $a
|
|
|
|
[13] if((signed word) yvel_init#3>=(signed word) -$c8) goto anim::@4
|
|
|
|
to:anim::@3
|
|
|
|
anim::@4: scope:[anim] from anim::@2
|
|
|
|
[14] phi()
|
2019-03-31 15:10:41 +00:00
|
|
|
to:anim::@3
|
|
|
|
anim::@3: scope:[anim] from anim::@2 anim::@4
|
2019-05-30 20:29:04 +00:00
|
|
|
[15] (signed word) yvel#4 ← phi( anim::@4/(signed word) yvel_init#3 anim::@2/(signed word) $c8 )
|
2019-11-17 18:58:06 +00:00
|
|
|
[16] (signed word) yvel#21 ← (signed word) yvel#4
|
2017-12-23 01:35:50 +00:00
|
|
|
to:anim::@1
|
2019-03-31 15:10:41 +00:00
|
|
|
anim::@1: scope:[anim] from anim anim::@3
|
2019-05-30 20:29:04 +00:00
|
|
|
[17] (signed word) yvel_init#11 ← phi( anim/(signed word) yvel_init#13 anim::@3/(signed word) yvel#4 )
|
|
|
|
[17] (signed word) ypos#10 ← phi( anim/(signed word) ypos#13 anim::@3/(signed byte) 0 )
|
|
|
|
[17] (signed word) xvel#10 ← phi( anim/(signed word) xvel#12 anim::@3/(signed word) xvel#14 )
|
|
|
|
[17] (signed word) xpos#9 ← phi( anim/(signed word) xpos#12 anim::@3/(signed byte) 0 )
|
2019-11-17 18:58:06 +00:00
|
|
|
[17] (signed word) yvel#9 ← phi( anim/(signed word) yvel#12 anim::@3/(signed word) yvel#21 )
|
2020-03-29 19:00:25 +00:00
|
|
|
[18] (signed word) yvel#10 ← (signed word) yvel#9 + (const nomodify signed word) g
|
2019-05-30 20:29:04 +00:00
|
|
|
[19] (signed word) xpos#10 ← (signed word) xpos#9 + (signed word) xvel#10
|
|
|
|
[20] (signed word) ypos#11 ← (signed word) ypos#10 + (signed word) yvel#10
|
|
|
|
[21] (signed word~) anim::$5 ← (signed word) xpos#10 >> (signed byte) 7
|
|
|
|
[22] (signed word) anim::sprite_x#0 ← (signed word~) anim::$5 + (signed word) $a0
|
|
|
|
[23] (signed word~) anim::$7 ← (signed word) ypos#11 >> (signed byte) 5
|
|
|
|
[24] (signed word) anim::sprite_y#0 ← (signed word) $e6 - (signed word~) anim::$7
|
2020-04-19 09:05:54 +00:00
|
|
|
[25] *((const nomodify byte*) SPRITES_XPOS) ← (byte)(signed word) anim::sprite_x#0
|
|
|
|
[26] *((const nomodify byte*) SPRITES_YPOS) ← (byte)(signed word) anim::sprite_y#0
|
|
|
|
[27] (byte~) anim::$9 ← > (signed word) anim::sprite_x#0
|
|
|
|
[28] *((const nomodify byte*) SPRITES_XMSB) ← (byte~) anim::$9
|
2017-12-23 01:35:50 +00:00
|
|
|
to:anim::@return
|
|
|
|
anim::@return: scope:[anim] from anim::@1
|
2020-04-19 09:05:54 +00:00
|
|
|
[29] return
|
2017-12-23 01:35:50 +00:00
|
|
|
to:@return
|
2019-09-18 21:00:30 +00:00
|
|
|
|
|
|
|
(void()) init()
|
2017-12-23 01:35:50 +00:00
|
|
|
init: scope:[init] from main
|
2020-04-19 09:05:54 +00:00
|
|
|
[30] *((const nomodify byte*) SPRITES_ENABLE) ← (byte) 1
|
|
|
|
[31] *((const nomodify byte*) SPRITES_EXPAND_X) ← (byte) 0
|
|
|
|
[32] *((const nomodify byte*) SPRITES_EXPAND_Y) ← (byte) 0
|
|
|
|
[33] *((const nomodify byte*) SPRITES_XPOS) ← (byte) $64
|
|
|
|
[34] *((const nomodify byte*) SPRITES_YPOS) ← (byte) $64
|
2020-05-02 09:38:51 +00:00
|
|
|
[35] *((const nomodify byte*) SPRITES_COLOR) ← (const nomodify byte) WHITE
|
2020-04-19 09:05:54 +00:00
|
|
|
[36] *((const nomodify byte*) SPRITES_PTR) ← (byte)(const nomodify byte*) SPRITE/(byte) $40
|
2017-12-23 01:35:50 +00:00
|
|
|
to:init::@1
|
2019-08-25 20:21:56 +00:00
|
|
|
init::@1: scope:[init] from init init::@2
|
2020-04-19 09:05:54 +00:00
|
|
|
[37] (byte*) init::sc#2 ← phi( init/(const nomodify byte*) SCREEN init::@2/(byte*) init::sc#1 )
|
|
|
|
[38] if((byte*) init::sc#2!=(const nomodify byte*) SCREEN+(word) $3e8) goto init::@2
|
2019-08-07 09:27:55 +00:00
|
|
|
to:init::@3
|
|
|
|
init::@3: scope:[init] from init::@1 init::@3
|
2020-04-19 09:05:54 +00:00
|
|
|
[39] (byte) init::i#2 ← phi( init::@1/(byte) 0 init::@3/(byte) init::i#1 )
|
|
|
|
[40] *((const nomodify byte*) SPRITE + (byte) init::i#2) ← (byte) $ff
|
|
|
|
[41] (byte) init::i#1 ← ++ (byte) init::i#2
|
|
|
|
[42] if((byte) init::i#1!=(byte) $40) goto init::@3
|
2017-12-23 01:35:50 +00:00
|
|
|
to:init::@return
|
2019-08-07 09:27:55 +00:00
|
|
|
init::@return: scope:[init] from init::@3
|
2020-04-19 09:05:54 +00:00
|
|
|
[43] return
|
2017-12-23 01:35:50 +00:00
|
|
|
to:@return
|
2019-08-25 20:21:56 +00:00
|
|
|
init::@2: scope:[init] from init::@1
|
2020-04-19 09:05:54 +00:00
|
|
|
[44] *((byte*) init::sc#2) ← (byte) ' '
|
|
|
|
[45] (byte*) init::sc#1 ← ++ (byte*) init::sc#2
|
2019-08-25 20:21:56 +00:00
|
|
|
to:init::@1
|