(label) @1
(label) @2
(label) @3
(label) @4
(label) @5
(label) @begin
(label) @end
(byte) BLACK
(const byte) BLACK#0 BLACK = (byte) 0
(byte*) CIA1_INTERRUPT
(const byte*) CIA1_INTERRUPT#0 CIA1_INTERRUPT = (byte*) 56333
(byte*) CIA2_PORT_A
(const byte*) CIA2_PORT_A#0 CIA2_PORT_A = (byte*) 56576
(byte*) CIA2_PORT_A_DDR
(const byte*) CIA2_PORT_A_DDR#0 CIA2_PORT_A_DDR = (byte*) 56578
(byte) CIA_INTERRUPT_CLEAR
(const byte) CIA_INTERRUPT_CLEAR#0 CIA_INTERRUPT_CLEAR = (byte) $7f
(byte*) D018
(const byte*) D018#0 D018 = (byte*) 53272
(void()**) HARDWARE_IRQ
(const void()**) HARDWARE_IRQ#0 HARDWARE_IRQ = (void()**) 65534
(byte*) IRQ_ENABLE
(const byte*) IRQ_ENABLE#0 IRQ_ENABLE = (byte*) 53274
(byte) IRQ_RASTER
(const byte) IRQ_RASTER#0 IRQ_RASTER = (byte) 1
(byte) IRQ_RASTER_FIRST
(const byte) IRQ_RASTER_FIRST#0 IRQ_RASTER_FIRST = (const byte) SPRITES_FIRST_YPOS#0+(byte) $13
(byte*) IRQ_STATUS
(const byte*) IRQ_STATUS#0 IRQ_STATUS = (byte*) 53273
(byte*) PLAYFIELD_CHARSET
(const byte*) PLAYFIELD_CHARSET#0 PLAYFIELD_CHARSET = (byte*) 10240
(byte*) PLAYFIELD_SCREEN_1
(const byte*) PLAYFIELD_SCREEN_1#0 PLAYFIELD_SCREEN_1 = (byte*) 1024
(byte*) PLAYFIELD_SCREEN_2
(const byte*) PLAYFIELD_SCREEN_2#0 PLAYFIELD_SCREEN_2 = (byte*) 11264
(byte*) PLAYFIELD_SPRITES
(const byte*) PLAYFIELD_SPRITES#0 PLAYFIELD_SPRITES = (byte*) 8192
(byte*) PLAYFIELD_SPRITE_PTRS_1
(const byte*) PLAYFIELD_SPRITE_PTRS_1#0 PLAYFIELD_SPRITE_PTRS_1 = (const byte*) PLAYFIELD_SCREEN_1#0+(const word) SPRITE_PTRS#0
(byte*) PLAYFIELD_SPRITE_PTRS_2
(const byte*) PLAYFIELD_SPRITE_PTRS_2#0 PLAYFIELD_SPRITE_PTRS_2 = (const byte*) PLAYFIELD_SCREEN_2#0+(const word) SPRITE_PTRS#0
(byte*) PROCPORT
(const byte*) PROCPORT#0 PROCPORT = (byte*) 1
(byte*) PROCPORT_DDR
(const byte*) PROCPORT_DDR#0 PROCPORT_DDR = (byte*) 0
(byte) PROCPORT_DDR_MEMORY_MASK
(const byte) PROCPORT_DDR_MEMORY_MASK#0 PROCPORT_DDR_MEMORY_MASK = (byte) 7
(byte) PROCPORT_RAM_IO
(const byte) PROCPORT_RAM_IO#0 PROCPORT_RAM_IO = (byte) $35
(byte*) RASTER
(const byte*) RASTER#0 RASTER = (byte*) 53266
(byte[$100]) SIN
(const byte[$100]) SIN#0 SIN = kickasm {{ .var AMPL = 200-21
    .for(var i=0; i<256; i++) {
  	  .byte 51+AMPL/2+sin(toRadians([i*360]/256))*AMPL/2
    }
 }}
