Cartridge --------- $3fff-$3f00 cartridge bank filled flags (1 byte each) RAM --- $0000-$00c7 zeroed by exception (SWIx, Reset) $0000-$100c zeroed by exception (SWIx, Reset) $00 counter related $01 counter related $02 counter related $05 counter related $07/$08 counter related $09 counter related $0a counter related $0b counter related $0c counter related $0f counter related $07/$08 counter maximum $0d floppy action: $80 delete file $08 format disk $02 load file $01 update old file $00 save new file $0e/$0f s stackpointer hook $10/$11 $03C7 table base (modified by $84AE, $8479) $12 table counter ? $13 table counter end value ? $14/$15 panel interrupt handler $8766 $878f $87fa $8898 $89a0 $89a8 $16 data from panel? $17 number of bytes to transmit via MIDI (?) $18/$19 MIDI send buffer vector $1a/$1b "not yet sent" MIDI buffer vector $1c/$1d MIDI rx-data processing hook $1e channel pressure value $1f MIDI timeout countoff $20 last MIDI nibble received (sysex) $22 last MIDI nibble received (sysex) $24 outstanding MIDI bytes? $25/$26 MIDI tx-data processing hook $27/$28 MIDI vector $29 length of MIDI command to transmit $2c (nibble/2 + $0bc6) $2e last MIDI byte received $30/$31 address start pointer $32 MIDI xmit checksum $33/$34 address end pointer $35 MIDI rxrdy timeout counter $3b display start address $3d $3f characters in display buffer $37 stack base + 2? $43 DUART ACR register value $99 analog voltage compare value $9A analog voltage compare value $9f A/D conversion result $a0 A/D conversion result $a1 A/D conversion result $a2 keycode storage $a3 keycode storage $a5 bit 7: 1=INTERNAL $a6 edit song/step/seq/track variable $a8 MIDI receive mode (cmd/data=$11) items to change (?) $a8 related menu function $a9 parameter to change (0-9) (?) INT (0), CART a (1), CART b (2), SEQ (3) $aa sequencer mode (stop, play, odub, rec) $ac INC/DEC possible flag (?) $af edit/compare flag (?) $b6 track to be modified $b7 osc/dca/lfo/env $b8 button for $b7 $ba $bb $bc RAMCARD not usable: $27 RAMCARD present: $4f RAMCARD usable: $77 $be quantization value $c3 $c4 $c5/$c6 source disk serial number $c7 $c8 parameter max. value (?) $cb single sound pointer? $cc MIDI receive mode (sysex=00, normal) $cd BANK/SEQ page (0-3) $ce track stuff (prevent display position increase if $00) track menu 0: mix 1: MIDI channel 2: status 3: program num $d1 active program (?) $d2 edited program (?) $d3/$d4 $0001 $d5/$d6 ramcard hook $0000: RAMCARD not present $ff02: RAMCARD inserted $d7 A/D conversion $da $dc $df keyboard mode: local / MIDI / both (0-2) (?) $e0 $e1 $e2 $e3 keyboard mode: local / MIDI / both (0-2) (?) $e5 inport change stuff $e6 $00 $e7 $00 $eb $01 $ec $64 $ed $00 $f0 $f2 selected track $f5 $80 $f6 $00 $f7 $0a $f8 $ff $fc $18 $fd edit song/step/track variable $0100 $ff $0111/$0112 $0000 $011b/$011c $0121/$0122 $0000 $0123/$0124 $ffff $0125/$0126 $ffff $01c7-$0203 $ff track status buffer $0203-$0216 $ff buffer (20 bytes) $0217-$0282 buffer (organized as 6*18) $028f/$0290 $0295/$0296 $ffff $02a7/$02a8 $0000 $02c7/$02c8 $02ae $00 $02d1 $00 $02d4-$0391 track table ($1b bytes per track) when track menu $02d4/$02d5 ($02d4-$02e0) address $02d6/$02d7 vector? $02d8 $02e0 count? $02ef track type (?) $02f2 $0b96 CC storage? $0b8b SWI mode $0b8c/$0b8d ROMLOW switch value table $03C7-$03CF (87 sets repeated to $0b47) $03C7 $03C7+k*8 k=1..87 MSB $03C8 $03C7+k*8 k=1..87 LSB $03C9 $03CA $03CB $03CC $03CE $03CF $03D0 $00 $03D1 $00 $03D2 $03D3 $03D4 $03D5 $03D6 jump table $0B4f-$0b5d, 4 sets (0b5e-0b6c, 0b6d-0b7b, 0b7c-0b8b) accessed by $84AE $0B4F $0B50 $0B51 ?? -> a, a AND #$FE -> $0B52 step (?) $0B53 -> D, Y -> $0B54 parameter MSB -> D, Y -> $0B55 parameter LSB Y -> $0B56 -> X, Y -> Y -> $0B57 -> X, Y -> Y -> $0B58 Y -> $0B59 $0B5A $0B5B $0B5C destination address MSB $0B5D destination address LSB $0b4f-$0b8a zeroed by exception $0b8c/$0b8d outport configuration ($640e/0f) $0b96 CC storage $0ba2 MIDI $0ba5 MIDI $0ba6-$0bc5 MIDI transmit buffer $0bc6-$0be5 MIDI receive buffer (?) $0be9/$0bea hook $0cb7-$0d06 display buffer (80 characters) $0d07/$0d08 pointer to program edit buffer ($104a|$0d6a) (?) $0d09/$0d0a split / layer mode $0d0b/$0d0c (stackpointer? table base?) $0d11/$0d12 hook for soft button handlers $0d15/$0d16 hook for indirect jump $0d17/$0d18 text base for printing $0d1b $0d1c track / programs screen buffer $0d30-$0d95 single program buffer $0d96-$0da9 table (20) $0dac hook for indirect jump $0db6-$0dbb A/D conversion results $0dc7/$0dc8 $0dc7 floppy task (?) (offset for vector table) $0dc8 number of item to access (bank#, SEQ#...) $0dc9/$0dca offset for disk position table $0dcb next head $0dcc actual head $0dcd next head $0dce floppy related (end head ?) $0dcf start track $0dd0 start sector $0dd1 end track $0dd2 end sector $0dd3/$0dd4 SEQRAM/DOSRAM transfer address pointer $0dd5/$0dd6 end address for SEQRAM/DOSRAM transfer $0dd7 transfer mode: SEQRAM/DOSRAM or DOSRAM/SEQRAM $0dd8 floppy head (?) $0dd9 floppy sector $0dda/$0ddb pointer to DOSRAM transfer area $0ddc number of tracks or sectors to transfer / retry counter $0ddd $0dde floppy status $0ddf floppy command $0de0/$0de1 stack register storage $0de2 floppy error code $0de5/$0de6 hook for indirect jump $0de7 floppy track $0de8/$0de9 address storage (DOSRAM pointer) $0dea/$0deb system stack pointer storage $0fbd System Stack (init value) $0ffa/$0ffb address pointer for sound bank copy (src) $0ffc/$0ffd address pointer for sound bank copy (dest) $1006/$1007 last counter value $100c-$100f $1010-$1fff sound bank in OSRAM $4738-$4F38 floppy buffer $5000-$5ff0 sound bank storage in DOSRAM (for floppy read/write) $49c2 program file