1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-06-03 07:29:37 +00:00
kickc/src/test/ref/multiplexer-irq/simple-multiplexer-irq.sym
2024-01-02 19:21:16 +01:00

143 lines
5.8 KiB
Plaintext

__constant char * const BORDER_COLOR = (char *) 53280
__constant struct MOS6526_CIA * const CIA1 = (struct MOS6526_CIA *) 56320
__constant const char CIA_INTERRUPT_CLEAR_ALL = $7f
__constant char * const D011 = (char *) 53265
__constant const char GREEN = 5
__constant char * const IRQ_ENABLE = (char *) 53274
__constant const char IRQ_RASTER = 1
__constant char * const IRQ_STATUS = (char *) 53273
__constant void (** const KERNEL_IRQ)() = (void (**)()) 788
__constant char OFFSET_STRUCT_MOS6526_CIA_INTERRUPT = $d
__constant const char PLEX_COUNT = $20
__constant char PLEX_FREE_YPOS[8] = { fill( 8, 0) }
__constant char PLEX_PTR[PLEX_COUNT] = { fill( PLEX_COUNT, 0) }
__loadstore char * volatile PLEX_SCREEN_PTR // zp[2]:13 33.45454545454545
__constant char PLEX_SORTED_IDX[PLEX_COUNT] = { fill( PLEX_COUNT, 0) }
__constant unsigned int PLEX_XPOS[PLEX_COUNT] = { fill( PLEX_COUNT, 0) }
__constant char PLEX_YPOS[PLEX_COUNT] = { fill( PLEX_COUNT, 0) }
__constant char * const RASTER = (char *) 53266
__constant const char RED = 2
__constant char *SCREEN = (char *) 1024
__constant char SPRITE[$40] = kickasm {{ .var pic = LoadPicture("balloon.png", List().add($000000, $ffffff))
.for (var y=0; y<21; y++)
.for (var x=0;x<3; x++)
.byte pic.getSinglecolorByte(x,y)
}}
__constant char * const SPRITES_COLOR = (char *) 53287
__constant char * const SPRITES_ENABLE = (char *) 53269
__constant char * const SPRITES_XMSB = (char *) 53264
__constant char * const SPRITES_XPOS = (char *) 53248
__constant char * const SPRITES_YPOS = (char *) 53249
__constant char * const VICII_CONTROL1 = (char *) 53265
__constant const char VICII_DEN = $10
__constant const char VICII_RSEL = 8
__constant const char WHITE = 1
__constant char YSIN[$100] = kickasm {{ .fill $100, round(139.5+89.5*sin(toRadians(360*i/256)))
}}
void __start()
__loadstore volatile bool framedone // zp[1]:7 1222.8888888888887
void init()
char init::$3 // reg byte a 2002.0
char init::ss
char init::ss#1 // reg byte x 1501.5
char init::ss#2 // reg byte x 1501.5
char init::sx
char init::sx#1 // reg byte x 1501.5
char init::sx#2 // reg byte x 800.8
unsigned int init::xp
unsigned int init::xp#1 // xp zp[2]:5 667.3333333333334
unsigned int init::xp#2 // xp zp[2]:5 750.75
void loop()
char loop::sin_idx
char loop::sin_idx#1 // sin_idx zp[1]:8 400.4
char loop::sin_idx#6 // sin_idx zp[1]:8 333.6666666666667
char loop::sy
char loop::sy#1 // reg byte y 15001.5
char loop::sy#2 // reg byte y 10001.0
char loop::y_idx
char loop::y_idx#1 // reg byte x 6667.333333333333
char loop::y_idx#2 // reg byte x 15502.0
char loop::y_idx#3 // reg byte x 2002.0
void main()
void plexInit(char *screen)
char plexInit::i
char plexInit::i#1 // reg byte x 15001.5
char plexInit::i#2 // reg byte x 20002.0
char *plexInit::plexSetScreen1_screen
char *plexInit::screen
void plexShowSprite()
char plexShowSprite::$10 // reg byte x 101.0
char plexShowSprite::$2 // reg byte a 202.0
char plexShowSprite::$4 // reg byte x 202.0
char plexShowSprite::$5 // reg byte a 202.0
char plexShowSprite::$8 // reg byte a 202.0
char plexShowSprite::plexFreeAdd1_$0 // reg byte a 202.0
char plexShowSprite::plexFreeAdd1_$1 // reg byte x 202.0
char plexShowSprite::plexFreeAdd1_$2 // reg byte a 202.0
char plexShowSprite::plexFreeAdd1_ypos
char plexShowSprite::plexFreeAdd1_ypos#0 // reg byte a 151.5
char plexShowSprite::plex_sprite_idx2
char plexShowSprite::plex_sprite_idx2#0 // plex_sprite_idx2 zp[1]:15 27.545454545454547
char plexShowSprite::xpos_idx
char plexShowSprite::xpos_idx#0 // reg byte a 202.0
char plexShowSprite::ypos
void plexSort()
char plexSort::m
char plexSort::m#1 // m zp[1]:2 1500001.5
char plexSort::m#2 // m zp[1]:2 416667.0833333334
char plexSort::nxt_idx
char plexSort::nxt_idx#0 // nxt_idx zp[1]:4 300000.30000000005
char plexSort::nxt_y
char plexSort::nxt_y#0 // nxt_y zp[1]:3 1500000.375
char plexSort::plexFreePrepare1_s
char plexSort::plexFreePrepare1_s#1 // reg byte x 1500001.5
char plexSort::plexFreePrepare1_s#2 // reg byte x 1500001.5
char plexSort::s
char plexSort::s#1 // reg byte x 1.3666668333333332E7
char plexSort::s#2 // reg byte x 2000002.0
char plexSort::s#3 // reg byte x 2.05000025E7
char plexSort::s#6 // reg byte x 2000002.0
__loadstore volatile char plex_free_next // zp[1]:10 332.80645161290323
__interrupt(rom_min_c64) void plex_irq()
char plex_irq::$4 // zp[1]:16 11.0
char plex_irq::plexFreeNextYpos1_return
char plex_irq::plexFreeNextYpos1_return#0 // reg byte x 4.0
char plex_irq::rasterY
__loadstore volatile char plex_show_idx // zp[1]:12 309.44117647058823
__loadstore volatile char plex_sprite_idx // zp[1]:9 335.7096774193549
__loadstore volatile char plex_sprite_msb // zp[1]:11 321.4848484848485
reg byte x [ init::sx#2 init::sx#1 ]
zp[2]:5 [ init::xp#2 init::xp#1 ]
reg byte x [ init::ss#2 init::ss#1 ]
zp[1]:8 [ loop::sin_idx#6 loop::sin_idx#1 ]
reg byte x [ loop::y_idx#2 loop::y_idx#3 loop::y_idx#1 ]
reg byte y [ loop::sy#2 loop::sy#1 ]
reg byte x [ plexInit::i#2 plexInit::i#1 ]
zp[1]:2 [ plexSort::m#2 plexSort::m#1 ]
reg byte x [ plexSort::s#3 plexSort::s#1 plexSort::s#6 ]
reg byte x [ plexSort::plexFreePrepare1_s#2 plexSort::plexFreePrepare1_s#1 ]
zp[2]:13 [ PLEX_SCREEN_PTR ]
zp[1]:12 [ plex_show_idx ]
zp[1]:9 [ plex_sprite_idx ]
zp[1]:11 [ plex_sprite_msb ]
zp[1]:10 [ plex_free_next ]
zp[1]:7 [ framedone ]
reg byte x [ plex_irq::plexFreeNextYpos1_return#0 ]
zp[1]:16 [ plex_irq::$4 ]
zp[1]:15 [ plexShowSprite::plex_sprite_idx2#0 ]
reg byte a [ plexShowSprite::plexFreeAdd1_ypos#0 ]
reg byte a [ plexShowSprite::plexFreeAdd1_$0 ]
reg byte x [ plexShowSprite::plexFreeAdd1_$1 ]
reg byte a [ plexShowSprite::plexFreeAdd1_$2 ]
reg byte a [ plexShowSprite::xpos_idx#0 ]
reg byte x [ plexShowSprite::$10 ]
reg byte a [ plexShowSprite::$2 ]
reg byte a [ plexShowSprite::$8 ]
reg byte x [ plexShowSprite::$4 ]
reg byte a [ plexShowSprite::$5 ]
reg byte a [ init::$3 ]
zp[1]:4 [ plexSort::nxt_idx#0 ]
zp[1]:3 [ plexSort::nxt_y#0 ]
reg byte x [ plexSort::s#2 ]