(byte*) SIN_SPRITE
(const byte*) SIN_SPRITE#0 SIN_SPRITE = (byte*) 10240
(byte*) SPRITES_COLS
(const byte*) SPRITES_COLS#0 SPRITES_COLS = (byte*) 53287
(byte*) SPRITES_ENABLE
(const byte*) SPRITES_ENABLE#0 SPRITES_ENABLE = (byte*) 53269
(byte*) SPRITES_EXPAND_X
(const byte*) SPRITES_EXPAND_X#0 SPRITES_EXPAND_X = (byte*) 53277
(byte*) SPRITES_EXPAND_Y
(const byte*) SPRITES_EXPAND_Y#0 SPRITES_EXPAND_Y = (byte*) 53271
(byte) SPRITES_FIRST_YPOS
(const byte) SPRITES_FIRST_YPOS#0 SPRITES_FIRST_YPOS = (byte) $31
(byte*) SPRITES_MC
(const byte*) SPRITES_MC#0 SPRITES_MC = (byte*) 53276
(byte*) SPRITES_XPOS
(const byte*) SPRITES_XPOS#0 SPRITES_XPOS = (byte*) 53248
(byte*) SPRITES_YPOS
(const byte*) SPRITES_YPOS#0 SPRITES_YPOS = (byte*) 53249
(word) SPRITE_PTRS
(const word) SPRITE_PTRS#0 SPRITE_PTRS = (word) $3f8
(byte*) VIC_CONTROL
(const byte*) VIC_CONTROL#0 VIC_CONTROL = (byte*) 53265
(byte) irq_cnt
(byte) irq_cnt#0 irq_cnt zp ZP_BYTE:12 0.17391304347826086
(byte) irq_cnt#1 irq_cnt zp ZP_BYTE:12 1.0
(byte) irq_cnt#2 irq_cnt zp ZP_BYTE:12 1.0
(byte) irq_cnt#3 irq_cnt zp ZP_BYTE:12 60.0
(byte) irq_raster_next
(byte) irq_raster_next#0 irq_raster_next zp ZP_BYTE:9 0.3076923076923077
(byte) irq_raster_next#1 irq_raster_next zp ZP_BYTE:9 1.0
(byte) irq_raster_next#2 irq_raster_next zp ZP_BYTE:9 1.3333333333333333
(byte) irq_raster_next#3 irq_raster_next zp ZP_BYTE:9 1.3333333333333333
(byte) irq_raster_next#4 irq_raster_next zp ZP_BYTE:9 8.0
(byte) irq_sprite_ptr
(byte) irq_sprite_ptr#0 irq_sprite_ptr zp ZP_BYTE:11 0.25806451612903225
(byte) irq_sprite_ptr#1 irq_sprite_ptr zp ZP_BYTE:11 4.0
(byte) irq_sprite_ptr#11 irq_sprite_ptr zp ZP_BYTE:11 60.0
(byte) irq_sprite_ptr#2 irq_sprite_ptr zp ZP_BYTE:11 4.0
(byte) irq_sprite_ptr#3 irq_sprite_ptr zp ZP_BYTE:11 4.0
(byte) irq_sprite_ypos
(byte) irq_sprite_ypos#0 irq_sprite_ypos zp ZP_BYTE:10 0.27586206896551724
(byte) irq_sprite_ypos#1 irq_sprite_ypos zp ZP_BYTE:10 1.3333333333333333
(byte) irq_sprite_ypos#11 irq_sprite_ypos zp ZP_BYTE:10 60.0
(byte) irq_sprite_ypos#2 irq_sprite_ypos zp ZP_BYTE:10 2.0
(byte) irq_sprite_ypos#3 irq_sprite_ypos zp ZP_BYTE:10 2.0
(void()) loop()
(byte~) loop::$1 reg byte a 202.0
(label) loop::@1
(label) loop::@2
(label) loop::@3
(label) loop::@4
(label) loop::@5
(byte) loop::idx
(byte) loop::idx#0 reg byte x 22.0
(byte) loop::idx#1 reg byte x 67.33333333333333
(byte) loop::idx#2 reg byte x 104.66666666666666
(byte) loop::s
(byte) loop::s#1 s zp ZP_BYTE:5 151.5
(byte) loop::s#2 s zp ZP_BYTE:5 75.75
(void()) main()
(byte~) main::$6 reg byte a 22.0
(label) main::@1
(label) main::@2
(label) main::@3
(label) main::@4
(label) main::@5
(label) main::@6
(label) main::@return
(byte) main::s
(byte) main::s#1 reg byte y 16.5
(byte) main::s#2 reg byte y 6.6
(byte) main::s2
(byte) main::s2#0 reg byte x 16.5
(label) main::toD0181
(word~) main::toD0181_$0
(number~) main::toD0181_$1
(number~) main::toD0181_$2
(number~) main::toD0181_$3
(word~) main::toD0181_$4
(byte~) main::toD0181_$5
(number~) main::toD0181_$6
(number~) main::toD0181_$7
(number~) main::toD0181_$8
(byte*) main::toD0181_gfx
(byte) main::toD0181_return
(const byte) main::toD0181_return#0 toD0181_return = >(word)(const byte*) PLAYFIELD_SCREEN_1#0&(word) $3fff*(byte) 4|>(word)(const byte*) PLAYFIELD_CHARSET#0/(byte) 4&(byte) $f
(byte*) main::toD0181_screen
(label) main::toSpritePtr2
(word~) main::toSpritePtr2_$0
(number~) main::toSpritePtr2_$1
(byte~) main::toSpritePtr2_$2
(byte) main::toSpritePtr2_return
(const byte) main::toSpritePtr2_return#0 toSpritePtr2_return = (byte)(word)(const byte*) SIN_SPRITE#0/(byte) $40
(byte*) main::toSpritePtr2_sprite
(label) main::vicSelectGfxBank1
(byte~) main::vicSelectGfxBank1_$0
(label) main::vicSelectGfxBank1_@1
(byte*) main::vicSelectGfxBank1_gfx
(label) main::vicSelectGfxBank1_toDd001
(word~) main::vicSelectGfxBank1_toDd001_$0
(byte~) main::vicSelectGfxBank1_toDd001_$1
(number~) main::vicSelectGfxBank1_toDd001_$2
(number~) main::vicSelectGfxBank1_toDd001_$3
(byte*) main::vicSelectGfxBank1_toDd001_gfx
(byte) main::vicSelectGfxBank1_toDd001_return
(const byte) main::vicSelectGfxBank1_toDd001_return#0 vicSelectGfxBank1_toDd001_return = (byte) 3
(byte) main::xpos
(byte) main::xpos#1 xpos zp ZP_BYTE:2 5.5
(byte) main::xpos#2 xpos zp ZP_BYTE:2 4.125
(byte) main::ypos
(byte) main::ypos#1 ypos zp ZP_BYTE:3 7.333333333333333
(byte) main::ypos#2 ypos zp ZP_BYTE:3 3.666666666666667
(byte) render_screen_showing
(byte) render_screen_showing#0 render_screen_showing zp ZP_BYTE:8 0.4
(byte) sin_idx
(byte) sin_idx#10 sin_idx zp ZP_BYTE:4 3.666666666666667
(byte) sin_idx#3 sin_idx zp ZP_BYTE:4 22.0
(void()) sprites_init()
(label) sprites_init::@1
(label) sprites_init::@return
(byte) sprites_init::s
(byte) sprites_init::s#1 reg byte y 16.5
(byte) sprites_init::s#2 reg byte y 8.8
(byte) sprites_init::s2
(byte) sprites_init::s2#0 reg byte x 22.0
(byte) sprites_init::xpos
(byte) sprites_init::xpos#1 xpos zp ZP_BYTE:6 7.333333333333333
(byte) sprites_init::xpos#2 xpos zp ZP_BYTE:6 8.25
interrupt(HARDWARE_CLOBBER)(void()) sprites_irq()
(byte~) sprites_irq::$0 reg byte x 4.0
(label) sprites_irq::@1
(label) sprites_irq::@10
(label) sprites_irq::@11
(label) sprites_irq::@2
(label) sprites_irq::@3
(label) sprites_irq::@4
(label) sprites_irq::@5
(label) sprites_irq::@6
(label) sprites_irq::@7
(label) sprites_irq::@8
(label) sprites_irq::@9
(label) sprites_irq::@return
(byte) sprites_irq::ptr
(byte) sprites_irq::ptr#0 reg byte x 2.5
(byte) sprites_irq::ptr#1 reg byte x 2.6666666666666665
(byte) sprites_irq::ptr#2 reg byte a 4.0
(byte) sprites_irq::ptr#3 reg byte a 2.6666666666666665
(byte) sprites_irq::ptr#4 reg byte a 4.0
(byte) sprites_irq::raster_sprite_gfx_modify
(byte) sprites_irq::raster_sprite_gfx_modify#0 raster_sprite_gfx_modify zp ZP_BYTE:7 6.5
(label) sprites_irq::toSpritePtr2
(word~) sprites_irq::toSpritePtr2_$0
(number~) sprites_irq::toSpritePtr2_$1
(byte~) sprites_irq::toSpritePtr2_$2
(byte) sprites_irq::toSpritePtr2_return
(const byte) sprites_irq::toSpritePtr2_return#0 toSpritePtr2_return = (byte)(word)(const byte*) PLAYFIELD_SPRITES#0/(byte) $40
(byte*) sprites_irq::toSpritePtr2_sprite
(byte) sprites_irq::ypos
(byte) sprites_irq::ypos#0 reg byte a 2.5
(void()) sprites_irq_init()
(label) sprites_irq_init::@return
(label) toSpritePtr1
(word~) toSpritePtr1_$0
(number~) toSpritePtr1_$1
(byte~) toSpritePtr1_$2
(byte) toSpritePtr1_return
(const byte) toSpritePtr1_return#0 toSpritePtr1_return = (byte)(word)(const byte*) PLAYFIELD_SPRITES#0/(byte) $40
(byte*) toSpritePtr1_sprite

