ORG $0320
LEN $0095
0320 4C 38 03 JMP $0338
0323 4C 9C 03 JMP $039C
;; DATA
0326 00
0327 00
0328 00
0329 AE 28 03 LDX $0328
032C 9A TXS
032D AD 27 03 LDA $0327
0330 48 PHA
0331 AD 26 03 LDA $0326
0334 48 PHA
0335 4C 1B 08 JMP $081B ; PRINT routine in SUBS
0338 AA TAX
0339 30 22 BMI $035D ; if A >= 0x80, go to $035D to load MUS_
033B CD 00 F0 CMP $F000 ; this is where MUSA is loaded
033E B0 0C BCS $034C
0340 85 80 STA $80
0342 85 81 STA $81
0344 C9 00 CMP #$00
0346 D0 05 BNE $034D
0348 A5 82 LDA $82
034A D0 FC BNE ---
034C 60 RTS
034D A5 82 LDA $82
034F D0 0B BNE $035C
0351 A9 00 LDA #$00
0353 85 84 STA $84
0355 A9 F0 LDA #$F0
0357 85 85 STA $85
0359 20 00 04 JSR $0400 ; where is this?
035C 60 RTS
;; load MUS_ where _ is in accumulator
035D 8D 8E 03 STA $038E ; the A in MUSA
0360 A5 D0 LDA $D0 ; DISK NUMBER?
0362 C9 01 CMP #$01 ; if it's zero, we'll need the ^A hack
0364 D0 0C BNE $0372 ; otherwise branch
; assume the ^A in the filename
0366 A9 CD LDA #$CD ; put 'M' in
0368 8D 8A 03 STA $038A ; the space between BLOAD and MUSA
036B A9 81 LDA #$81 ; put '^A' in
036D 8D 8B 03 STA $038B ; the M in MUSA ???
0370 D0 0A BNE $037C
; assume the ^A NOT in the filename
0372 A9 A0 LDA #$A0 ; put ' ' in
0374 8D 8A 03 STA $038A ; the space between BLOAD and MUSA
0377 A9 CD LDA #$CD ; put 'M' in
0379 8D 8B 03 STA $038B ; the M in MUSA
037C A9 00 LDA #$00
037E 20 38 03 JSR $0338
0381 20 1B 08 JSR $081B ; PRINT routine in SUBS
0384 84 C2 CC CF C1 C4 A0 CD D5 D3 C1 AC C1 A4 C6 B0 B0 B0 8D ^DBLOAD MUSA,A$F000^M
0397 00
0398 A9 01 LDA #$01
039A D0 9C BNE ---
;; turns disk drive motor on for a period of time
; preserves A
039C 48 PHA ; preserve A
039A AE E9 B7 LDX $B7E9 ; disk SLOT * 16
039D BD 89 C0 LDA $C089,X ; motor on!
03A0 A2 05 LDX $#05 ; X = 0x05
03A2 A0 00 LDY $#00 ; Y = 0x00
03A4 C8 INY ; Y++
03A5 D0 FD BNE $03A4 ; repeat until Y == 0x00
03A7 CA DEX ; X--
03A8 D0 F8 BNE $03A2 ; repeat until X = 0x00
03AA AE E9 B7 LDX $B7E9 ; something to do with SLOT * 16
03AD BD 88 C0 LDA $C088,X ; motor off
03B0 68 PLA ; restore A
03B1 60 RTS
03B2 28 00 00