C64: CP/M & SID Playing

Hi, today I'm pressenting a new video about the ARM powered C64 in Dual Core mode (6510 & Z80) playing a SID file. That is, while Z80 executes CP/M, 6510 executes irq-based SID player.
Border color denotes:
Yellow: irq
Light blue: 6510 instruction
Red: Z80 instruction

Great sid tune comes from Uctumi of PVM, sorry for dirty irq, nasty timmings and Lo-fi.



Tools used:
sidreloc to relocate sid player&data from $1000 to $6000 avoiding CP/M overlappings
PSID64 for prg generation (-n: no interface)
bin2hex for .h header file generation to include from C code

Also, some 6502/10 asm code for SID player initializing and irq vector redirecting:

SRC Code:
* = $5FE7
INIT     LDA #$00
         JSR $6000
         RTS
REDIR    SEI
         LDA #<VECTOR
         LDX #>VECTOR
         STA $0314
         STX $0315
         CLI
         RTS
VECTOR   JSR $6003
         JMP $EA31


OBJ Code:
A9 00 20 00 60 60 78 A9
FA A2 5F 8D 14 03 8E 15
03 58 60 20 03 60 4C 31
EA

Start the thing with:

SYS 24551      $5FE7 (INIT)
SYS 24557      $5FE7 (REDIR)
SYS 2176       CP/M Start