1 # KallistiOS ##version##
4 # (c)2000-2002 Dan Potter
6 # Startup for ARM program
7 # Adapted from Marcus' AICA example among a few other sources =)
13 # Meaningless but makes the linker shut up
27 # FIQ code adapted from the Marcus AICA example
32 # Grab interrupt type (store as parameter)
45 # Dunno -- ack and skip
49 # Type 5 is bus request. Wait until the INTBusRequest register
50 # goes back from 0x100.
53 # This could probably be done more efficiently, but I'm
54 # no ARM assembly expert...
63 # Type 2 is timer interrupt. Increment timer variable.
64 # Update the next line to AICA_MEM_CLOCK if you change AICA_CMD_IFACE
70 # Request a new timer interrupt. We'll calculate the number
71 # put in here based on the "jps" (jiffies per second).
73 mov r9,#256-(44100/4410)
80 # Return from interrupt
91 # Restore regs and return
104 # 1000 jiffies per second
105 .long 256-(44100/1000)
109 # Setup a basic stack, disable IRQ, enable FIQ
116 # Call the main for the SPU
119 # Loop infinitely if we get here
123 # Handlers we don't bother to catch