reg byte y [ main::s#2 main::s#1 ]
zp ZP_BYTE:2 [ main::xpos#2 main::xpos#1 ]
zp ZP_BYTE:3 [ main::ypos#2 main::ypos#1 ]
zp ZP_BYTE:4 [ sin_idx#10 sin_idx#3 ]
zp ZP_BYTE:5 [ loop::s#2 loop::s#1 ]
reg byte x [ loop::idx#2 loop::idx#0 loop::idx#1 ]
reg byte y [ sprites_init::s#2 sprites_init::s#1 ]
zp ZP_BYTE:6 [ sprites_init::xpos#2 sprites_init::xpos#1 ]
zp ZP_BYTE:7 [ sprites_irq::raster_sprite_gfx_modify#0 ]
zp ZP_BYTE:8 [ render_screen_showing#0 ]
zp ZP_BYTE:9 [ irq_raster_next#0 irq_raster_next#4 irq_raster_next#1 irq_raster_next#2 irq_raster_next#3 ]
zp ZP_BYTE:10 [ irq_sprite_ypos#0 irq_sprite_ypos#11 irq_sprite_ypos#1 irq_sprite_ypos#2 irq_sprite_ypos#3 ]
zp ZP_BYTE:11 [ irq_sprite_ptr#0 irq_sprite_ptr#11 irq_sprite_ptr#1 irq_sprite_ptr#2 irq_sprite_ptr#3 ]
zp ZP_BYTE:12 [ irq_cnt#0 irq_cnt#3 irq_cnt#1 irq_cnt#2 ]
reg byte x [ main::s2#0 ]
reg byte a [ main::$6 ]
reg byte a [ loop::$1 ]
reg byte x [ sprites_init::s2#0 ]
reg byte a [ sprites_irq::ypos#0 ]
reg byte x [ sprites_irq::$0 ]
reg byte x [ sprites_irq::ptr#0 ]
reg byte a [ sprites_irq::ptr#3 ]
reg byte a [ sprites_irq::ptr#4 ]
reg byte x [ sprites_irq::ptr#1 ]
reg byte a [ sprites_irq::ptr#2 ]
