------------------------------------------------ --- SQ80 initialization routine ---------------- ------------------------------------------------ 0000: 8D 49 BSR $004B 0002: BD BB 75 JSR $BB75 ; cartridge checking 0005: BD 75 06 JSR $7506 ; panel communication 0008: BD 75 28 JSR $7528 ; panel communication 000B: 86 03 LDA #$03 000D: 91 E3 CMPA $E3 000F: 24 02 BCC $0013 0011: 97 E3 STA $E3 0013: 8D 78 BSR $008D 0015: CE 70 00 LDU #$7000 ; ENSONIQ SQ80 ($5000) 0018: C6 0A LDB #$0A 001A: BD BC 17 JSR $BC17 ; print string 001D: BD 86 D2 JSR $86D2 ; master initialization 0020: C1 C9 CMPB #$C9 ; calib. failed code 0022: 26 03 BNE $0027 0024: BD 70 F7 JSR $70F7 ; keyboard calib. failed 0027: BD BB EA JSR $BBEA ; cartridge bank A access 002A: B6 0B 8B LDA $0B8B ; get reset/SWI-mode 002D: 27 17 BEQ $0046 ; zero if normal reset ------------------------------------------------; soft reset only 002F: CE 70 4D LDU #$704D ; print SOFT RESET ($504d) 0032: BD 99 54 JSR $9954 ; 0035: 86 A0 LDA #$A0 ; cursor to position 20 0037: BD 99 81 JSR $9981 003A: B6 0B 8B LDA $0B8B ; get SWI mode 003D: 7F 0B 8B CLR $0B8B ; clear SWI mode 0040: BD BB AB JSR $BBAB ; print SWI mode 0043: BD BB 46 JSR $BB46 ; keyboard calibration? ------------------------------------------------ 0046: 86 26 LDA #$26 0048: 7E 79 34 JMP $7934 ; BANKS/left group handler ------------------------------------------------ 004B: 8E 02 D4 LDX #$02D4 004E: 9F C1 STX $C1 0050: CC 7E D0 LDD #$7ED0 0053: A7 0C STA +$0C,X 0055: E7 03 STB +$03,X 0057: 0F C7 CLR $C7 0059: 0F B6 CLR $B6 005B: BF 0D 0B STX $0D0B 005E: A6 02 LDA +$02,X 0060: 97 D1 STA $D1 0062: BD BA 7B JSR $BA7B 0065: ED 84 STD ,X 0067: FD 0D 07 STD $0D07 006A: 86 01 LDA #$01 006C: 97 AB STA $AB 006E: 96 F5 LDA $F5 0070: 2B 16 BMI $0088 0072: 8E 02 03 LDX #$0203 0075: 6D 86 TST A,X 0077: 2B 0F BMI $0088 0079: C6 05 LDB #$05 007B: D7 AA STB $AA 007D: D7 CA STB $CA 007F: BD A6 F3 JSR $A6F3 0082: BD AE 68 JSR $AE68 0085: 7E D0 03 JMP $D003 ------------------------------------------------ 0088: 86 01 LDA #$01 008A: 7E B0 AD JMP $B0AD ------------------------------------------------ 008D: 8E 71 39 LDX #$7139 ; softbutton handler to RTS 0090: BF 0D 11 STX $0D11 0093: 86 10 LDA #$10 ; ? 0095: 97 A8 STA $A8 0097: 86 00 LDA #$00 ; prepare display of int prog 0099: 97 A9 STA $A9 009B: BD BB E5 JSR $BBE5 ; clear stored keycodes 009E: BD BC C0 JSR $BCC0 ; set bit7 of $c7 00A1: 7E BC B2 JMP $BCB2 ; $acad = #$0101 ------------------------------------------------ --- hidden function: software revision --------- ------------------------------------------------ 00A4: CC FB FC LDD #$FBFC ; send #$fbfc to panel 00A7: BD 99 7D JSR $997D 00AA: 8D E1 BSR $008D 00AC: CE 70 85 LDU #$7085 ; software rev. info ($5085) 00AF: BD 99 54 JSR $9954 00B2: CC 01 50 LDD #$0150 ; version number: 1.80 00B5: 34 04 PSHS B 00B7: 1F 89 TFR A,B 00B9: CB 30 ADDB #$30 00BB: 86 C3 LDA #$C3 ; cursor to pos. $43 (1) 00BD: BD 99 7D JSR $997D ; print major number 00C0: 86 C5 LDA #$C5 ; cursor to pos. $45 (80) 00C2: BD 99 81 JSR $9981 ; 00C5: A6 E0 LDA ,S+ ; print minor number 00C7: BD BB AB JSR $BBAB ; 00CA: 86 CA LDA #$CA ; cursor to pos. $4a 00CC: BD 99 81 JSR $9981 ; 00CF: 4F CLRA ; print appendix number 00D0: F6 0B 9F LDB $0B9F ; 00D3: 7E C3 CA JMP $C3CA ; ------------------------------------------------ --- keyboard processor error 02 ---------------- ------------------------------------------------ 00D6: 4D TSTA 00D7: 26 06 BNE $00DF 00D9: CE 77 C7 LDU #$77C7 ; KEYB. PROC. ERROR ($67c7) 00DC: 7E 99 5A JMP $995A ------------------------------------------------ --- keyboard processor error 01 ---------------- ------------------------------------------------ 00DF: 8E 00 A2 LDX #$00A2 ; clear misc cariables 00E2: 6F 80 CLR ,X+ ; 00E4: 8C 00 C7 CMPX #$00C7 ; 00E7: 25 F9 BCS $00E2 ; 00E9: BD C4 03 JSR $C403 00EC: CE 77 F5 LDU #$77F5 ; KEYB. PROC. ERROR ($67f5) 00EF: BD 99 5A JSR $995A 00F2: 8D 99 BSR $008D 00F4: 16 FF 54 LBRA $004B ------------------------------------------------ --- keyboard calibration failed ---------------- ------------------------------------------------ 00F7: CE 78 28 LDU #$7828 ; CALIB. FAILED ($6828) 00FA: 8D F3 BSR $00EF 00FC: BD BB 46 JSR $BB46 00FF: 81 2E CMPA #$2E 0101: 26 0A BNE $010D 0103: BD 72 08 JSR $7208 0106: C1 C9 CMPB #$C9 0108: 26 02 BNE $010C 010A: 20 EB BRA $00F7 ------------------------------------------------ 010C: 39 RTS ------------------------------------------------ --- keyboard disabled -------------------------- ------------------------------------------------ 010D: 81 33 CMPA #$33 010F: 26 08 BNE $0119 0111: CE 78 65 LDU #$7865 ; KEYB. IS DISABLED ($6865) 0114: C6 04 LDB #$04 0116: 7E BC 20 JMP $BC20 ------------------------------------------------ 0119: 20 E1 BRA $00FC ------------------------------------------------ --- master routine (1) via $f75e --------------- --- S: $0e90 ROMLOW: $0000 --------------- ------------------------------------------------ 011B: BD 70 00 JSR $7000 ; initialize SQ80 011E: BD 84 29 JSR $8429 ; VDB handler manipulation 0121: EE 22 LDU +$02,Y 0123: EC 24 LDD +$04,Y 0125: AE 26 LDX +$06,Y 0127: BD 84 9F JSR $849F ; VDB handler manipulation 012A: AD C4 JSR ,U 012C: 20 F0 BRA $011E ; loop ------------------------------------------------ 012E: CE F8 DD LDU #$F8DD 0131: A6 C6 LDA A,U 0133: 39 RTS ------------------------------------------------ 0134: BD 71 2E JSR $712E 0137: 26 03 BNE $013C 0139: 39 RTS ------------------------------------------------ 013A: D7 AE STB $AE 013C: 34 02 PSHS A 013E: 81 19 CMPA #$19 0140: 26 04 BNE $0146 0142: 86 09 LDA #$09 0144: 20 06 BRA $014C ------------------------------------------------ 0146: 81 18 CMPA #$18 0148: 26 10 BNE $015A 014A: 86 08 LDA #$08 014C: 0D AE TST $AE 014E: 26 08 BNE $0158 0150: 8E 02 D4 LDX #$02D4 ; track table base 0153: C6 7F LDB #$7F 0155: BD 8B B5 JSR $8BB5 0158: 0F AE CLR $AE 015A: 35 02 PULS A 015C: 0D A2 TST $A2 015E: 2B 03 BMI $0163 0160: 7E 72 29 JMP $7229 ------------------------------------------------ 0163: D6 A3 LDB $A3 0165: C4 7F ANDB #$7F 0167: C1 19 CMPB #$19 0169: 26 18 BNE $0183 016B: 81 18 CMPA #$18 016D: 26 14 BNE $0183 016F: 8E 02 D4 LDX #$02D4 0172: 86 07 LDA #$07 0174: C6 40 LDB #$40 0176: BD 8B B5 JSR $8BB5 0179: BD BB E5 JSR $BBE5 017C: 86 40 LDA #$40 017E: 1F 89 TFR A,B 0180: 7E 74 7D JMP $747D ------------------------------------------------ 0183: 34 04 PSHS B ; store keycode 0185: D6 A9 LDB $A9 0187: C1 01 CMPB #$01 0189: 27 04 BEQ $018F 018B: C1 05 CMPB #$05 018D: 26 16 BNE $01A5 018F: 35 04 PULS B ; restore keycode 0191: C1 22 CMPB #$22 ; BANKS group 0193: 25 0F BCS $01A4 ; 0195: C1 28 CMPB #$28 ; 0197: 22 0B BHI $01A4 ; 0199: 81 2A CMPA #$2A ; SOFTBUTTONs 019B: 25 07 BCS $01A4 ; 019D: 81 33 CMPA #$33 ; 019F: 22 03 BHI $01A4 ; 01A1: 7E A4 67 JMP $A467 ------------------------------------------------ 01A4: 39 RTS ------------------------------------------------ 01A5: C1 03 CMPB #$03 01A7: 26 7E BNE $0227 01A9: 35 04 PULS B 01AB: C1 1F CMPB #$1F ; RECORD pressed? 01AD: 26 64 BNE $0213 ------------------------------------------------ --- RECORD + PLAY ------------------------------ ------------------------------------------------ 01AF: 81 21 CMPA #$21 ; PLAY 01B1: 26 03 BNE $01B6 01B3: 7E AA 03 JMP $AA03 ------------------------------------------------ --- hidden function: RECORD + SOFT0 ------------ --- erase all memory and reinitialize ---------- ------------------------------------------------ 01B6: 81 2A CMPA #$2A 01B8: 26 03 BNE $01BD 01BA: 7E BC E0 JMP $BCE0 ; erase all memory & reinit ------------------------------------------------ --- hidden function: RECORD + SOFT6 ------------ --- warm reset (jams machine in this version) -- ------------------------------------------------ 01BD: 81 2F CMPA #$2F 01BF: 26 01 BNE $01C2 01C1: 3F SWI ; warm reset (jams machine!) ------------------------------------------------ --- hidden function: RECORD + MASTER ----------- --- software revision information -------------- ------------------------------------------------ 01C2: 81 12 CMPA #$12 01C4: 26 03 BNE $01C9 01C6: 7E 70 A4 JMP $70A4 ; software rev. info ------------------------------------------------ --- hidden function: RECORD + MODES ------------ --- creators of the SQ80 ----------------------- ------------------------------------------------ 01C9: 81 10 CMPA #$10 01CB: 26 03 BNE $01D0 01CD: 7E BC 9C JMP $BC9C ; whodoneit ------------------------------------------------ --- hidden function: RECORD + COMPARE ---------- --- analog voltage check ----------------------- ------------------------------------------------ 01D0: 81 17 CMPA #$17 01D2: 26 05 BNE $01D9 01D4: CE BC 29 LDU #$BC29 ; analog voltage check 01D7: 20 13 BRA $01EC ------------------------------------------------ --- hidden function: RECORD + FILTER ----------- --- filter calibration ------------------------- ------------------------------------------------ 01D9: 81 0F CMPA #$0F 01DB: 26 05 BNE $01E2 01DD: CE BC 5D LDU #$BC5D ; filter tuning 01E0: 20 0A BRA $01EC ------------------------------------------------ --- hidden function: RECORD + SPLIT/LAYER ------ --- keyboard recalibration --------------------- ------------------------------------------------ 01E2: 81 11 CMPA #$11 01E4: 26 05 BNE $01EB 01E6: CE 71 FB LDU #$71FB ; keyboard recalibration 01E9: 20 01 BRA $01EC ; ROMLOW $01fb ------------------------------------------------ 01EB: 39 RTS ------------------------------------------------ 01EC: 96 AA LDA $AA 01EE: 81 00 CMPA #$00 ; softbutton 1 01F0: 27 04 BEQ $01F6 01F2: 81 05 CMPA #$05 ; softbutton 6 01F4: 26 02 BNE $01F8 01F6: 6E C4 JMP ,U ------------------------------------------------ 01F8: 7E A9 F6 JMP $A9F6 ; SEQ. MUST BE STOPPED ------------------------------------------------ --- keyboard recalibration --------------------- ------------------------------------------------ 01FB: 8D 0B BSR $0208 ; calibrate 01FD: C1 C9 CMPB #$C9 ; calib. failed error code 01FF: 26 03 BNE $0204 0201: BD 70 F7 JSR $70F7 ; calibration failed msg. 0204: 86 13 LDA #$13 0206: 20 21 BRA $0229 ------------------------------------------------ 0208: C6 06 LDB #$06 020A: CE 77 9F LDU #$779F ; CALIB. KEYBOARD ($679f) 020D: BD BC 20 JSR $BC20 0210: 7E 86 D2 JMP $86D2 ------------------------------------------------ --- move inside main menu ---------------------- ------------------------------------------------ 0213: C1 22 CMPB #$22 ; buttons of BANKS group? 0215: 25 0F BCS $0226 ; 0217: C1 28 CMPB #$28 ; 0219: 22 0B BHI $0226 ; 021B: 81 2A CMPA #$2A ; key is SOFTBUTTON? 021D: 25 07 BCS $0226 ; 021F: 81 33 CMPA #$33 ; 0221: 22 03 BHI $0226 ; 0223: 7E A4 67 JMP $A467 ; program menu handler ------------------------------------------------ 0226: 39 RTS ------------------------------------------------ 0227: 35 84 PULS PC,B ------------------------------------------------ --- jump to button handler --------------------- ------------------------------------------------ 0229: 97 A3 STA $A3 ; keyboard status? 022B: 8E F7 A2 LDX #$F7A2 ; button handler base 022E: D6 A9 LDB $A9 ; button handler offset 0230: 58 LSLB 0231: 6E 95 JMP [B,X] ; to button handler ------------------------------------------------ ------------------------------------------------ --- Button parsing (all keys) ------------------ ------------------------------------------------ ------------------------------------------------ ------------------------------------------------ --- INC / DEC ---------------------------------- ------------------------------------------------ 0233: 81 18 CMPA #$18 ; INC 0235: 27 04 BEQ $023B ; 0237: 81 19 CMPA #$19 ; DEC 0239: 26 03 BNE $023E ; 023B: 7E 74 86 JMP $7486 ; INC/DEC handler ------------------------------------------------ --- BANKS group: left row of buttons ----------- ------------------------------------------------ 023E: 81 26 CMPA #$26 ; BANKS group left row? 0240: 25 07 BCS $0249 ; 0242: 81 29 CMPA #$29 ; 0244: 22 03 BHI $0249 ; 0246: 7E 79 34 JMP $7934 ; SEQ/CARTa/CARTb/INT handler ------------------------------------------------ --- BANKS group: right row of buttons ---------- ------------------------------------------------ 0249: 81 22 CMPA #$22 ; BANKS group right row? 024B: 25 07 BCS $0254 ; 024D: 81 25 CMPA #$25 ; 024F: 22 03 BHI $0254 ; 0251: 7E 78 8E JMP $788E ; BANK/SEQ 1-4 handler ------------------------------------------------ --- SOFTKEYs ----------------------------------- ------------------------------------------------ 0254: 81 2A CMPA #$2A ; key is SOFTKEY? 0256: 25 07 BCS $025F ; 0258: 81 33 CMPA #$33 ; 025A: 22 03 BHI $025F ; 025C: 7E A4 67 JMP $A467 ; SOFTKEY handler ------------------------------------------------ --- SEQUENCER group ---------------------------- ------------------------------------------------ 025F: 81 1A CMPA #$1A ; key inside SEQUENCER group? 0261: 25 0B BCS $026E ; 0263: 81 21 CMPA #$21 ; 0265: 22 07 BHI $026E ; 0267: C6 03 LDB #$03 ; SEQ mode 0269: D7 A9 STB $A9 026B: 7E A7 D5 JMP $A7D5 ; SEQUENCER handler ------------------------------------------------ --- VOICE group -------------------------------- ------------------------------------------------ 026E: 81 01 CMPA #$01 ; key inside VOICE group? 0270: 25 07 BCS $0279 ; 0272: 81 11 CMPA #$11 ; 0274: 22 03 BHI $0279 ; 0276: 7E 78 30 JMP $7830 ; VOICE handler ------------------------------------------------ --- MASTER group ------------------------------- ------------------------------------------------ 0279: 81 12 CMPA #$12 ; key inside MASTER group? 027B: 25 07 BCS $0284 ; 027D: 81 17 CMPA #$17 ; 027F: 22 03 BHI $0284 ; 0281: 7E 79 76 JMP $7976 ; MASTER handler ------------------------------------------------ 0284: 11 3F SWI3 ; button error ------------------------------------------------ ------------------------------------------------ - Button parsing (banks, data, softkeys only) - ------------------------------------------------ ------------------------------------------------ ------------------------------------------------ --- BANKS group, left row ---------------------- ------------------------------------------------ 0286: 81 26 CMPA #$26 ; BANKS left row 0288: 25 0B BCS $0295 ; 028A: 81 28 CMPA #$28 ; 028C: 22 07 BHI $0295 ; 028E: C6 01 LDB #$01 0290: D7 A9 STB $A9 0292: 7E 79 34 JMP $7934 ; handler ------------------------------------------------ --- BANKS group, right row --------------------- ------------------------------------------------ 0295: 81 22 CMPA #$22 ; BANKS right row 0297: 25 0B BCS $02A4 ; 0299: 81 25 CMPA #$25 ; 029B: 22 07 BHI $02A4 ; 029D: C6 01 LDB #$01 029F: D7 A9 STB $A9 02A1: 7E 78 8E JMP $788E ; handler ------------------------------------------------ --- SOFTKEYs ----------------------------------- ------------------------------------------------ 02A4: 81 2A CMPA #$2A ; SOFTKEYs 02A6: 25 07 BCS $02AF 02A8: 81 33 CMPA #$33 02AA: 22 03 BHI $02AF 02AC: 7E A4 67 JMP $A467 ; handler ------------------------------------------------ --- INC/DEC ------------------------------------ ------------------------------------------------ 02AF: 81 18 CMPA #$18 ; INC 02B1: 27 04 BEQ $02B7 02B3: 81 19 CMPA #$19 ; DEC 02B5: 26 03 BNE $02BA 02B7: 7E 74 86 JMP $7486 ; handler ------------------------------------------------ 02BA: 39 RTS ------------------------------------------------ ------------------------------------------------ --- button parsing (sequencer while play) ------ ------------------------------------------------ ------------------------------------------------ ------------------------------------------------ 02BB: D6 AA LDB $AA 02BD: C1 04 CMPB #$04 02BF: 26 16 BNE $02D7 02C1: 81 20 CMPA #$20 ; STOP 02C3: 27 04 BEQ $02C9 02C5: 81 21 CMPA #$21 ; PLAY 02C7: 26 02 BNE $02CB 02C9: 20 08 BRA $02D3 ; STOP handler ------------------------------------------------ 02CB: 81 1C CMPA #$1C ; TRACKS SELECT 02CD: 27 04 BEQ $02D3 02CF: 81 1D CMPA #$1D ; LOCATE 02D1: 26 03 BNE $02D6 02D3: 7E A7 D5 JMP $A7D5 ------------------------------------------------ 02D6: 39 RTS ------------------------------------------------ 02D7: C1 00 CMPB #$00 02D9: 25 07 BCS $02E2 02DB: C1 06 CMPB #$06 02DD: 22 03 BHI $02E2 02DF: 7E 72 33 JMP $7233 ------------------------------------------------ 02E2: C1 08 CMPB #$08 02E4: 26 2F BNE $0315 02E6: 81 2A CMPA #$2A ; key is SOFTKEY? 02E8: 25 07 BCS $02F1 ; 02EA: 81 33 CMPA #$33 ; 02EC: 22 03 BHI $02F1 ; 02EE: 7E A4 67 JMP $A467 ------------------------------------------------ 02F1: 81 18 CMPA #$18 ; INC 02F3: 27 04 BEQ $02F9 02F5: 81 19 CMPA #$19 ; DEC 02F7: 26 03 BNE $02FC 02F9: 7E 74 86 JMP $7486 ------------------------------------------------ 02FC: 81 20 CMPA #$20 ; RECORD 02FE: 27 04 BEQ $0304 0300: 81 1D CMPA #$1D ; LOCATE 0302: 26 03 BNE $0307 0304: 7E A7 D5 JMP $A7D5 ------------------------------------------------ 0307: 81 1E CMPA #$1E ; MIX-MIDI 0309: 26 02 BNE $030D 030B: 20 F7 BRA $0304 ------------------------------------------------ 030D: 81 14 CMPA #$14 ; CONTROL 030F: 26 03 BNE $0314 0311: 7E 79 76 JMP $7976 ------------------------------------------------ 0314: 39 RTS ------------------------------------------------ 0315: C1 07 CMPB #$07 0317: 26 09 BNE $0322 0319: 81 21 CMPA #$21 ; PLAY 031B: 26 03 BNE $0320 031D: 7E A7 D5 JMP $A7D5 ------------------------------------------------ 0320: 20 C4 BRA $02E6 ------------------------------------------------ 0322: C1 0C CMPB #$0C 0324: 27 04 BEQ $032A 0326: C1 15 CMPB #$15 0328: 26 32 BNE $035C 032A: 81 18 CMPA #$18 ; INC 032C: 27 04 BEQ $0332 032E: 81 19 CMPA #$19 ; DEC 0330: 26 03 BNE $0335 0332: 7E 74 86 JMP $7486 ; +/- handler ------------------------------------------------ 0335: 81 2A CMPA #$2A ; SOFTKEYs 0337: 25 07 BCS $0340 0339: 81 33 CMPA #$33 033B: 22 03 BHI $0340 033D: 7E A4 67 JMP $A467 ; SOFTKEY handler ------------------------------------------------ 0340: 81 20 CMPA #$20 ; STOP 0342: 26 02 BNE $0346 0344: 86 1D LDA #$1D 0346: 81 1D CMPA #$1D 0348: 26 11 BNE $035B 034A: D6 CA LDB $CA 034C: C1 07 CMPB #$07 034E: 27 06 BEQ $0356 0350: C1 05 CMPB #$05 0352: 27 02 BEQ $0356 0354: C6 00 LDB #$00 0356: D7 AA STB $AA 0358: 7E A7 D5 JMP $A7D5 ------------------------------------------------ 035B: 39 RTS ------------------------------------------------ 035C: C1 0A CMPB #$0A 035E: 27 04 BEQ $0364 0360: C1 11 CMPB #$11 0362: 26 02 BNE $0366 0364: 20 19 BRA $037F ------------------------------------------------ 0366: C1 0B CMPB #$0B 0368: 27 04 BEQ $036E 036A: C1 0D CMPB #$0D 036C: 26 01 BNE $036F 036E: 39 RTS ------------------------------------------------ 036F: C1 10 CMPB #$10 0371: 26 01 BNE $0374 0373: 39 RTS ------------------------------------------------ ------------------------------------------------ - button parsing (data entry, softkeys only ) - ------------------------------------------------ ------------------------------------------------ ------------------------------------------------ --- INC / DEC ---------------------------------- ------------------------------------------------ 0374: 81 18 CMPA #$18 0376: 27 04 BEQ $037C 0378: 81 19 CMPA #$19 037A: 26 03 BNE $037F 037C: 7E 74 86 JMP $7486 ------------------------------------------------ ------------------------------------------------ --- button parsing (softkeys only) ------------- ------------------------------------------------ ------------------------------------------------ ------------------------------------------------ --- SOFTKEYs------------------------------------ ------------------------------------------------ 037F: 81 2A CMPA #$2A 0381: 25 07 BCS $038A 0383: 81 33 CMPA #$33 0385: 22 03 BHI $038A 0387: 7E A4 67 JMP $A467 ------------------------------------------------ 038A: 39 RTS ------------------------------------------------ 038B: BD 71 2E JSR $712E 038E: 2B 0A BMI $039A 0390: 0D A2 TST $A2 0392: 2B 07 BMI $039B 0394: 91 A3 CMPA $A3 0396: 26 02 BNE $039A 0398: 0F A3 CLR $A3 039A: 39 RTS ------------------------------------------------ 039B: 91 A3 CMPA $A3 039D: 27 01 BEQ $03A0 039F: 39 RTS ------------------------------------------------ 03A0: 81 19 CMPA #$19 03A2: 26 02 BNE $03A6 03A4: 20 49 BRA $03EF ------------------------------------------------ 03A6: D6 A9 LDB $A9 03A8: C1 01 CMPB #$01 03AA: 26 15 BNE $03C1 03AC: 81 22 CMPA #$22 03AE: 25 10 BCS $03C0 03B0: 81 28 CMPA #$28 03B2: 22 0C BHI $03C0 03B4: BD BB E5 JSR $BBE5 03B7: 86 01 LDA #$01 03B9: 97 C7 STA $C7 03BB: 86 16 LDA #$16 03BD: 7E 79 76 JMP $7976 ------------------------------------------------ 03C0: 39 RTS ------------------------------------------------ 03C1: C1 05 CMPB #$05 03C3: 26 15 BNE $03DA 03C5: 81 22 CMPA #$22 03C7: 25 10 BCS $03D9 03C9: 81 28 CMPA #$28 03CB: 22 0C BHI $03D9 03CD: BD BB E5 JSR $BBE5 03D0: 86 01 LDA #$01 03D2: 97 AB STA $AB 03D4: 86 11 LDA #$11 03D6: 7E 78 30 JMP $7830 ------------------------------------------------ 03D9: 39 RTS ------------------------------------------------ 03DA: C1 03 CMPB #$03 03DC: 26 14 BNE $03F2 03DE: 81 22 CMPA #$22 03E0: 25 09 BCS $03EB 03E2: 81 28 CMPA #$28 03E4: 22 05 BHI $03EB 03E6: BD C2 8A JSR $C28A 03E9: 20 04 BRA $03EF ------------------------------------------------ 03EB: 81 1F CMPA #$1F 03ED: 26 03 BNE $03F2 03EF: 7E BB E5 JMP $BBE5 ------------------------------------------------ 03F2: C1 06 CMPB #$06 03F4: 26 0A BNE $0400 03F6: 81 1F CMPA #$1F 03F8: 26 06 BNE $0400 03FA: 86 00 LDA #$00 03FC: 97 A9 STA $A9 03FE: 20 EF BRA $03EF ------------------------------------------------ 0400: 39 RTS ------------------------------------------------ 0401: 8C 02 D4 CMPX #$02D4 0404: 26 11 BNE $0417 0406: 91 BC CMPA $BC 0408: 23 04 BLS $040E 040A: 80 28 SUBA #$28 040C: 20 F8 BRA $0406 ------------------------------------------------ 040E: A7 02 STA +$02,X 0410: BD BA 7B JSR $BA7B 0413: ED 84 STD ,X 0417: BC 0D 0B CMPX $0D0B 041A: 26 07 BNE $0423 041C: 97 D1 STA $D1 041E: 0C AE INC $AE 0420: BD A5 D5 JSR $A5D5 0423: 96 A8 LDA $A8 0425: 81 03 CMPA #$03 0427: 26 05 BNE $042E 0429: CC C2 CA LDD #$C2CA 042C: 20 07 BRA $0435 ------------------------------------------------ 042E: 81 07 CMPA #$07 0430: 26 06 BNE $0438 0432: CC 82 88 LDD #$8288 0435: 7E 80 E9 JMP $80E9 ------------------------------------------------ 0438: 81 00 CMPA #$00 043A: 26 17 BNE $0453 043C: BC 0D 0B CMPX $0D0B 043F: 26 12 BNE $0453 0441: A6 02 LDA +$02,X 0443: 91 BC CMPA $BC 0445: 22 0C BHI $0453 0447: 8D 0B BSR $0454 0449: D7 CB STB $CB 044B: BD BB B4 JSR $BBB4 044E: 97 CF STA $CF 0450: 7E 7A E4 JMP $7AE4 ------------------------------------------------ 0453: 39 RTS ------------------------------------------------ 0454: 5F CLRB 0455: 81 28 CMPA #$28 0457: 25 05 BCS $045E 0459: 80 28 SUBA #$28 045B: 5C INCB 045C: 20 F7 BRA $0455 ------------------------------------------------ 045E: 39 RTS ------------------------------------------------ 045F: 0D A2 TST $A2 0461: 2B 05 BMI $0468 0463: 1F 89 TFR A,B 0465: 7E 74 7D JMP $747D ------------------------------------------------ 0468: D6 A9 LDB $A9 046A: C1 06 CMPB #$06 046C: 26 02 BNE $0470 046E: 20 F3 BRA $0463 ------------------------------------------------ 0470: 39 RTS ------------------------------------------------ 0471: 34 02 PSHS A 0473: BD 71 3A JSR $713A 0476: 35 02 PULS A 0478: 7E 73 90 JMP $7390 ------------------------------------------------ 047B: 39 RTS ------------------------------------------------ 047C: 39 RTS ------------------------------------------------ 047D: 0D AD TST $AD 047F: 27 01 BEQ $0482 0481: 39 RTS ------------------------------------------------ 0482: 5F CLRB 0483: 7E 74 9D JMP $749D ------------------------------------------------ --- INC/DEC possible? -------------------------- ------------------------------------------------ 0486: 0D AC TST $AC 0488: 27 01 BEQ $048B 048A: 39 RTS ------------------------------------------------ --- DEC ---------------------------------------- ------------------------------------------------ 048B: 81 19 CMPA #$19 048D: 26 08 BNE $0497 048F: 8A 80 ORA #$80 ; keycode | bit 7 0491: 97 A2 STA $A2 0493: C6 80 LDB #$80 ; "dec" 0495: 20 06 BRA $049D ------------------------------------------------ --- INC ---------------------------------------- ------------------------------------------------ 0497: 81 18 CMPA #$18 0499: 26 02 BNE $049D 049B: C6 01 LDB #$01 ; "inc" 049D: 34 06 PSHS B,A ; 049F: D6 A9 LDB $A9 ; parameter? 04A1: 8E F7 B6 LDX #$F7B6 ; get parameter handler 04A4: 58 LSLB 04A5: 6E 95 JMP [B,X] ------------------------------------------------ 04A7: 96 B4 LDA $B4 04A9: 81 8F CMPA #$8F 04AB: 27 04 BEQ $04B1 04AD: 81 90 CMPA #$90 04AF: 26 0C BNE $04BD 04B1: D6 AA LDB $AA 04B3: C1 00 CMPB #$00 04B5: 27 06 BEQ $04BD 04B7: C1 05 CMPB #$05 04B9: 27 02 BEQ $04BD 04BB: 35 86 PULS PC,B,A ------------------------------------------------ 04BD: 81 84 CMPA #$84 04BF: 24 1C BCC $04DD 04C1: CE 0D 6A LDU #$0D6A 04C4: BE 0D 0B LDX $0D0B 04C7: 11 A3 84 CMPU ,X 04CA: 27 11 BEQ $04DD 04CC: FF 0D 07 STU $0D07 04CF: EF 84 STU ,X 04D1: BD BB 5F JSR $BB5F 04D4: 96 A8 LDA $A8 04D6: 81 01 CMPA #$01 04D8: 26 03 BNE $04DD 04DA: BD B7 54 JSR $B754 04DD: 96 B2 LDA $B2 ; offset 04DF: 48 LSLA 04E0: 8E 80 45 LDX #$8045 ; vector base 04E3: 30 86 LEAX A,X ; get address 04E5: D6 B9 LDB $B9 04E7: BD B7 C5 JSR $B7C5 04EA: 35 06 PULS B,A 04EC: D7 C9 STB $C9 04EE: AD 94 JSR [,X] ; jump to address 04F0: 1F 89 TFR A,B 04F2: 86 E8 LDA #$E8 ; #$e8 to panel 04F4: BD 99 81 JSR $9981 ; 04F7: 96 B3 LDA $B3 04F9: 81 43 CMPA #$43 04FB: 26 22 BNE $051F 04FD: 8D 07 BSR $0506 04FF: DE C1 LDU $C1 0501: 6F 4B CLR +$0B,U 0503: 16 00 BB LBRA $05C1 ------------------------------------------------ --- send $fbfe to panel if $e1=#$00 ------------ ------------------------------------------------ 0506: 96 E1 LDA $E1 0508: 81 00 CMPA #$00 050A: 26 04 BNE $0510 050C: C6 FE LDB #$FE ; D = $fbfe ($e1=$00) 050E: 20 0A BRA $051A ------------------------------------------------ --- send $fbe6 to panel if $e1=#$01 ------------ ------------------------------------------------ 0510: 81 01 CMPA #$01 0512: 26 04 BNE $0518 0514: C6 E6 LDB #$E6 ; D = $fbe6 ($e1=$01) 0516: 20 02 BRA $051A ------------------------------------------------ --- send $fbe5 to panel if $e1>#$01 ------------ ------------------------------------------------ 0518: C6 E5 LDB #$E5 051A: 86 FB LDA #$FB ; D = $fbe5 ($e1>$01) 051C: 7E 99 7D JMP $997D ; print A then B ------------------------------------------------ 051F: 81 3C CMPA #$3C 0521: 26 0E BNE $0531 0523: 8D 03 BSR $0528 0525: 16 00 99 LBRA $05C1 ------------------------------------------------ --- send #$fb ($da OR #$d0) to panel ----------- ------------------------------------------------ 0528: 86 FB LDA #$FB ; d = $fb($da)|$00d0 052A: D6 DA LDB $DA 052C: CA D0 ORB #$D0 052E: 7E 99 7D JMP $997D ------------------------------------------------ 0531: 81 48 CMPA #$48 0533: 26 08 BNE $053D 0535: 96 E6 LDA $E6 0537: B7 02 C2 STA $02C2 053A: 16 00 84 LBRA $05C1 053D: 81 3D CMPA #$3D 053F: 26 0B BNE $054C 0541: 96 DB LDA $DB 0543: 26 05 BNE $054A 0545: 86 7E LDA #$7E 0547: B7 02 E0 STA $02E0 054A: 20 75 BRA $05C1 ------------------------------------------------ 054C: 81 4A CMPA #$4A 054E: 26 1C BNE $056C 0550: 96 AA LDA $AA 0552: 81 05 CMPA #$05 0554: 27 04 BEQ $055A 0556: 81 06 CMPA #$06 0558: 26 09 BNE $0563 055A: BD AD 1C JSR $AD1C 055D: 96 E8 LDA $E8 055F: A7 85 STA B,X 0561: 20 5E BRA $05C1 ------------------------------------------------ 0563: 81 04 CMPA #$04 0565: 22 03 BHI $056A 0567: BD BF 53 JSR $BF53 056A: 20 55 BRA $05C1 ------------------------------------------------ 056C: 81 40 CMPA #$40 056E: 26 0A BNE $057A 0570: 96 DE LDA $DE 0572: B7 02 D8 STA $02D8 0575: BD 89 E7 JSR $89E7 0578: 20 47 BRA $05C1 ------------------------------------------------ 057A: 81 44 CMPA #$44 057C: 26 07 BNE $0585 057E: BD 89 E7 JSR $89E7 0581: C6 00 LDB #$00 0583: 20 36 BRA $05BB ------------------------------------------------ 0585: 81 14 CMPA #$14 0587: 26 04 BNE $058D 0589: C6 00 LDB #$00 058B: 20 2E BRA $05BB ------------------------------------------------ 058D: 81 1B CMPA #$1B 058F: 26 14 BNE $05A5 0591: C4 80 ANDB #$80 0593: 27 2C BEQ $05C1 0595: FE 0D 07 LDU $0D07 0598: 33 C8 1E LEAU +$1E,U 059B: A6 C4 LDA ,U 059D: 84 7F ANDA #$7F 059F: A7 C4 STA ,U 05A1: C6 01 LDB #$01 05A3: 20 16 BRA $05BB ------------------------------------------------ 05A5: 81 1C CMPA #$1C 05A7: 26 18 BNE $05C1 05A9: C4 80 ANDB #$80 05AB: 27 14 BEQ $05C1 05AD: FE 0D 07 LDU $0D07 05B0: 33 C8 1F LEAU +$1F,U 05B3: A6 C4 LDA ,U 05B5: 84 7F ANDA #$7F 05B7: A7 C4 STA ,U 05B9: C6 00 LDB #$00 05BB: BE 0D 0D LDX $0D0D 05BE: BD B7 5B JSR $B75B 05C1: BE 0D 0D LDX $0D0D 05C4: D6 B9 LDB $B9 05C6: BD B7 5B JSR $B75B 05C9: 96 A8 LDA $A8 05CB: 81 09 CMPA #$09 05CD: 27 03 BEQ $05D2 05CF: BD 7A D5 JSR $7AD5 05D2: 39 RTS ------------------------------------------------ 05D3: 86 1D LDA #$1D 05D5: 97 B2 STA $B2 05D7: FE 0D 09 LDU $0D09 05DA: BD 77 BF JSR $77BF 05DD: 32 62 LEAS +$02,S ; skip return address 05DF: A6 C4 LDA ,U 05E1: 8E BA 04 LDX #$BA04 ; print routine vectors 05E4: D6 B2 LDB $B2 ; offset 05E6: 58 LSLB 05E7: AD 95 JSR [B,X] ; to printing routine 05E9: 86 D5 LDA #$D5 ; #$d5 to panel 05EB: 7E 99 81 JMP $9981 ------------------------------------------------ 05EE: 96 AA LDA $AA 05F0: 81 1B CMPA #$1B 05F2: 26 05 BNE $05F9 05F4: 8E BD AC LDX #$BDAC ; prepare jump to $bdac 05F7: 20 77 BRA $0670 ------------------------------------------------ 05F9: 81 12 CMPA #$12 05FB: 27 04 BEQ $0601 05FD: 81 20 CMPA #$20 05FF: 26 02 BNE $0603 0601: 20 D0 BRA $05D3 ------------------------------------------------ 0603: 81 0C CMPA #$0C 0605: 27 04 BEQ $060B 0607: 81 21 CMPA #$21 0609: 26 05 BNE $0610 060B: 8E BD 23 LDX #$BD23 ; prepare jump to $bd23 060E: 20 60 BRA $0670 ------------------------------------------------ 0610: 81 15 CMPA #$15 0612: 26 05 BNE $0619 0614: 8E BD E4 LDX #$BDE4 ; prepare jump to $bde4 0617: 20 57 BRA $0670 ------------------------------------------------ 0619: 81 0E CMPA #$0E 061B: 26 05 BNE $0622 061D: 8E BE 41 LDX #$BE41 ; prepare jump to $be41 0620: 20 4E BRA $0670 ------------------------------------------------ 0622: 81 16 CMPA #$16 0624: 26 04 BNE $062A 0626: 86 93 LDA #$93 0628: 20 0E BRA $0638 ------------------------------------------------ 062A: 81 17 CMPA #$17 062C: 26 04 BNE $0632 062E: 86 8B LDA #$8B 0630: 20 06 BRA $0638 ------------------------------------------------ 0632: 81 0F CMPA #$0F ; 0634: 26 0A BNE $0640 0636: 86 95 LDA #$95 ; set cursor to pos. $15 0638: BD 99 81 JSR $9981 063B: 8E BE 73 LDX #$BE73 ; prepare jump $be73 063E: 20 30 BRA $0670 ; ------------------------------------------------ 0640: 81 13 CMPA #$13 0642: 26 1F BNE $0663 0644: 86 80 LDA #$80 0646: 9A A6 ORA $A6 0648: 97 A6 STA $A6 064A: 0D FD TST $FD 064C: 2A 11 BPL $065F 064E: 86 01 LDA #$01 0650: 97 FD STA $FD 0652: 86 A6 LDA #$A6 ; set cursor to pos. $26 0654: BD 99 81 JSR $9981 ; 0657: B6 02 AA LDA $02AA 065A: 97 C0 STA $C0 065C: BD BB AB JSR $BBAB ; print A 065F: 86 9F LDA #$9F ; set cursor to pos. $1f 0661: 20 D5 BRA $0638 ------------------------------------------------ 0663: 81 14 CMPA #$14 0665: 26 0F BNE $0676 0667: 86 01 LDA #$01 0669: 9A A6 ORA $A6 066B: 97 A6 STA $A6 066D: 8E BE AE LDX #$BEAE ; prepare jump to $beae 0670: 35 06 PULS B,A 0672: D7 C9 STB $C9 0674: 6E 84 JMP ,X ------------------------------------------------ 0676: 81 18 CMPA #$18 0678: 26 14 BNE $068E 067A: 86 96 LDA #$96 ; set cursor to pos. $16 067C: BD 99 81 JSR $9981 067F: 35 06 PULS B,A 0681: D7 C9 STB $C9 0683: BD BF 40 JSR $BF40 0686: B6 0D 17 LDA $0D17 ; get value 0689: 8B 31 ADDA #$31 ; transform to ASCII 068B: 7E 99 81 JMP $9981 ; print ------------------------------------------------ 068E: 81 19 CMPA #$19 0690: 26 04 BNE $0696 0692: 86 99 LDA #$99 ; set cursor to pos. $19 0694: 20 E6 BRA $067C ------------------------------------------------ 0696: 81 1A CMPA #$1A 0698: 26 05 BNE $069F 069A: CE 0D 17 LDU #$0D17 ; value 069D: 20 0D BRA $06AC ------------------------------------------------ 069F: 81 1F CMPA #$1F 06A1: 26 1A BNE $06BD 06A3: 86 01 LDA #$01 06A5: 9A A6 ORA $A6 06A7: 97 A6 STA $A6 06A9: CE 01 01 LDU #$0101 06AC: 35 06 PULS B,A 06AE: D7 C9 STB $C9 06B0: BD BE DB JSR $BEDB 06B3: 86 97 LDA #$97 ; set cursor to pos. $17 06B5: BD 99 81 JSR $9981 06B8: A6 C4 LDA ,U ; get value 06BA: 7E B8 71 JMP $B871 ------------------------------------------------ 06BD: 81 1E CMPA #$1E 06BF: 26 02 BNE $06C3 06C1: 20 04 BRA $06C7 ------------------------------------------------ 06C3: 81 1D CMPA #$1D 06C5: 26 0D BNE $06D4 06C7: CE 00 ED LDU #$00ED 06CA: 86 1B LDA #$1B 06CC: BD 77 BF JSR $77BF 06CF: 32 62 LEAS +$02,S 06D1: 7E B4 CF JMP $B4CF ------------------------------------------------ 06D4: 96 A8 LDA $A8 06D6: 81 09 CMPA #$09 06D8: 27 04 BEQ $06DE 06DA: 81 01 CMPA #$01 06DC: 26 03 BNE $06E1 06DE: 7E 74 A7 JMP $74A7 ------------------------------------------------ 06E1: 81 02 CMPA #$02 06E3: 26 12 BNE $06F7 06E5: 96 E5 LDA $E5 06E7: 84 7F ANDA #$7F ; limit to 7 bit 06E9: 10 26 00 DF LBNE $07CC 06ED: 35 06 PULS B,A 06EF: D7 C9 STB $C9 06F1: BD BE 16 JSR $BE16 06F4: 7E C2 68 JMP $C268 ------------------------------------------------ 06F7: 81 03 CMPA #$03 06F9: 26 16 BNE $0711 06FB: 96 AA LDA $AA 06FD: 81 04 CMPA #$04 06FF: 26 02 BNE $0703 0701: 35 86 PULS PC,B,A ------------------------------------------------ 0703: 81 08 CMPA #$08 0705: 27 04 BEQ $070B 0707: 81 02 CMPA #$02 0709: 26 04 BNE $070F 070B: 35 86 PULS PC,B,A ------------------------------------------------ 070D: 20 02 BRA $0711 ------------------------------------------------ 070F: 20 D4 BRA $06E5 ------------------------------------------------ 0711: 81 04 CMPA #$04 0713: 10 25 00 B5 LBCS $07CC 0717: 81 07 CMPA #$07 0719: 10 22 00 AF LBHI $07CC 071D: 96 B6 LDA $B6 071F: 10 27 00 A9 LBEQ $07CC 0723: BD BB 58 JSR $BB58 0726: 1F 03 TFR D,U 0728: 86 E8 LDA #$E8 ; send #$e8 to panel 072A: BD 99 81 JSR $9981 072D: BD BF 53 JSR $BF53 0730: 96 A8 LDA $A8 0732: 81 04 CMPA #$04 0734: 26 17 BNE $074D 0736: 33 4C LEAU +$0C,U 0738: 86 05 LDA #$05 073A: BD 77 BF JSR $77BF 073D: 32 62 LEAS +$02,S 073F: 33 54 LEAU -$0C,U 0741: 1F 31 TFR U,X 0743: 86 06 LDA #$06 0745: E6 0C LDB +$0C,X 0747: BD 8B B5 JSR $8BB5 074A: 7E 81 21 JMP $8121 ------------------------------------------------ 074D: 81 05 CMPA #$05 074F: 26 22 BNE $0773 0751: 33 44 LEAU +$04,U 0753: 86 0E LDA #$0E 0755: BD 77 BF JSR $77BF 0758: 32 62 LEAS +$02,S 075A: 33 5C LEAU -$04,U 075C: 34 40 PSHS U 075E: 11 93 C1 CMPU $C1 0761: 26 08 BNE $076B 0763: BD BB E5 JSR $BBE5 0766: 1F 31 TFR U,X 0768: BD 89 43 JSR $8943 076B: BD 89 E7 JSR $89E7 076E: 35 40 PULS U 0770: 7E 81 CE JMP $81CE ------------------------------------------------ 0773: 81 07 CMPA #$07 0775: 26 35 BNE $07AC 0777: 96 E2 LDA $E2 0779: 81 03 CMPA #$03 077B: 26 02 BNE $077F 077D: 20 4D BRA $07CC ------------------------------------------------ 077F: 33 42 LEAU +$02,U 0781: A6 C4 LDA ,U 0783: 81 FF CMPA #$FF 0785: 27 45 BEQ $07CC 0787: 86 07 LDA #$07 0789: BD 77 BF JSR $77BF 078C: 32 62 LEAS +$02,S 078E: A6 C4 LDA ,U 0790: 33 5E LEAU -$02,U 0792: 34 40 PSHS U 0794: 1F 31 TFR U,X 0796: 34 02 PSHS A 0798: 97 D1 STA $D1 079A: BD BA 7B JSR $BA7B 079D: ED 84 STD ,X ; value to memory 079F: FD 0D 07 STD $0D07 ; value to display 07A2: E6 E0 LDB ,S+ 07A4: BD 8A BB JSR $8ABB 07A7: 35 40 PULS U 07A9: 7E 82 85 JMP $8285 ------------------------------------------------ 07AC: 81 06 CMPA #$06 07AE: 26 0E BNE $07BE 07B0: 33 43 LEAU +$03,U 07B2: 35 06 PULS B,A 07B4: D7 C9 STB $C9 07B6: BD BF 0A JSR $BF0A 07B9: 33 5D LEAU -$03,U 07BB: 7E 82 2A JMP $822A ------------------------------------------------ 07BE: 39 RTS ------------------------------------------------ 07BF: 8E 80 45 LDX #$8045 ; vector table base 07C2: 48 LSLA ; offset adjust 07C3: 30 86 LEAX A,X ; get entry 07C5: EC 62 LDD +$02,S 07C7: D7 C9 STB $C9 07C9: AD 94 JSR [,X] ; to handler 07CB: 39 RTS ------------------------------------------------ 07CC: 35 86 PULS PC,B,A ------------------------------------------------ 07CE: CE 77 FC LDU #$77FC ; prepare jump to ROMLOW $07fc 07D1: 8E 9C C6 LDX #$9CC6 ; prep. indirect jump to $9cc6 07D4: 20 11 BRA $07E7 ------------------------------------------------ 07D6: 96 C3 LDA $C3 07D8: 81 0A CMPA #$0A 07DA: 22 05 BHI $07E1 07DC: CE 77 F9 LDU #$77F9 ; prepare jump to ROMLOW $07f9 07DF: 20 03 BRA $07E4 ------------------------------------------------ 07E1: CE 77 FB LDU #$77FB ; prepare jump to ROMLOW $07fb 07E4: 8E 9E 71 LDX #$9E71 ; prep. indirect jump to $9e71 07E7: BF 0D 15 STX $0D15 07EA: BE 0D E8 LDX $0DE8 07ED: 35 06 PULS B,A 07EF: 34 10 PSHS X 07F1: D7 C9 STB $C9 07F3: 27 02 BEQ $07F7 07F5: 20 17 BRA $080E ------------------------------------------------ 07F7: 6E C4 JMP ,U ------------------------------------------------ 07F9: 44 LSRA 07FA: 44 LSRA 07FB: 44 LSRA 07FC: AB E4 ADDA ,S 07FE: A1 61 CMPA +$01,S 0800: 23 04 BLS $0806 0802: A6 61 LDA +$01,S 0804: 20 22 BRA $0828 ------------------------------------------------ 0806: A1 E4 CMPA ,S 0808: 24 02 BCC $080C 080A: A6 E4 LDA ,S 080C: 20 1A BRA $0828 ------------------------------------------------ 080E: 96 C3 LDA $C3 0810: 0D C9 TST $C9 0812: 2A 0B BPL $081F 0814: A1 E4 CMPA ,S 0816: 23 03 BLS $081B 0818: 4A DECA 0819: 20 02 BRA $081D ------------------------------------------------ 081B: A6 61 LDA +$01,S 081D: 20 09 BRA $0828 ------------------------------------------------ 081F: A1 61 CMPA +$01,S 0821: 24 03 BCC $0826 0823: 4C INCA 0824: 20 02 BRA $0828 ------------------------------------------------ 0826: A6 E4 LDA ,S 0828: 97 C3 STA $C3 082A: 35 10 PULS X 082C: 6E 9F 0D 15 JMP [$0D15] ; perform indirect jump ------------------------------------------------ 0830: BD BC B6 JSR $BCB6 0833: C6 00 LDB #$00 0835: D7 A9 STB $A9 0837: BD BC AE JSR $BCAE 083A: CE A4 70 LDU #$A470 ; softbutton handler 083D: FF 0D 11 STU $0D11 ; to $a470 0840: BD 78 7E JSR $787E 0843: 1F 89 TFR A,B --- ENV1-4 ------------------------------------------------ 0845: 81 01 CMPA #$01 0847: 25 0A BCS $0853 0849: 81 04 CMPA #$04 084B: 22 06 BHI $0853 084D: C0 00 SUBB #$00 ; useless! 084F: D7 B7 STB $B7 0851: 20 28 BRA $087B --- LFO1-3 ------------------------------------------------ 0853: 81 05 CMPA #$05 0855: 25 0A BCS $0861 0857: 81 07 CMPA #$07 0859: 22 06 BHI $0861 085B: C0 04 SUBB #$04 085D: D7 B7 STB $B7 085F: 20 1A BRA $087B --- OSC1-3 ------------------------------------------------ 0861: 81 08 CMPA #$08 0863: 25 0A BCS $086F 0865: 81 0A CMPA #$0A 0867: 22 06 BHI $086F 0869: C0 07 SUBB #$07 086B: D7 B7 STB $B7 086D: 20 0C BRA $087B --- DCA1-3 ------------------------------------------------ 086F: 81 0B CMPA #$0B 0871: 25 08 BCS $087B 0873: 81 0D CMPA #$0D 0875: 22 04 BHI $087B 0877: C0 0A SUBB #$0A 0879: D7 B7 STB $B7 087B: 7E B6 E2 JMP $B6E2 ; sound edit page ------------------------------------------------ 087E: 34 46 PSHS U,B,A 0880: CE 71 C7 LDU #$71C7 ; ALL SEQ. PROGRAMS 0883: C6 0A LDB #$0A 0885: 4A DECA 0886: 3D MUL 0887: 33 CB LEAU D,U 0889: FF 0D 0F STU $0D0F 088C: 35 C6 PULS PC,U,B,A ------------------------------------------------ 088E: 1F 89 TFR A,B 0890: C0 22 SUBB #$22 0892: 0D A5 TST $A5 0894: 2B 1E BMI $08B4 0896: 96 D0 LDA $D0 0898: C1 03 CMPB #$03 089A: 26 06 BNE $08A2 089C: 90 A5 SUBA $A5 089E: 80 03 SUBA #$03 08A0: 20 06 BRA $08A8 ------------------------------------------------ 08A2: 0D A5 TST $A5 08A4: 27 02 BEQ $08A8 08A6: 80 03 SUBA #$03 08A8: 34 02 PSHS A 08AA: E1 E0 CMPB ,S+ 08AC: 26 03 BNE $08B1 08AE: 7E BF 6F JMP $BF6F ------------------------------------------------ 08B1: 7E BF 93 JMP $BF93 ------------------------------------------------ 08B4: D7 CF STB $CF 08B6: BD BC B2 JSR $BCB2 08B9: BD BC B6 JSR $BCB6 08BC: D6 A9 LDB $A9 08BE: C1 00 CMPB #$00 08C0: 26 10 BNE $08D2 08C2: 84 7F ANDA #$7F 08C4: 97 A2 STA $A2 08C6: BD 7A E4 JSR $7AE4 08C9: CE A6 07 LDU #$A607 ; softbutton handler to $a607 08CC: FF 0D 11 STU $0D11 08CF: 7E 7A D5 JMP $7AD5 ------------------------------------------------ 08D2: C1 01 CMPB #$01 08D4: 26 0B BNE $08E1 08D6: CE A5 65 LDU #$A565 ; softbutton handler to 08D9: FF 0D 11 STU $0D11 ; $a565 08DC: CE 7F A8 LDU #$7FA8 ; WRITE ($5fa8) 08DF: 20 0D BRA $08EE ------------------------------------------------ 08E1: C1 05 CMPB #$05 08E3: 26 28 BNE $090D 08E5: CE A5 83 LDU #$A583 ; soft button handler 08E8: FF 0D 11 STU $0D11 ; to $a583 08EB: CE 7F AF LDU #$7FAF ; EDIT ($5faf) 08EE: 8A 80 ORA #$80 08F0: 97 A2 STA $A2 08F2: 34 40 PSHS U 08F4: BD BC C0 JSR $BCC0 08F7: C6 00 LDB #$00 08F9: D7 AB STB $AB 08FB: BD 7A E4 JSR $7AE4 08FE: 86 D0 LDA #$D0 0900: BD 99 81 JSR $9981 0903: 35 40 PULS U 0905: BD 99 56 JSR $9956 0908: 86 D1 LDA #$D1 090A: 7E 99 81 JMP $9981 ------------------------------------------------ 090D: C1 03 CMPB #$03 090F: 26 22 BNE $0933 0911: D6 A8 LDB $A8 0913: C1 03 CMPB #$03 0915: 26 1A BNE $0931 0917: 0D B6 TST $B6 0919: 27 A7 BEQ $08C2 091B: D6 AA LDB $AA 091D: C1 04 CMPB #$04 091F: 27 10 BEQ $0931 0921: 8A 80 ORA #$80 0923: 97 A2 STA $A2 0925: BD BC C0 JSR $BCC0 0928: 8E A6 13 LDX #$A613 ; softbutton handler to 092B: BF 0D 11 STX $0D11 ; $a613 092E: 7E 7A E4 JMP $7AE4 ------------------------------------------------ 0931: 20 8F BRA $08C2 ------------------------------------------------ 0933: 39 RTS --- SEQ ------------------------------------------------ 0934: 81 29 CMPA #$29 0936: 26 13 BNE $094B 0938: 96 A9 LDA $A9 093A: 81 02 CMPA #$02 093C: 26 01 BNE $093F 093E: 39 RTS --- OSC 1 ------------------------------------------------ 093F: 96 A8 LDA $A8 0941: 81 08 CMPA #$08 0943: 26 03 BNE $0948 0945: 7E BF 6F JMP $BF6F ------------------------------------------------ 0948: 7E BF A7 JMP $BFA7 ------------------------------------------------ 094B: BD BF 65 JSR $BF65 094E: 1F 89 TFR A,B 0950: C0 26 SUBB #$26 0952: 81 26 CMPA #$26 0954: 27 1B BEQ $0971 0956: 0D D5 TST $D5 0958: 27 0C BEQ $0966 095A: 34 04 PSHS B 095C: 50 NEGB 095D: 8E 3F FF LDX #$3FFF ; CARTRIDGE check 0960: 6D 85 TST B,X 0962: 35 04 PULS B 0964: 27 0B BEQ $0971 0966: D6 A9 LDB $A9 0968: C1 01 CMPB #$01 096A: 26 04 BNE $0970 096C: C6 02 LDB #$02 096E: D7 A9 STB $A9 0970: 39 RTS ------------------------------------------------ 0971: D7 CB STB $CB 0973: 7E 78 B6 JMP $78B6 --- compare button ------------------------------------------------ 0976: 81 17 CMPA #$17 0978: 26 3C BNE $09B6 097A: 0D C7 TST $C7 097C: 2A 01 BPL $097F 097E: 39 RTS ------------------------------------------------ 097F: 27 09 BEQ $098A 0981: 0F C7 CLR $C7 0983: 96 D1 LDA $D1 0985: BD BA 7B JSR $BA7B 0988: 20 05 BRA $098F ------------------------------------------------ 098A: 0C C7 INC $C7 098C: CC 0D 6A LDD #$0D6A 098F: FD 0D 07 STD $0D07 0992: FE 0D 0B LDU $0D0B 0995: ED C4 STD ,U 0997: 0D AE TST $AE 0999: 26 03 BNE $099E 099B: BD 8A 8C JSR $8A8C ------------------------------------------------ --- parse pressed button through $A8 ----------- ------------------------------------------------ 099E: 96 A8 LDA $A8 09A0: 81 00 CMPA #$00 09A2: 26 03 BNE $09A7 09A4: 7E 7A D5 JMP $7AD5 ------------------------------------------------ --- ENV3 menu ---------------------------------- ------------------------------------------------ 09A7: 81 03 CMPA #$03 09A9: 26 03 BNE $09AE 09AB: 7E C2 A9 JMP $C2A9 ------------------------------------------------ --- ENV1 menu ---------------------------------- ------------------------------------------------ 09AE: 81 01 CMPA #$01 09B0: 26 03 BNE $09B5 09B2: 7E B7 54 JMP $B754 ------------------------------------------------ 09B5: 39 RTS ------------------------------------------------ --- edit/compare ------------------------------- ------------------------------------------------ 09B6: 81 16 CMPA #$16 ; write button? 09B8: 26 6D BNE $0A27 ; no->$7|0a27 09BA: 96 AA LDA $AA 09BC: 81 00 CMPA #$00 09BE: 27 04 BEQ $09C4 09C0: 81 05 CMPA #$05 09C2: 26 60 BNE $0A24 09C4: C6 00 LDB #$00 09C6: D7 A9 STB $A9 09C8: BD BC C0 JSR $BCC0 09CB: 96 C7 LDA $C7 09CD: 84 7F ANDA #$7F 09CF: 26 13 BNE $09E4 09D1: BD BC B2 JSR $BCB2 09D4: 8E A4 B5 LDX #$A4B5 ; softbutton handler to 09D7: BF 0D 11 STX $0D11 ; $a4b5 09DA: 86 04 LDA #$04 09DC: 97 A9 STA $A9 09DE: CE 7E EC LDU #$7EEC ; replace edit program ($5eec) 09E1: 7E 99 56 JMP $9956 ------------------------------------------------ --- write program ------------------------------ ------------------------------------------------ 09E4: BD BC AE JSR $BCAE 09E7: CE 7E B4 LDU #$7EB4 ; write program ($5eb4) 09EA: BD 99 56 JSR $9956 09ED: 86 0E LDA #$0E 09EF: 97 A8 STA $A8 09F1: BD BF 65 JSR $BF65 09F4: 8E A4 C6 LDX #$A4C6 ; softbutton handler to 09F7: BF 0D 11 STX $0D11 ; $a4c6 09FA: 8E 0D 6A LDX #$0D6A 09FD: BF 0D 07 STX $0D07 0A00: FE 0D 0B LDU $0D0B 0A03: AF C4 STX ,U 0A05: 86 02 LDA #$02 0A07: 97 A9 STA $A9 0A09: 86 7E LDA #$7E 0A0B: 97 C8 STA $C8 0A0D: 86 9D LDA #$9D 0A0F: C6 E8 LDB #$E8 0A11: BD 99 7D JSR $997D 0A14: 4F CLRA 0A15: BD A5 1F JSR $A51F 0A18: C6 06 LDB #$06 0A1A: BD B9 71 JSR $B971 0A1D: 86 9D LDA #$9D 0A1F: C6 D9 LDB #$D9 0A21: 7E 99 7D JMP $997D ------------------------------------------------ 0A24: 7E A9 F6 JMP $A9F6 ------------------------------------------------ --- STORAGE menu ------------------------------- ------------------------------------------------ 0A27: 81 15 CMPA #$15 ; storage button? 0A29: 26 24 BNE $0A4F ; no -> $7|0a4f 0A2B: 96 AA LDA $AA 0A2D: 81 00 CMPA #$00 0A2F: 27 04 BEQ $0A35 0A31: 81 05 CMPA #$05 0A33: 26 17 BNE $0A4C 0A35: C6 00 LDB #$00 0A37: D7 A9 STB $A9 0A39: BD BC B2 JSR $BCB2 0A3C: 86 0F LDA #$0F 0A3E: 97 A8 STA $A8 0A40: 8E A6 74 LDX #$A674 ; softbutton handler to 0A43: BF 0D 11 STX $0D11 ; $a674 0A46: CE 7F 31 LDU #$7F31 ; STORAGE SEL. TYPE ($5f31) 0A49: 7E 99 56 JMP $9956 ------------------------------------------------ 0A4C: 7E A9 F6 JMP $A9F6 ------------------------------------------------ --- CONTROL menu ------------------------------- ------------------------------------------------ 0A4F: 81 14 CMPA #$14 ; control button 0A51: 26 0D BNE $0A60 0A53: BD BC C0 JSR $BCC0 0A56: BD 78 37 JSR $7837 0A59: 86 09 LDA #$09 0A5B: 97 A8 STA $A8 0A5D: 7E C3 63 JMP $C363 ------------------------------------------------ 0A60: 16 FD CD LBRA $0830 ------------------------------------------------ 0A63: BD BB 75 JSR $BB75 0A66: 0D D5 TST $D5 0A68: 26 2D BNE $0A97 0A6A: 0F CB CLR $CB 0A6C: 96 D1 LDA $D1 0A6E: 81 27 CMPA #$27 0A70: 23 23 BLS $0A95 0A72: BE 0D 07 LDX $0D07 0A75: 34 10 PSHS X 0A77: 5F CLRB 0A78: BD AB 0B JSR $AB0B 0A7B: 0F CF CLR $CF 0A7D: 0F D1 CLR $D1 0A7F: 0C AE INC $AE 0A81: BD A5 D5 JSR $A5D5 0A84: AE E1 LDX ,S++ 0A86: 8C 0D 6A CMPX #$0D6A 0A89: 26 0A BNE $0A95 0A8B: FE 0D 0B LDU $0D0B 0A8E: AF C4 STX ,U 0A90: BF 0D 07 STX $0D07 0A93: 0C C7 INC $C7 0A95: 20 0E BRA $0AA5 ------------------------------------------------ 0A97: BE 0D 0B LDX $0D0B 0A9A: A6 02 LDA +$02,X 0A9C: 81 27 CMPA #$27 0A9E: 23 05 BLS $0AA5 0AA0: EC 84 LDD ,X 0AA2: FD 0D 07 STD $0D07 0AA5: 96 A8 LDA $A8 0AA7: 81 00 CMPA #$00 0AA9: 26 03 BNE $0AAE 0AAB: 7E 7A E4 JMP $7AE4 --- env 3 ------------------------------------------------ 0AAE: 81 03 CMPA #$03 0AB0: 26 03 BNE $0AB5 0AB2: 7E C2 A9 JMP $C2A9 --- env 1 ------------------------------------------------ 0AB5: 81 01 CMPA #$01 0AB7: 26 03 BNE $0ABC 0AB9: 7E B7 54 JMP $B754 ------------------------------------------------ 0ABC: 39 RTS ------------------------------------------------ 0ABD: 0D C7 TST $C7 0ABF: 2B 13 BMI $0AD4 0AC1: 84 01 ANDA #$01 0AC3: 26 04 BNE $0AC9 0AC5: 0C C7 INC $C7 0AC7: 20 02 BRA $0ACB ------------------------------------------------ 0AC9: 0F C7 CLR $C7 0ACB: 86 17 LDA #$17 0ACD: 0C AE INC $AE 0ACF: BD 79 76 JSR $7976 0AD2: 0F AE CLR $AE 0AD4: 39 RTS ------------------------------------------------ --- program write ------------------------------ ------------------------------------------------ 0AD5: CE 7F A3 LDU #$7FA3 ; WRITE ($5fa3) 0AD8: 96 C7 LDA $C7 0ADA: 84 7F ANDA #$7F 0ADC: 27 03 BEQ $0AE1 ------------------------------------------------ --- program parameter change ------------------- ------------------------------------------------ 0ADE: CE 7F 9E LDU #$7F9E ; *C* 0AE1: 7E 99 56 JMP $9956 ------------------------------------------------ 0AE4: 86 00 LDA #$00 0AE6: 97 A8 STA $A8 0AE8: 86 D6 LDA #$D6 0AEA: BD 99 81 JSR $9981 0AED: 96 CB LDA $CB 0AEF: 8E 76 37 LDX #$7637 ; INT/CRTA/CRTB/ SEQ/SONG 0AF2: C6 04 LDB #$04 ; text length 0AF4: BD B9 71 JSR $B971 0AF7: 8E 10 4A LDX #$104A ; sound buffer base 0AFA: D6 CB LDB $CB 0AFC: 27 0E BEQ $0B0C 0AFE: 34 04 PSHS B 0B00: 86 66 LDA #$66 ; PCB length 0B02: C6 28 LDB #$28 ; max. programs (40) 0B04: 3D MUL 0B05: 30 8B LEAX D,X ; sound buffer address 0B07: 35 04 PULS B 0B09: 5A DECB 0B0A: 20 F0 BRA $0AFC ------------------------------------------------ 0B0C: 96 CF LDA $CF ; INT counter 0B0E: 1F 89 TFR A,B 0B10: 8B 31 ADDA #$31 ; bank number to ASCII 0B12: BD 99 81 JSR $9981 0B15: 86 0A LDA #$0A ; bank number by 10 0B17: 3D MUL 0B18: 86 66 LDA #$66 ; result by PCB length 0B1A: 3D MUL 0B1B: 30 8B LEAX D,X ; get position in soundbank 0B1D: 30 88 C6 LEAX -$3A,X 0B20: 5F CLRB ; init sound counter 0B21: 10 8E F7 7A LDY #$F77A ; 10 parameter display pos. 0B25: A6 A5 LDA B,Y ; get position 0B27: 27 0D BEQ $0B36 0B29: 34 04 PSHS B 0B2B: BD 99 81 JSR $9981 ; position cursor 0B2E: 4F CLRA 0B2F: C6 06 LDB #$06 ; print sound name 0B31: BD B9 71 JSR $B971 0B34: 35 04 PULS B 0B36: 5C INCB 0B37: C1 0A CMPB #$0A ; 10 sounds printed? 0B39: 24 05 BCC $0B40 ; yes -> ROMLOW $0b40 0B3B: 30 88 66 LEAX +$66,X ; next PCB 0B3E: 20 E5 BRA $0B25 ------------------------------------------------ 0B40: 0D AB TST $AB 0B42: 27 19 BEQ $0B5D 0B44: 96 CB LDA $CB 0B46: C6 28 LDB #$28 0B48: 3D MUL 0B49: 34 04 PSHS B 0B4B: 96 D1 LDA $D1 0B4D: A0 E0 SUBA ,S+ 0B4F: BD BB B4 JSR $BBB4 0B52: 91 CF CMPA $CF 0B54: 26 07 BNE $0B5D 0B56: A6 A5 LDA B,Y 0B58: C6 06 LDB #$06 0B5A: BD BB DA JSR $BBDA 0B5D: 39 RTS --- via $8045 ------------------------------------------------ 0B5E: 34 11 PSHS X,CC --- via $804b ------------------------------------------------ 0B60: 8E C0 3F LDX #$C03F ; X=$C03F 0B63: 20 06 BRA $0B6B --- via $8049 ------------------------------------------------ 0B65: 34 11 PSHS X,CC 0B67: 8E E0 1F LDX #$E01F ; X=$E01F 0B6A: 44 LSRA 0B6B: 34 10 PSHS X ; x to stack 0B6D: E6 62 LDB +$02,S ; get CC via stack 0B6F: 1F 9A TFR B,CC 0B71: 26 03 BNE $0B76 ; cc != 0 0B73: 44 LSRA ; cc = 0 0B74: 20 13 BRA $0B89 ; -> $8b89 ------------------------------------------------ 0B76: A6 C4 LDA ,U 0B78: A4 61 ANDA +$01,S 0B7A: 0D C9 TST $C9 0B7C: 2A 06 BPL $0B84 0B7E: 4D TSTA 0B7F: 27 01 BEQ $0B82 0B81: 4A DECA 0B82: 20 05 BRA $0B89 ------------------------------------------------ 0B84: A1 61 CMPA +$01,S 0B86: 24 01 BCC $0B89 0B88: 4C INCA 0B89: E6 E4 LDB ,S 0B8B: 32 62 LEAS +$02,S 0B8D: 35 11 PULS X,CC 0B8F: 7E 80 37 JMP $8037 --- via $8047 ------------------------------------------------ 0B92: 26 10 BNE $0BA4 0B94: 81 6C CMPA #$6C 0B96: 23 04 BLS $0B9C 0B98: 86 6C LDA #$6C 0B9A: 20 1C BRA $0BB8 ------------------------------------------------ 0B9C: 81 15 CMPA #$15 0B9E: 24 18 BCC $0BB8 0BA0: 86 15 LDA #$15 0BA2: 20 14 BRA $0BB8 ------------------------------------------------ 0BA4: A6 C4 LDA ,U 0BA6: 84 7F ANDA #$7F 0BA8: 0D C9 TST $C9 0BAA: 2B 07 BMI $0BB3 0BAC: 81 6C CMPA #$6C 0BAE: 24 0D BCC $0BBD 0BB0: 4C INCA 0BB1: 20 05 BRA $0BB8 ------------------------------------------------ 0BB3: 81 15 CMPA #$15 0BB5: 23 06 BLS $0BBD 0BB7: 4A DECA 0BB8: C6 80 LDB #$80 0BBA: BD 80 37 JSR $8037 0BBD: 39 RTS --- via $804f ------------------------------------------------ 0BBE: 34 01 PSHS CC 0BC0: C6 7E LDB #$7E 0BC2: 35 01 PULS CC 0BC4: 34 04 PSHS B 0BC6: 26 12 BNE $0BDA 0BC8: 84 7E ANDA #$7E 0BCA: 20 24 BRA $0BF0 ------------------------------------------------ 0BCC: 44 LSRA 0BCD: 44 LSRA 0BCE: 44 LSRA 0BCF: 44 LSRA 0BD0: 84 06 ANDA #$06 0BD2: A1 E4 CMPA ,S 0BD4: 23 1A BLS $0BF0 0BD6: A6 E4 LDA ,S 0BD8: 20 16 BRA $0BF0 ------------------------------------------------ 0BDA: A6 C4 LDA ,U 0BDC: 84 7E ANDA #$7E 0BDE: 0D C9 TST $C9 0BE0: 2B 08 BMI $0BEA 0BE2: A1 E4 CMPA ,S 0BE4: 24 0F BCC $0BF5 0BE6: 8B 02 ADDA #$02 0BE8: 20 06 BRA $0BF0 ------------------------------------------------ 0BEA: 81 00 CMPA #$00 0BEC: 27 07 BEQ $0BF5 0BEE: 80 02 SUBA #$02 0BF0: C6 80 LDB #$80 0BF2: BD 80 37 JSR $8037 0BF5: 35 84 PULS PC,B --- via $804d ------------------------------------------------ 0BF7: 26 0B BNE $0C04 0BF9: 44 LSRA 0BFA: 84 3C ANDA #$3C 0BFC: 81 30 CMPA #$30 0BFE: 23 1A BLS $0C1A 0C00: 86 30 LDA #$30 0C02: 20 16 BRA $0C1A ------------------------------------------------ 0C04: A6 C4 LDA ,U 0C06: 84 3C ANDA #$3C 0C08: 0D C9 TST $C9 0C0A: 2B 08 BMI $0C14 0C0C: 81 30 CMPA #$30 0C0E: 24 0F BCC $0C1F 0C10: 8B 04 ADDA #$04 0C12: 20 06 BRA $0C1A ------------------------------------------------ 0C14: 81 04 CMPA #$04 0C16: 25 07 BCS $0C1F 0C18: 80 04 SUBA #$04 0C1A: C6 C0 LDB #$C0 0C1C: BD 80 37 JSR $8037 0C1F: 39 RTS --- via $8095 ------------------------------------------------ 0C20: 34 01 PSHS CC 0C22: 8E 3F 00 LDX #$3F00 0C25: 10 8E 01 80 LDY #$0180 0C29: 35 01 PULS CC 0C2B: 34 30 PSHS Y,X 0C2D: 26 0A BNE $0C39 0C2F: 81 40 CMPA #$40 0C31: 25 04 BCS $0C37 0C33: 84 3F ANDA #$3F 0C35: 8A 80 ORA #$80 0C37: 20 58 BRA $0C91 ------------------------------------------------ 0C39: 20 1D BRA $0C58 --- via $8051 ------------------------------------------------ 0C3B: 34 01 PSHS CC 0C3D: 8E FC 04 LDX #$FC04 0C40: 10 8E 04 01 LDY #$0401 0C44: 35 01 PULS CC 0C46: 34 30 PSHS Y,X 0C48: 26 0E BNE $0C58 0C4A: 34 02 PSHS A 0C4C: 48 LSLA 0C4D: 48 LSLA 0C4E: E6 E0 LDB ,S+ ; x.lsb 0C50: C1 40 CMPB #$40 0C52: 25 02 BCS $0C56 0C54: 8A 01 ORA #$01 0C56: 20 39 BRA $0C91 ------------------------------------------------ 0C58: A6 C4 LDA ,U 0C5A: A4 E4 ANDA ,S ; x.msb 0C5C: 1C FE ANDCC #$FE ; clear carry 0C5E: 0D C9 TST $C9 0C60: 2B 0D BMI $0C6F 0C62: A1 E4 CMPA ,S ; x.msb 0C64: 24 04 BCC $0C6A 0C66: AB 62 ADDA +$02,S ; y.msb 0C68: 20 03 BRA $0C6D ------------------------------------------------ 0C6A: 4F CLRA 0C6B: 1A 01 ORCC #$01 ; set carry 0C6D: 20 0C BRA $0C7B ------------------------------------------------ 0C6F: A1 61 CMPA +$01,S ; x.lsb 0C71: 25 04 BCS $0C77 0C73: A0 62 SUBA +$02,S ; y.msb 0C75: 20 04 BRA $0C7B ------------------------------------------------ 0C77: A6 E4 LDA ,S ; x.msb 0C79: 1A 01 ORCC #$01 ; set carry 0C7B: E6 C4 LDB ,U 0C7D: 24 0C BCC $0C8B 0C7F: E4 63 ANDB +$03,S ; y.lsb 0C81: 26 04 BNE $0C87 0C83: AA 63 ORA +$03,S ; y.lsb 0C85: 20 02 BRA $0C89 ------------------------------------------------ 0C87: A4 E4 ANDA ,S ; x.msb 0C89: 20 06 BRA $0C91 ------------------------------------------------ 0C8B: E4 63 ANDB +$03,S ; y.lsb 0C8D: 34 04 PSHS B 0C8F: AA E0 ORA ,S+ ; x.msb 0C91: 35 30 PULS Y,X 0C93: A7 C4 STA ,U 0C95: 39 RTS --- via $8055 ------------------------------------------------ 0C96: 26 10 BNE $0CA8 0C98: 48 LSLA 0C99: 81 02 CMPA #$02 0C9B: 24 02 BCC $0C9F 0C9D: 86 02 LDA #$02 0C9F: 40 NEGA 0CA0: 34 02 PSHS A 0CA2: 86 80 LDA #$80 0CA4: A0 E0 SUBA ,S+ 0CA6: 20 16 BRA $0CBE ------------------------------------------------ 0CA8: A6 C4 LDA ,U 0CAA: 84 FE ANDA #$FE 0CAC: 0D C9 TST $C9 0CAE: 2B 08 BMI $0CB8 0CB0: 81 7E CMPA #$7E 0CB2: 2C 0F BGE $0CC3 0CB4: 8B 02 ADDA #$02 0CB6: 20 06 BRA $0CBE ------------------------------------------------ 0CB8: 81 82 CMPA #$82 0CBA: 2F 07 BLE $0CC3 0CBC: 80 02 SUBA #$02 0CBE: C6 01 LDB #$01 0CC0: BD 80 37 JSR $8037 0CC3: 39 RTS --- via $8057 ------------------------------------------------ 0CC4: 26 15 BNE $0CDB 0CC6: 81 01 CMPA #$01 0CC8: 24 02 BCC $0CCC 0CCA: 86 01 LDA #$01 0CCC: 34 02 PSHS A 0CCE: 86 80 LDA #$80 0CD0: A0 E0 SUBA ,S+ 0CD2: 48 LSLA 0CD3: 34 02 PSHS A 0CD5: 86 80 LDA #$80 0CD7: A0 E0 SUBA ,S+ 0CD9: 20 15 BRA $0CF0 ------------------------------------------------ 0CDB: A6 C4 LDA ,U 0CDD: 48 LSLA 0CDE: 0D C9 TST $C9 0CE0: 2B 08 BMI $0CEA 0CE2: 81 7E CMPA #$7E 0CE4: 2C 10 BGE $0CF6 0CE6: 8B 02 ADDA #$02 0CE8: 20 06 BRA $0CF0 ------------------------------------------------ 0CEA: 81 82 CMPA #$82 0CEC: 2F 08 BLE $0CF6 0CEE: 80 02 SUBA #$02 0CF0: 44 LSRA 0CF1: C6 80 LDB #$80 0CF3: BD 80 37 JSR $8037 0CF6: 39 RTS --- via $8059 ------------------------------------------------ 0CF7: 26 0B BNE $0D04 0CF9: C6 0F LDB #$0F 0CFB: 8D 23 BSR $0D20 0CFD: C6 0C LDB #$0C 0CFF: 3D MUL 0D00: 1F 98 TFR B,A 0D02: 20 16 BRA $0D1A ------------------------------------------------ 0D04: A6 C4 LDA ,U 0D06: 84 7F ANDA #$7F 0D08: 0D C9 TST $C9 0D0A: 2B 08 BMI $0D14 0D0C: 81 54 CMPA #$54 0D0E: 22 0F BHI $0D1F 0D10: 8B 0C ADDA #$0C 0D12: 20 06 BRA $0D1A ------------------------------------------------ 0D14: 81 0C CMPA #$0C 0D16: 25 07 BCS $0D1F 0D18: 80 0C SUBA #$0C 0D1A: C6 80 LDB #$80 0D1C: BD 80 37 JSR $8037 0D1F: 39 RTS ------------------------------------------------ 0D20: 34 04 PSHS B 0D22: 1F 89 TFR A,B 0D24: 4F CLRA 0D25: E1 E4 CMPB ,S 0D27: 25 05 BCS $0D2E 0D29: E0 E4 SUBB ,S 0D2B: 4C INCA 0D2C: 20 F7 BRA $0D25 ------------------------------------------------ 0D2E: 32 61 LEAS +$01,S 0D30: 39 RTS --- via $805b ------------------------------------------------ 0D31: 26 1A BNE $0D4D 0D33: C6 0B LDB #$0B 0D35: 8D E9 BSR $0D20 0D37: 34 02 PSHS A 0D39: A6 C4 LDA ,U 0D3B: 84 7F ANDA #$7F 0D3D: BD BB C7 JSR $BBC7 0D40: C6 0C LDB #$0C 0D42: 3D MUL 0D43: EB E0 ADDB ,S+ 0D45: C1 60 CMPB #$60 0D47: 22 1D BHI $0D66 0D49: 1F 98 TFR B,A 0D4B: 20 14 BRA $0D61 ------------------------------------------------ 0D4D: A6 C4 LDA ,U 0D4F: 84 7F ANDA #$7F 0D51: 0D C9 TST $C9 0D53: 2B 07 BMI $0D5C 0D55: 81 60 CMPA #$60 0D57: 24 0D BCC $0D66 0D59: 4C INCA 0D5A: 20 05 BRA $0D61 ------------------------------------------------ 0D5C: 81 00 CMPA #$00 0D5E: 23 06 BLS $0D66 0D60: 4A DECA 0D61: C6 80 LDB #$80 0D63: BD 80 37 JSR $8037 0D66: 39 RTS --- via $805d ------------------------------------------------ 0D67: 26 05 BNE $0D6E 0D69: 48 LSLA 0D6A: 84 FC ANDA #$FC 0D6C: 20 16 BRA $0D84 ------------------------------------------------ 0D6E: A6 C4 LDA ,U 0D70: 84 F8 ANDA #$F8 0D72: 0D C9 TST $C9 0D74: 2B 08 BMI $0D7E 0D76: 81 F8 CMPA #$F8 0D78: 24 0F BCC $0D89 0D7A: 8B 08 ADDA #$08 0D7C: 20 06 BRA $0D84 ------------------------------------------------ 0D7E: 81 08 CMPA #$08 0D80: 25 07 BCS $0D89 0D82: 80 08 SUBA #$08 0D84: C6 03 LDB #$03 0D86: BD 80 37 JSR $8037 0D89: 39 RTS --- via $805f ------------------------------------------------ 0D8A: 26 19 BNE $0DA5 0D8C: 1F 89 TFR A,B 0D8E: 58 LSLB 0D8F: 58 LSLB 0D90: 25 0A BCS $0D9C 0D92: 86 FF LDA #$FF 0D94: C1 08 CMPB #$08 0D96: 24 0B BCC $0DA3 0D98: C6 08 LDB #$08 0D9A: 20 07 BRA $0DA3 ------------------------------------------------ 0D9C: 4F CLRA 0D9D: C1 F8 CMPB #$F8 0D9F: 23 02 BLS $0DA3 0DA1: C6 F8 LDB #$F8 0DA3: 20 1C BRA $0DC1 ------------------------------------------------ 0DA5: EC C4 LDD ,U 0DA7: C4 F8 ANDB #$F8 0DA9: 0D C9 TST $C9 0DAB: 2B 0B BMI $0DB8 0DAD: 10 83 00 F8 CMPD #$00F8 0DB1: 2C 10 BGE $0DC3 0DB3: C3 00 08 ADDD #$0008 0DB6: 20 09 BRA $0DC1 ------------------------------------------------ 0DB8: 10 83 FF 08 CMPD #$FF08 0DBC: 2F 05 BLE $0DC3 0DBE: 83 00 08 SUBD #$0008 0DC1: ED C4 STD ,U 0DC3: 39 RTS --- via $8063, $8067, $808d, $8091 ------------------------------------------------ 0DC4: 26 03 BNE $0DC9 0DC6: 48 LSLA 0DC7: 20 09 BRA $0DD2 ------------------------------------------------ 0DC9: 0D C9 TST $C9 0DCB: 2A 03 BPL $0DD0 0DCD: 4F CLRA 0DCE: 20 02 BRA $0DD2 ------------------------------------------------ 0DD0: 86 80 LDA #$80 0DD2: 4D TSTA 0DD3: 2B 06 BMI $0DDB 0DD5: 86 FE LDA #$FE 0DD7: A4 C4 ANDA ,U 0DD9: 20 04 BRA $0DDF ------------------------------------------------ 0DDB: 86 01 LDA #$01 0DDD: AA C4 ORA ,U 0DDF: A7 C4 STA ,U 0DE1: 39 RTS --- via $8065, $8069 ------------------------------------------------ 0DE2: 26 03 BNE $0DE7 0DE4: 48 LSLA 0DE5: 20 09 BRA $0DF0 ------------------------------------------------ 0DE7: 0D C9 TST $C9 0DE9: 2A 03 BPL $0DEE 0DEB: 4F CLRA 0DEC: 20 02 BRA $0DF0 ------------------------------------------------ 0DEE: 86 80 LDA #$80 0DF0: 4D TSTA 0DF1: 2B 06 BMI $0DF9 0DF3: 86 7F LDA #$7F 0DF5: A4 C4 ANDA ,U 0DF7: 20 04 BRA $0DFD ------------------------------------------------ 0DF9: 86 80 LDA #$80 0DFB: AA C4 ORA ,U 0DFD: A7 C4 STA ,U 0DFF: 39 RTS --- via $806b ------------------------------------------------ 0E00: 26 04 BNE $0E06 0E02: 84 40 ANDA #$40 0E04: 20 09 BRA $0E0F ------------------------------------------------ 0E06: 0D C9 TST $C9 0E08: 2A 03 BPL $0E0D 0E0A: 4F CLRA 0E0B: 20 02 BRA $0E0F ------------------------------------------------ 0E0D: 86 40 LDA #$40 0E0F: 4D TSTA 0E10: 26 06 BNE $0E18 0E12: 86 BF LDA #$BF 0E14: A4 C4 ANDA ,U 0E16: 20 02 BRA $0E1A ------------------------------------------------ 0E18: AA C4 ORA ,U 0E1A: A7 C4 STA ,U 0E1C: 39 RTS --- via $806d ------------------------------------------------ 0E1D: 26 05 BNE $0E24 0E1F: 48 LSLA 0E20: 84 C0 ANDA #$C0 0E22: 20 15 BRA $0E39 ------------------------------------------------ 0E24: A6 C4 LDA ,U 0E26: 84 C0 ANDA #$C0 0E28: 0D C9 TST $C9 0E2A: 2B 08 BMI $0E34 0E2C: 81 C0 CMPA #$C0 0E2E: 24 0E BCC $0E3E 0E30: 8B 40 ADDA #$40 0E32: 20 05 BRA $0E39 ------------------------------------------------ 0E34: 4D TSTA 0E35: 27 07 BEQ $0E3E 0E37: 80 40 SUBA #$40 0E39: C6 3F LDB #$3F 0E3B: BD 80 37 JSR $8037 0E3E: 39 RTS --- via $806f ------------------------------------------------ 0E3F: 27 16 BEQ $0E57 0E41: E6 C4 LDB ,U 0E43: C4 0F ANDB #$0F 0E45: 0D C9 TST $C9 0E47: 2B 07 BMI $0E50 0E49: C1 0F CMPB #$0F 0E4B: 24 12 BCC $0E5F 0E4D: 6C C4 INC ,U 0E4F: 39 RTS ------------------------------------------------ 0E50: C1 00 CMPB #$00 0E52: 23 0B BLS $0E5F 0E54: 6A C4 DEC ,U 0E56: 39 RTS ------------------------------------------------ 0E57: 44 LSRA 0E58: 44 LSRA 0E59: 44 LSRA 0E5A: C6 F0 LDB #$F0 0E5C: BD 80 37 JSR $8037 0E5F: 39 RTS --- via $8071 ------------------------------------------------ 0E60: 26 05 BNE $0E67 0E62: 48 LSLA 0E63: 84 F0 ANDA #$F0 0E65: 20 16 BRA $0E7D ------------------------------------------------ 0E67: A6 C4 LDA ,U 0E69: 84 F0 ANDA #$F0 0E6B: 0D C9 TST $C9 0E6D: 2B 08 BMI $0E77 0E6F: 81 F0 CMPA #$F0 0E71: 24 0F BCC $0E82 0E73: 8B 10 ADDA #$10 0E75: 20 06 BRA $0E7D ------------------------------------------------ 0E77: 81 00 CMPA #$00 0E79: 23 07 BLS $0E82 0E7B: 80 10 SUBA #$10 0E7D: C6 0F LDB #$0F 0E7F: BD 80 37 JSR $8037 0E82: 39 RTS --- via $8073 ------------------------------------------------ 0E83: 26 05 BNE $0E8A 0E85: 48 LSLA 0E86: 84 F0 ANDA #$F0 0E88: 20 20 BRA $0EAA ------------------------------------------------ 0E8A: A6 C4 LDA ,U 0E8C: 84 C0 ANDA #$C0 0E8E: 34 02 PSHS A 0E90: A6 41 LDA +$01,U 0E92: 84 C0 ANDA #$C0 0E94: 44 LSRA 0E95: 44 LSRA 0E96: AA E0 ORA ,S+ 0E98: 0D C9 TST $C9 0E9A: 2B 08 BMI $0EA4 0E9C: 81 F0 CMPA #$F0 0E9E: 24 20 BCC $0EC0 0EA0: 8B 10 ADDA #$10 0EA2: 20 06 BRA $0EAA ------------------------------------------------ 0EA4: 81 00 CMPA #$00 0EA6: 23 18 BLS $0EC0 0EA8: 80 10 SUBA #$10 0EAA: 34 02 PSHS A 0EAC: 84 C0 ANDA #$C0 0EAE: C6 3F LDB #$3F 0EB0: BD 80 37 JSR $8037 0EB3: 35 02 PULS A 0EB5: 48 LSLA 0EB6: 48 LSLA 0EB7: 34 40 PSHS U 0EB9: 33 41 LEAU +$01,U 0EBB: BD 80 37 JSR $8037 0EBE: 35 40 PULS U 0EC0: 39 RTS --- via $8081 ------------------------------------------------ 0EC1: 26 05 BNE $0EC8 0EC3: 48 LSLA 0EC4: 84 C0 ANDA #$C0 0EC6: 20 1F BRA $0EE7 ------------------------------------------------ 0EC8: A6 C4 LDA ,U 0ECA: 84 80 ANDA #$80 0ECC: 34 02 PSHS A 0ECE: A6 5E LDA -$02,U 0ED0: 44 LSRA 0ED1: 84 40 ANDA #$40 0ED3: AA E0 ORA ,S+ 0ED5: 0D C9 TST $C9 0ED7: 2B 08 BMI $0EE1 0ED9: 81 C0 CMPA #$C0 0EDB: 24 1F BCC $0EFC 0EDD: 8B 40 ADDA #$40 0EDF: 20 06 BRA $0EE7 ------------------------------------------------ 0EE1: 81 00 CMPA #$00 0EE3: 23 17 BLS $0EFC 0EE5: 80 40 SUBA #$40 0EE7: 34 02 PSHS A 0EE9: 84 80 ANDA #$80 0EEB: C6 7F LDB #$7F 0EED: BD 80 37 JSR $8037 0EF0: 35 02 PULS A 0EF2: 48 LSLA 0EF3: 34 40 PSHS U 0EF5: 33 5E LEAU -$02,U 0EF7: BD 80 37 JSR $8037 0EFA: 35 40 PULS U 0EFC: 39 RTS --- via $807d ------------------------------------------------ 0EFD: 34 01 PSHS CC 0EFF: BD BB 75 JSR $BB75 0F02: 35 01 PULS CC 0F04: 27 14 BEQ $0F1A 0F06: A6 C4 LDA ,U 0F08: 84 7F ANDA #$7F 0F0A: 0D C9 TST $C9 0F0C: 2B 07 BMI $0F15 0F0E: 91 BC CMPA $BC 0F10: 24 13 BCC $0F25 0F12: 4C INCA 0F13: 20 05 BRA $0F1A ------------------------------------------------ 0F15: 81 00 CMPA #$00 0F17: 23 0C BLS $0F25 0F19: 4A DECA 0F1A: 91 BC CMPA $BC 0F1C: 23 02 BLS $0F20 0F1E: 96 BC LDA $BC 0F20: C6 80 LDB #$80 0F22: BD 80 37 JSR $8037 0F25: 39 RTS --- via $807f ------------------------------------------------ 0F26: 26 03 BNE $0F2B 0F28: 44 LSRA 0F29: 20 19 BRA $0F44 ------------------------------------------------ 0F2B: A6 C4 LDA ,U 0F2D: 80 20 SUBA #$20 0F2F: 1A 01 ORCC #$01 ; set carry 0F31: BD BD 0D JSR $BD0D ; get entry from $17f5 table 0F34: 0D C9 TST $C9 0F36: 2B 07 BMI $0F3F 0F38: 81 3F CMPA #$3F 0F3A: 24 0F BCC $0F4B 0F3C: 4C INCA 0F3D: 20 05 BRA $0F44 ------------------------------------------------ 0F3F: 81 00 CMPA #$00 0F41: 23 08 BLS $0F4B 0F43: 4A DECA 0F44: 1C FE ANDCC #$FE ; clear carry 0F46: BD BD 0D JSR $BD0D ; get entry from $17b5 table 0F49: A7 C4 STA ,U 0F4B: 39 RTS --- via $8079 ------------------------------------------------ 0F4C: 26 0C BNE $0F5A 0F4E: 44 LSRA 0F4F: 44 LSRA 0F50: 44 LSRA 0F51: 44 LSRA 0F52: 81 07 CMPA #$07 0F54: 23 1B BLS $0F71 0F56: 86 07 LDA #$07 0F58: 20 17 BRA $0F71 ------------------------------------------------ 0F5A: A6 C4 LDA ,U 0F5C: 0D C9 TST $C9 0F5E: 2B 07 BMI $0F67 0F60: 81 07 CMPA #$07 0F62: 24 0C BCC $0F70 0F64: 4C INCA 0F65: 20 04 BRA $0F6B ------------------------------------------------ 0F67: 4D TSTA 0F68: 27 06 BEQ $0F70 0F6A: 4A DECA 0F6B: 8D 04 BSR $0F71 0F6D: 5D TSTB 0F6E: 26 EC BNE $0F5C 0F70: 39 RTS ------------------------------------------------ 0F71: 34 40 PSHS U 0F73: CE 7F 82 LDU #$7F82 ; table below 0F76: E6 C6 LDB A,U 0F78: BD DB 11 JSR $DB11 0F7B: 5D TSTB 0F7C: 26 02 BNE $0F80 0F7E: 97 E4 STA $E4 0F80: 35 C0 PULS PC,U ------------------------------------------------ 0F82: 18 10 0C 08 06 04 03 ....... --- via $807b ------------------------------------------------ 0F8A: 34 01 PSHS CC 0F8C: C6 07 LDB #$07 0F8E: 35 01 PULS CC 0F90: BD 7F A2 JSR $7FA2 0F93: A6 C4 LDA ,U 0F95: 84 7F ANDA #$7F 0F97: 34 40 PSHS U 0F99: CE 7F 82 LDU #$7F82 ; table above 0F9C: E6 C6 LDB A,U 0F9E: D7 FC STB $FC 0FA0: 35 C0 PULS PC,U ------------------------------------------------ 0FA2: 34 04 PSHS B 0FA4: 26 77 BNE $801D 0FA6: 20 69 BRA $8011 --- via $8053 ------------------------------------------------ 0FA8: 34 01 PSHS CC 0FAA: C6 7F LDB #$7F 0FAC: 35 01 PULS CC 0FAE: 34 04 PSHS B 0FB0: 26 6B BNE $801D 0FB2: 20 61 BRA $8015 --- via $808f ------------------------------------------------ 0FB4: 34 01 PSHS CC 0FB6: C6 5F LDB #$5F 0FB8: 35 01 PULS CC 0FBA: 34 04 PSHS B 0FBC: 26 5F BNE $801D 0FBE: 20 55 BRA $8015 --- via $808b ------------------------------------------------ 0FC0: 34 01 PSHS CC 0FC2: C6 4A LDB #$4A 0FC4: 35 01 PULS CC 0FC6: 34 04 PSHS B 0FC8: 26 53 BNE $801D 0FCA: 20 49 BRA $8015 --- via $8061 ------------------------------------------------ 0FCC: 34 01 PSHS CC 0FCE: D6 E2 LDB $E2 0FD0: C1 03 CMPB #$03 0FD2: 26 04 BNE $0FD8 0FD4: C6 08 LDB #$08 0FD6: 20 02 BRA $0FDA ------------------------------------------------ 0FD8: C6 0F LDB #$0F 0FDA: 35 01 PULS CC 0FDC: 34 04 PSHS B 0FDE: 26 3D BNE $801D 0FE0: 20 30 BRA $8012 --- via $8083 ------------------------------------------------ 0FE2: 34 01 PSHS CC 0FE4: C6 04 LDB #$04 0FE6: 35 01 PULS CC 0FE8: 34 04 PSHS B 0FEA: 26 31 BNE $801D 0FEC: 20 23 BRA $8011 --- via $8089 ------------------------------------------------ 0FEE: 34 01 PSHS CC 0FF0: C6 0F LDB #$0F 0FF2: 35 01 PULS CC 0FF4: 34 04 PSHS B 0FF6: 26 25 BNE $801D 0FF8: 20 18 BRA $8012 --- via $8075 ------------------------------------------------ 0FFA: 34 01 PSHS CC 0FFC: C6 03 LDB #$03 0FFE: 35 01 PULS CC ; continue at $8000 --- wave offsets: --- each line represents one wave (0-74) --- each entry covers 8 semitones --- (starting with semitone 0) ------------------------------------------------ 1000: 34 34 34 34 34 35 36 36 37 37 38 38 39 18 16 15 ; saw 1010: 09 09 09 09 09 09 09 09 0A 0B 0C 24 24 18 16 15 ; bell 1020: 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 ; sine 1030: 46 46 46 46 46 47 48 48 49 49 4A 4A 4B 19 15 15 ; square 1040: 02 02 02 02 02 02 02 03 04 05 06 07 08 1A 17 15 ; pulse 1050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; noise1 1060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ; noise2 1070: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 ; noise3 1080: 27 27 27 27 27 27 27 27 28 29 29 2A 2A 18 16 15 ; bass 1090: 21 21 21 21 21 22 23 42 43 44 45 45 18 18 16 15 ; piano (multisample) 10A0: 3F 3F 3F 3F 3F 3F 3F 3F 3F 40 40 41 41 18 16 15 ; el pno 10B0: 25 25 25 25 25 3A 26 3B 3C 3D 3E 3E 17 17 17 15 ; voice1 10C0: 25 25 25 25 25 25 3A 26 3B 3C 3D 3E 17 17 17 15 ; voice2 10D0: 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F 1F ; kick 10E0: 1D 1D 1D 1D 1D 1D 1D 1E 4C 4D 4E 4F 50 51 17 15 ; reed 10F0: 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0E 0E 17 17 15 ; organ 1100: 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 10 11 11 17 17 15 ; synth1 1110: 12 12 12 12 12 12 12 12 12 12 13 14 14 15 15 15 ; synth2 1120: 1B 1B 1B 1B 1B 1B 1B 1B 1B 1B 1C 1C 1A 1A 17 15 ; synth3 1130: 2B 2B 2C 2D 2E 2F 30 31 32 33 33 33 33 18 16 15 ; formt1 1140: 2B 2B 2B 2C 2D 2E 2F 30 31 32 33 33 33 18 16 15 ; formt2 1150: 2B 2B 2B 2B 2C 2D 2E 2F 30 31 32 33 33 18 16 15 ; formt3 1160: 2B 2B 2B 2B 2B 2C 2D 2E 2F 30 31 32 33 18 16 15 ; formt4 1170: 2B 2B 2B 2B 2B 2B 2C 2D 2E 2F 30 31 32 18 16 15 ; formt5 1180: 07 07 07 07 07 07 07 07 07 07 07 07 08 1A 17 15 ; pulse2 1190: 4B 4B 4B 4B 4B 4B 4B 4B 4B 4B 4B 4B 4B 19 15 15 ; sqr 2 11A0: 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 0E 17 17 15 ; 4octs 11B0: 1C 1C 1C 1C 1C 1C 1C 1C 1C 1C 1C 1C 1A 1A 17 15 ; prime 11C0: 29 29 29 29 29 29 29 29 29 29 29 2A 2A 18 16 15 ; bass 2 11D0: 41 41 41 41 41 41 41 41 41 41 41 41 41 18 16 15 ; epno 2 11E0: 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 15 ; octave 11F0: 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 1A 17 15 ; oct+5 1200: 18 18 18 18 18 18 18 18 18 18 18 18 18 18 16 15 ; saw 2 1210: 19 19 19 19 19 19 19 19 19 19 19 19 19 19 15 15 ; triang 1220: 30 30 30 30 30 30 30 30 30 30 31 32 33 18 16 15 ; reed 2 1230: 8C 8C 8C 8C 8C 8C 8C 8C 8C 8C 8C 8C 08 1A 17 15 ; reed 3 1240: 6E 6E 6E 6E 6E 6F 70 71 72 73 74 1A 1A 1A 17 15 ; grit 1 1250: 6D 6D 6D 6D 6D 6E 6F 70 71 72 73 74 74 1A 17 15 ; grit 2 1260: 6D 6D 6D 6D 6D 6D 6E 6F 70 71 72 73 74 1A 17 15 ; grit 3 1270: 8D 8D 8D 8D 8D 8E 8F 90 91 92 93 94 95 96 15 15 ; glint1 1280: 8D 8D 8D 8D 8E 8F 90 91 92 93 94 95 96 15 15 15 ; glint2 1290: 8D 8D 8D 8E 8F 90 91 92 93 94 95 96 15 15 15 15 ; glint3 12A0: 89 89 89 89 89 89 89 8A 8B 8B 8C 8C 08 1A 17 15 ; clav 12B0: 76 76 76 76 76 76 76 76 7B 7B 7B 7C 7C 18 16 15 ; brass 12C0: 80 80 80 80 80 80 80 80 80 7D 7E 7F 7F 1A 17 15 ; string 12D0: 85 85 85 85 85 85 85 85 85 86 86 07 08 1A 17 15 ; digit1 12E0: 87 87 87 87 87 87 87 87 87 87 88 88 88 19 15 15 ; digit2 12F0: 78 78 78 78 78 78 78 78 78 78 77 77 77 15 15 15 ; bell 2 1300: 81 81 81 81 81 81 81 82 82 83 84 84 84 1A 17 15 ; alien 1310: 67 67 67 67 67 67 67 67 67 67 67 15 15 15 15 15 ; breath 1320: 65 65 65 65 65 65 65 65 65 66 66 17 17 17 17 15 ; voice3 1330: 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 ; steam 1340: 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 ; metal 1350: 68 68 68 68 68 68 68 68 68 69 69 69 69 69 69 69 ; chime 1360: 52 52 52 52 52 52 55 55 55 55 55 55 55 55 55 55 ; bowing 1370: 5B 5B 5B 5B 5B 5B 5C 5C 5C 5C 5C 5C 5C 5C 5C 5C ; pick 1 1380: 56 56 56 56 56 56 56 58 58 58 58 58 58 58 58 58 ; pick 2 1390: 5E 5E 5E 5E 5E 5E 5E 5E 5E 5E 5E 5E 5E 5E 5E 5E ; mallet 13A0: 5D 5D 5D 5D 5D 5D 5D 5D 5D 5D 5D 5D 5D 5D 5D 5D ; slap 13B0: 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 ; plink 13C0: 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 ; plick 13D0: 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 ; plunk 13E0: 79 79 79 79 79 79 79 79 79 79 79 79 79 79 79 79 ; click 13F0: 5A 5A 5A 5A 5A 5A 5A 5A 59 59 59 59 59 59 59 59 ; chiff 1400: 7A 7A 7A 7A 7A 7A 7A 7A 7A 7A 7A 7A 7A 7A 7A 7A ; thump 1410: 6B 6B 6B 6B 6B 6B 6B 6B 6B 6B 6B 6B 6B 6B 6B 6B ; logdrm 1420: 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A ; kick 2 1430: 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 ; snare 1440: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F ; tomtom 1450: 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 ; hi hat 1460: 6A 6A 6A 6A 6A 75 61 6C 60 60 60 60 60 60 60 60 ; drums1 1470: 6A 6A 6A 6A 6A 75 61 60 60 60 60 60 60 60 60 60 ; drums2 1480: 6A 6A 6A 6A 6A 75 61 6C 6C 6C 6C 6C 6C 6C 6C 6C ; drums3 1490: 6A 6A 6A 6A 6A 75 60 60 60 60 60 60 60 60 60 60 ; drums4 14A0: 6A 6A 6A 6A 6A 75 62 62 62 62 62 62 62 62 62 62 ; drums5 ------------------------------------------------ --- raw wave parameters ------------------------ --- 1: pointer to waverom page --- --- 2: value for wavetable size register (?) --- --- 3: semitone shift --- --- 4: fine tune --- ------------------------------------------------ 14B0: 00 24 00 00 ; noise1 00 14B4: 00 19 00 00 ; noise3 14B8: 10 19 00 00 ; pulse.1 14BC: 18 19 00 00 ; pulse.2 14C0: 20 19 00 00 ; pulse.3 14C4: 28 11 00 00 ; pulse.4 14C8: 2C 11 00 00 ; pulse.5 14CC: 30 11 00 00 ; pulse.6 14D0: 34 11 00 00 ; pulse.7 14D4: 38 11 00 00 ; bell.1 14D8: 3C 11 00 00 ; bell.2 14DC: 40 11 00 00 ; bell.3 14E0: 44 11 00 00 ; bell.4 14E4: 48 11 00 00 ; organ.1 14E8: 4C 11 00 00 ; organ.2 14EC: 50 11 00 00 ; synth1.1 14F0: 54 11 00 00 ; synth1.2 10 14F4: 58 11 00 00 ; synth1.3 14F8: 5C 11 00 00 ; synth2.1 14FC: 60 11 00 00 ; synth2.2 1500: 64 11 00 00 ; synth2.3 1504: 68 11 00 00 ; sine 1508: 6C 11 00 00 ; more aggressive sine 150C: 70 11 00 00 ; octave 1510: 74 11 00 00 ; saw2 1514: 78 11 00 00 ; triang 1518: 7C 11 00 00 ; oct+5 151C: 80 11 00 00 ; synth3.1 1520: 84 11 00 00 ; prime, synth3.2 1524: 88 11 00 00 ; reed.1 1528: 8C 11 00 00 ; reed.2 152C: 90 11 00 00 ; kick 1530: 94 11 00 00 ; noise2 20 1534: 98 13 00 00 ; piano.1.low 1538: 9C 13 00 00 ; piano.2.low 153C: A0 13 00 00 ; piano.3.low 1540: A4 09 00 00 ; bell.3 1544: A6 09 00 00 ; voice.1 1548: A8 09 00 00 ; voice.3 154C: AA 09 00 00 ; bass.1 1550: AC 09 00 00 ; bass.2 1554: AE 09 00 00 ; bass.3 1558: B0 09 00 00 ; bass.4 155C: B2 09 00 00 ; formt.1 1560: B4 09 00 00 ; formt.2 1564: B6 09 00 00 ; formt.3 1568: B8 09 00 00 ; formt.4 156C: BA 09 00 00 ; formt.5 1570: BC 09 00 00 ; formt.6 30 1574: BE 09 00 00 ; formt.7 1578: C0 09 00 00 ; formt.8 157C: C2 09 00 00 ; formt.9 1580: C4 09 00 00 ; saw.1 1584: C6 09 00 00 ; saw.2 1588: C8 09 00 00 ; saw.3 158C: CA 09 00 00 ; saw.4 1590: CC 09 00 00 ; saw.5 1594: CE 09 00 00 ; saw.6 1598: D0 09 00 00 ; voice.2 159C: D2 09 00 00 ; voice.4 15A0: D4 09 00 00 ; voice.5 15A4: D6 09 00 00 ; voice.6 15A8: D8 09 00 00 ; voice.7 15AC: DA 09 00 00 ; el pno.1 15B0: DC 09 00 00 ; el pno.2 40 15B4: DE 09 00 00 ; el pno.3 15B8: E0 09 00 00 ; piano.1.high 15BC: E2 09 00 00 ; piano.2.high 15C0: E4 09 00 00 ; piano.3.high 50 15C4: E6 09 00 00 ; piano.4.high 15C8: E8 09 00 00 ; square.1 15CC: EA 09 00 00 ; square.2 15D0: EC 09 00 00 ; square.3 15D4: EE 09 00 00 ; square.4 15D8: F0 09 00 00 ; square.5 15DC: F2 09 00 00 ; square.6 15E0: F4 09 00 00 ; reed.3 15E4: F6 09 00 00 ; reed.4 15E8: F8 09 00 00 ; reed.5 15EC: FA 09 00 00 ; reed.6 15F0: FC 09 00 00 ; reed.7 15F4: FE 09 00 00 ; reed.8 15F8: 00 74 DC 00 ; bowing.1 15FC: 28 5B E0 BC ; plunk 1600: 30 64 CD FC ; plick 60 1604: 40 74 DC 00 ; bowing.2 1608: 80 74 E3 30 ; pick2.1 160C: B0 64 E0 A8 ; plink 1610: C0 74 DC 30 ; pick2.2 1614: F0 64 E8 00 ; chiff.2 1618: 00 AC EE 30 ; chiff.1 161C: 20 A4 F9 1C ; pick1.1 1620: 30 A4 F4 00 ; pick1.2 1624: 40 AC F4 00 ; slap 1628: 60 AC E8 00 ; mallet 162C: 80 AC C9 3C ; tomtom 1630: 80 AC BD 3C ; tomtom.ds 1634: A0 AC DD 00 ; snare 1638: A0 AC D5 00 ; snare.ds 163C: C0 AC E4 4C ; metal 1640: E0 AC D8 00 ; steam 70 1644: 00 EC DC 00 ; voice3.1 1648: 20 EC DC 00 ; voice3.2 164C: 40 EC E8 00 ; breath 1650: 60 E4 09 96 ; chime.1 1654: 70 E4 09 96 ; chime.2 1658: 80 E4 F9 00 ; kick2 165C: 90 E4 00 00 ; logdrm 1660: 90 E4 E8 00 ; logdrm.ds 1664: A0 D1 00 00 ; grit.1 1668: A4 D1 00 00 ; grit.2 166C: A8 D1 00 00 ; grit.3 1670: AC D1 00 00 ; grit.4 1674: B0 D1 00 00 ; grit.5 1678: B4 D1 00 00 ; grit.6 167C: B8 D1 00 00 ; grit.7 1680: BC D1 00 00 ; grit.8 80 1684: C0 E4 F7 00 ; hi hat 1688: CC C9 00 00 ; brass.1 168C: CE C9 00 00 ; bell2.2 1690: D0 D1 00 00 ; bell2.1 1694: D4 D2 E8 00 ; click 1698: D8 DB E8 00 ; thump 169C: E0 C1 00 00 ; brass.2 16A0: E1 C1 00 00 ; brass.3 16A4: E2 C9 00 00 ; string.2 16A8: E4 C9 00 00 ; string.3 16AC: E6 C9 00 00 ; string.4 16B0: E8 C1 00 00 ; string.1 16B4: E9 C1 00 00 ; alien.1 16B8: EA C9 00 00 ; alien.2 16BC: EC C9 00 00 ; alien.3 16C0: EE C9 00 00 ; alien.4 90 16C4: F0 C9 00 00 ; digit1.1 16C8: F2 C9 00 00 ; digit1.2 16CC: F4 C9 00 00 ; digit2.1 16D0: F6 C9 00 00 ; digit2.2 16D4: F8 C9 00 00 ; clav.1 16D8: FA C9 00 00 ; clav.2 16DC: FC C9 00 00 ; clav.3 16E0: FE C9 00 00 ; clav.4 16E4: 68 11 54 00 ; glint.1 16E8: 68 11 48 00 ; glint.2 16EC: 68 11 43 00 ; glint.3 16F0: 68 11 3C 00 ; glint.4 16F4: 68 11 30 00 ; glint.5 16F8: 68 11 2B 00 ; glint.6 16FC: 68 11 24 00 ; glint.7 1700: 68 11 18 00 ; glint.8 a0 1704: 68 11 13 00 ; glint.9 1708: 68 11 0C 00 ; glint.10 --- accessed by $b7dc (byte values) 170C: CC CD CE D3 D4 CF D0 D1 D2 D5 D6 D7 D8 DD DE D9 ................ 171C: DA DB DC DF E0 E1 E2 E7 E8 E3 E4 E5 E6 E9 EA EB ................ 172C: EC F1 F2 ED EE EF F0 F3 F4 F7 F7 F4 F5 F7 F6 F5 ................ 173C: F8 FB FB F8 F9 FB FA F9 FC FF FF FC FD FF FE FD ................ 174C: 00 00 01 05 02 03 02 04 0A 0A 0B 0F 0C 0D 0C 0E ................ 175C: 14 14 15 19 16 17 16 18 06 06 07 08 07 09 10 10 ................ 176C: 11 12 11 13 1A 1A 1B 1C 1B 1D 1E 2A 2A 2B 1F 20 ...........**+. 177C: 24 21 22 21 23 1E 25 23 1F 22 24 25 2B 29 29 27 $!"!#.%#."$%+))' 178C: 27 28 28 26 00 02 03 04 05 06 07 08 09 0A 0B 0C '((&............ 179C: 0D 0E 0F 10 00 00 00 00 00 01 01 01 02 02 02 03 ................ 17AC: 03 03 04 05 06 07 08 09 0A ......... ------------------------------------------------ --- printable charset --- --- ! to ] represent 0. to 9. --- ------------------------------------------------ 17B5: 20 22 27 2A 2F 2B 2D 3D 3C 3E 5E 5F 2C 2E 3F 40 "'*/+-=<>^_,.?@ 17C5: 24 26 21 23 25 28 29 3A 3B 5B 5C 5D 30 31 32 33 $&!#%():;[\]0123 17D5: 34 35 36 37 38 39 41 42 43 44 45 46 47 48 49 4A 456789ABCDEFGHIJ 17E5: 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A KLMNOPQRSTUVWXYZ --- accessed by $bd0d (byte values) 17F5: 00 12 01 13 10 14 11 02 15 16 03 05 0C 06 0D 04 ................ 1805: 1C 1D 1E 1F 20 21 22 23 24 25 17 18 08 07 09 0E .... !"#$%...... 1815: 0F 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 .&'()*+,-./01234 1825: 35 36 37 38 39 3A 3B 3C 3D 3E 3F 19 1A 1B 0A 0B 56789:;<=>?..... ------------------------------------------------ --- MIDI message vectors ----------------------- ------------------------------------------------ 1835: 72 23 FDB $7223 ; TARGET SYSTEM NOT RESPONDING 1837: 72 06 FDB $7206 ; MIDI PROCEDURE COMPLETE 1839: 73 D2 FDB $73D2 ; FATAL ERROR: SEQ. MEM CLEARED 183A: 72 45 FDB $7245 ; ERROR: ONLY SEQ. DATA ALLOWED 183C: 72 79 FDB $7279 ; NOT ENOUGH MEMORY TO LOAD SEQ. 183F: 72 A0 FDB $72A0 ; NO SEQUENCE LOCATIONS AVAILABLE 1841: 72 C5 FDB $72C5 ; DATA TX'ed - CHECK RECEIVER ------------------------------------------------ --- TAPE message vectors ----------------------- ------------------------------------------------ 1843: 73 23 FDB $7323 ; TAPE PROCEDURE COMPLETE 1845: 73 40 FDB $7340 ; ERROR: TAPE NOT STARTED ON L. TONE 1847: 73 73 FDB $7373 ; WARNING: DATA ERROR WAS FIXED 1849: 73 A1 FDB $73A1 ; WARNING: VERIFY FAILED 184A: 72 79 FDB $7279 ; NOT ENOUGH MEMORY TO LOAD SEQ. 184C: 72 A0 FDB $72A0 ; NO SEQUENCE LOCATIONS AVAILABLE 184F: 73 D2 FDB $73D2 ; FATAL ERROR: SEQ. MEM CLEARED 1851: 73 A1 FDB $73A1 ; WARNING: VERIFY FAILED 1853: 74 0B FDB $740B ; ERROR: INCORRECT TYPE OF DATA 1855: 74 3D FDB $743D ; FATAL ERROR: INTL. PROGRAMS RESET 1857: 74 76 FDB $7476 ; ERROR: SEQ. LOAD FAILED, TAPE ERROR ------------------------------------------------ --- initialization of all voices --------------- ------------------------------------------------ 1859: 8E 40 00 LDX #$4000 ; clear DOSRAM between 185C: 6F 80 CLR ,X+ ; $4000 and $4738 185E: 8C 47 38 CMPX #$4738 1861: 25 F9 BCS $185C 1863: 8E 0D BF LDX #$0DBF ; Q correction table 1866: 10 8E 40 70 LDY #$4070 ; set filter resonance 186A: A6 80 LDA ,X+ ; correction values for 186C: A7 A8 5D STA +$5D,Y ; all voices in VDB area 186F: 31 A9 00 E7 LEAY +$00E7,Y ; 1873: 10 8C 47 A8 CMPY #$47A8 ; 1877: 25 F1 BCS $186A ; 1879: 10 8E 40 70 LDY #$4070 ; base of VDB table 187D: CE 60 7F LDU #$607F ; DOC address 1880: 0F 8C CLR $8C ; zero channel address 1882: BD EE C8 JSR $EEC8 ; init envelopes 1885: BD F2 4C JSR $F24C ; init LFOs 1888: 8E F4 79 LDX #$F479 ; jump vector to $f479 188B: AF A8 6B STX +$6B,Y 188E: 1F 30 TFR U,D ; A/B = $607f 1890: E7 A8 6D STB +$6D,Y ; DOC segment = $7f 1893: 96 8C LDA $8C ; (voice-1) * 16 1895: A7 A8 6E STA +$6E,Y 1898: 4C INCA ; voice * 16 1899: EF A8 C7 STU -$39,Y ; $607f + 3*voice number 189C: A7 C8 21 STA +$21,U ; set channel address osc #1 189F: 33 41 LEAU +$01,U ; U=U+1 18A1: EF A8 D9 STU -$27,Y ; $6080 + 3*voice number 18A4: A7 C8 21 STA +$21,U ; set channel address osc #2 18A7: 33 41 LEAU +$01,U ; U=U+1 18A9: EF A8 EB STU -$15,Y ; $6081 + 3*voice number 18AC: A7 C8 21 STA +$21,U ; set channel address osc #3 18AF: 33 41 LEAU +$01,U ; U=U+1 18B1: 8B 0F ADDA #$0F ; increment channel address 18B3: 97 8C STA $8C ; 18B5: 31 A9 00 E7 LEAY +$00E7,Y ; select next voice block 18B9: 10 8C 47 A8 CMPY #$47A8 ; end of VDB area 18BD: 25 C3 BCS $1882 18BF: 10 8E 40 70 LDY #$4070 ; start of VDB area 18C3: CE 68 F8 LDU #$68F8 ; DAC base 18C6: 5F CLRB 18C7: EF A8 6F STU +$6F,Y ; DAC base to voice table 18CA: EF A8 71 STU +$71,Y 18CD: E7 C4 STB ,U ; zero DAC output 18CF: E7 58 STB -$08,U ; zero filter frequency 18D1: E7 50 STB -$10,U ; zero resonance 18D3: E7 C8 C0 STB -$40,U ; center panning 18D6: 33 41 LEAU +$01,U ; increment DAC base ptr. 18D8: 31 A9 00 E7 LEAY +$00E7,Y ; select next VDB 18DC: 10 8C 47 A8 CMPY #$47A8 ; end of VDB area 18E0: 25 E5 BCS $18C7 18E2: BD F4 A5 JSR $F4A5 ; A/D conversion 18E5: 8E F4 D0 LDX #$F4D0 ; A/D interpolation 18E8: BF 0D AC STX $0DAC ; to indirect jump vector 18EB: 39 RTS ------------------------------------------------ --- STORAGE/MIDI: SEND ------------------------- ------------------------------------------------ 18EC: C1 08 CMPB #$08 ; SEND button 18EE: 26 07 BNE $18F7 18F0: 0F 0D CLR $0D 18F2: CE 71 20 LDU #$7120 ; MIDI CURRENT PROG ($5120) 18F5: 20 0B BRA $1902 ------------------------------------------------ --- STORAGE/MIDI LOAD -------------------------- ------------------------------------------------ 18F7: C1 06 CMPB #$06 ; LOAD button 18F9: 26 0C BNE $1907 18FB: 86 01 LDA #$01 18FD: 97 0D STA $0D 18FF: CE 70 DA LDU #$70DA ; MIDI LOAD 1902: 8E A6 BB LDX #$A6BB 1905: 20 30 BRA $1937 ------------------------------------------------ 1907: 39 RTS ------------------------------------------------ --- STORAGE/TAPE SAVE -------------------------- ------------------------------------------------ 1908: C1 07 CMPB #$07 ; SAVE button 190A: 26 07 BNE $1913 190C: 0F 0D CLR $0D 190E: CE 71 9A LDU #$719A ; TAPE SAVE ($519a) 1911: 20 18 BRA $192B ------------------------------------------------ --- STORAGE/TAPE LOAD -------------------------- ------------------------------------------------ 1913: C1 06 CMPB #$06 ; LOAD button 1915: 26 09 BNE $1920 1917: 86 01 LDA #$01 1919: 97 0D STA $0D ; TAPE LOAD ($518f) 191B: CE 71 8F LDU #$718F 191E: 20 0B BRA $192B ------------------------------------------------ --- STORAGE/TAPE VERIFY ------------------------ ------------------------------------------------ 1920: C1 08 CMPB #$08 ; VERIFY button 1922: 26 19 BNE $193D 1924: 86 80 LDA #$80 1926: 97 0D STA $0D 1928: CE 71 A5 LDU #$71A5 ; TAPE VERIFY ($51a5) 192B: BD 99 56 JSR $9956 192E: CE 71 B2 LDU #$71B2 ; SEQ. ONE/ALL... ($51b2) 1931: BD 99 56 JSR $9956 1934: 8E A6 E5 LDX #$A6E5 ; softbutton handler to 1937: BF 0D 11 STX $0D11 ; $a6e5 193A: 7E 99 56 JMP $9956 ------------------------------------------------ 193D: 39 RTS ------------------------------------------------ --- MIDI/SEND menu: button 0-2 (current prog.) - ------------------------------------------------ 193E: C1 00 CMPB #$00 1940: 25 0F BCS $1951 1942: C1 02 CMPB #$02 1944: 22 0B BHI $1951 1946: 5F CLRB 1947: 0D 0D TST $0D 1949: 27 01 BEQ $194C 194B: 39 RTS ------------------------------------------------ 194C: 8E 91 23 LDX #$9123 194F: 20 43 BRA $1994 ------------------------------------------------ --- MIDI/SEND: int. prog. banks ---------------- ------------------------------------------------ 1951: C1 05 CMPB #$05 1953: 25 0F BCS $1964 1955: C1 07 CMPB #$07 1957: 22 0B BHI $1964 1959: 5F CLRB 195A: 0D 0D TST $0D 195C: 27 01 BEQ $195F 195E: 39 RTS ------------------------------------------------ 195F: 8E 91 47 LDX #$9147 ; prepare jump to $9147 1962: 20 30 BRA $1994 ------------------------------------------------ --- MIDI SEND TO SQ-80 menu: CURRENT SEQUENCE -- ------------------------------------------------ 1964: C1 03 CMPB #$03 1966: 27 04 BEQ $196C 1968: C1 04 CMPB #$04 196A: 26 09 BNE $1975 196C: 5F CLRB 196D: 0D 0D TST $0D 196F: 26 01 BNE $1972 1971: 39 RTS ------------------------------------------------ 1972: 4F CLRA 1973: 20 1B BRA $1990 ------------------------------------------------ --- MIDI SEND TO SQ-80 menu: ALL SEQ. DATA ----- ------------------------------------------------ 1975: C1 08 CMPB #$08 1977: 27 04 BEQ $197D 1979: C1 09 CMPB #$09 197B: 26 32 BNE $19AF 197D: 5F CLRB 197E: 0D 0D TST $0D 1980: 26 0C BNE $198E ------------------------------------------------; target system not responding 1982: 8E A6 C9 LDX #$A6C9 ; softbutton handler to 1985: BF 0D 11 STX $0D11 ; $a6c9 / ROMLOW $19b0 1988: CE 71 57 LDU #$7157 ; MIDI SEND TO SQ80 ($5157) 198B: 7E 99 56 JMP $9956 ------------------------------------------------; target system did respond 198E: 86 01 LDA #$01 1990: 8E 93 90 LDX #$9390 ; prepare jump to $9390 1993: 5A DECB 1994: 34 06 PSHS B,A ; ff01 1996: CE 71 E4 LDU #$71E4 ; MIDI DATA TRANSFER ($51e4) 1999: BD A7 1E JSR $A71E ; handler 199C: AD 84 JSR ,X 199E: 35 06 PULS B,A 19A0: 96 0D LDA $0D ; get storage status 19A2: 81 06 CMPA #$06 19A4: 23 02 BLS $19A8 19A6: 86 01 LDA #$01 ; 01: MIDI procedure complete 19A8: C6 01 LDB #$01 19AA: 8E 78 35 LDX #$7835 ; error message vector base 19AD: 20 1D BRA $19CC ------------------------------------------------ 19AF: 39 RTS --- ------------------------------------------------ 19B0: 5F CLRB 19B1: 81 03 CMPA #$03 19B3: 27 04 BEQ $19B9 19B5: 81 04 CMPA #$04 19B7: 26 05 BNE $19BE 19B9: 8E 92 7D LDX #$927D ; prepare jump to $927d 19BC: 20 D6 BRA $1994 --- button 7-9 ------------------------------------------------ 19BE: 81 07 CMPA #$07 19C0: 24 04 BCC $19C6 19C2: 81 09 CMPA #$09 19C4: 22 05 BHI $19CB 19C6: 8E 92 38 LDX #$9238 ; prepare jump to $9238 19C9: 20 C9 BRA $1994 ------------------------------------------------ 19CB: 39 RTS ------------------------------------------------ 19CC: 34 06 PSHS B,A 19CE: 48 LSLA 19CF: EE 86 LDU A,X ; print dispplay buffer 19D1: BD 99 54 JSR $9954 19D4: 86 10 LDA #$10 ; keycode = 10 19D6: 97 A8 STA $A8 19D8: 8E 71 39 LDX #$7139 ; softbutton handler to 19DB: BF 0D 11 STX $0D11 ; ROMLOW $1139 19DE: A6 E0 LDA ,S+ 19E0: A1 E0 CMPA ,S+ 19E2: 26 12 BNE $19F6 19E4: C6 08 LDB #$08 19E6: BD BC 05 JSR $BC05 19E9: 34 06 PSHS B,A 19EB: CC 7A 35 LDD #$7A35 ; jump to ROMLOW $0a35 19EE: 34 06 PSHS B,A ; 19F0: CC 0E 00 LDD #$0E00 ; 19F3: BD 85 B4 JSR $85B4 ; 19F6: 39 RTS ------------------------------------------------ --- STORAGE/TAPE VERIFY menu: INT BANKS -------- ------------------------------------------------ 19F7: C1 07 CMPB #$07 ; softbutton 7: INT BANKS 19F9: 26 15 BNE $1A10 19FB: 0D 0D TST $0D 19FD: 2B 0C BMI $1A0B 19FF: 26 05 BNE $1A06 1A01: 8E 7A 75 LDX #$7A75 ; prepare jump to ROMLOW $1a75 1A04: 20 4C BRA $1A52 ------------------------------------------------ 1A06: 8E 7A 8F LDX #$7A8F ; prepare jump to ROMLOW $1a8f 1A09: 20 42 BRA $1A4D ------------------------------------------------ 1A0B: 8E 7A 92 LDX #$7A92 ; prepare jump to ROMLOW $1a92 1A0E: 20 3D BRA $1A4D ------------------------------------------------ --- STORAGE/TAPE VERIFY menu: ONE SEQ ---------- ------------------------------------------------ 1A10: C1 02 CMPB #$02 ; softbutton 2: ONE SEQ 1A12: 26 20 BNE $1A34 1A14: 0D 0D TST $0D 1A16: 2B 17 BMI $1A2F 1A18: 26 05 BNE $1A1F 1A1A: 8E 7B 56 LDX #$7B56 ; prepare jump to ROMLOW $1b56 1A1D: 20 33 BRA $1A52 ------------------------------------------------ 1A1F: BD A7 0A JSR $A70A 1A22: 24 04 BCC $1A28 1A24: 86 05 LDA #$05 1A26: 20 40 BRA $1A68 ------------------------------------------------ 1A28: 8E 7B 7E LDX #$7B7E ; prepare jump to ROMLOW $1b7e 1A2B: 0F CD CLR $CD 1A2D: 20 1E BRA $1A4D ------------------------------------------------ 1A2F: 8E 7B 94 LDX #$7B94 ; prepare jump to ROMLOW $1b94 1A32: 20 19 BRA $1A4D ------------------------------------------------ --- STORAGE/TAPE VERIFY menu: ALL SEQ ---------- ------------------------------------------------ 1A34: C1 04 CMPB #$04 1A36: 26 3C BNE $1A74 1A38: 0D 0D TST $0D 1A3A: 2B 0E BMI $1A4A 1A3C: 26 05 BNE $1A43 1A3E: 8E 7A EB LDX #$7AEB ; prepare jump to ROMLOW $1aeb 1A41: 20 0F BRA $1A52 ------------------------------------------------ 1A43: 8E 7B 17 LDX #$7B17 ; prepare jump to ROMLOW $1b17 1A46: 0F CD CLR $CD 1A48: 20 03 BRA $1A4D ------------------------------------------------ 1A4A: 8E 7B 2B LDX #$7B2B ; prepare jump to ROMLOW $1b2b 1A4D: CE 73 06 LDU #$7306 ; READING DATA FROM TAPE 1A50: 20 03 BRA $1A55 ------------------------------------------------ 1A52: CE 72 EC LDU #$72EC ; SAVING DATA TO TAPE 1A55: BD A7 1E JSR $A71E 1A58: 34 10 PSHS X 1A5A: BD 86 02 JSR $8602 1A5D: AE E4 LDX ,S 1A5F: AD 84 JSR ,X 1A61: BD 86 93 JSR $8693 1A64: 35 10 PULS X 1A66: 96 0D LDA $0D 1A68: 81 0A CMPA #$0A 1A6A: 23 01 BLS $1A6D 1A6C: 4F CLRA 1A6D: 5F CLRB 1A6E: 8E 78 43 LDX #$7843 1A71: 7E 79 CC JMP $79CC ------------------------------------------------ 1A74: 39 RTS ------------------------------------------------ 1A75: BD 7C D5 JSR $7CD5 1A78: 7F 0F FF CLR $0FFF 1A7B: 8E 12 34 LDX #$1234 1A7E: 86 01 LDA #$01 1A80: B7 10 00 STA $1000 1A83: BD 7C 8D JSR $7C8D 1A86: BD 7C 4E JSR $7C4E 1A89: BD 7C B9 JSR $7CB9 1A8C: 7E 7C DE JMP $7CDE ------------------------------------------------ 1A8F: 4F CLRA 1A90: 20 02 BRA $1A94 ------------------------------------------------ 1A92: 86 FF LDA #$FF 1A94: B7 0F FF STA $0FFF 1A97: 86 01 LDA #$01 1A99: B7 10 00 STA $1000 1A9C: BD 7C D5 JSR $7CD5 1A9F: CC 7D 3A LDD #$7D3A ; vector to $1d3a 1AA2: FD 0F F8 STD $0FF8 1AA5: CC 7D 1F LDD #$7D1F ; vector to $1d1f 1AA8: FD 0F F6 STD $0FF6 1AAB: BD 7C 81 JSR $7C81 1AAE: BD 7C 6F JSR $7C6F 1AB1: BD 7C B4 JSR $7CB4 1AB4: 8E 0F F3 LDX #$0FF3 1AB7: 10 8E 7A E8 LDY #$7AE8 1ABB: A6 84 LDA ,X 1ABD: A1 A4 CMPA ,Y 1ABF: 27 05 BEQ $1AC6 1AC1: 86 08 LDA #$08 1AC3: 7E 7C DF JMP $7CDF ------------------------------------------------ 1AC6: 30 01 LEAX +$01,X 1AC8: 31 21 LEAY +$01,Y 1ACA: 8C 0F F6 CMPX #$0FF6 1ACD: 26 EC BNE $1ABB 1ACF: B6 0F FF LDA $0FFF 1AD2: 27 05 BEQ $1AD9 1AD4: CC 7D 41 LDD #$7D41 ; vector to ROMLOW $1d41 1AD7: 20 03 BRA $1ADC ------------------------------------------------ 1AD9: CC 7D 3A LDD #$7D3A ; vector to ROMLOW $1d3a 1ADC: FD 0F F8 STD $0FF8 1ADF: BD 7C 4E JSR $7C4E 1AE2: BD 7C B4 JSR $7CB4 1AE5: 7E 7C DE JMP $7CDE ------------------------------------------------ 1AE8: 12 NOP 1AE9: 34 01 PSHS