0100 ;PIDE05.ASM 4/18/99 0110 ; 0120 *=$D800 0130 ; 0140 .BYTE $00,$00,$00 0150 .BYTE $80 ;$D803 0160 .BYTE $00 0170 ; 0180 JMP SIOVECT ;$D805 0190 JMP IRPVECT ;$D808 0200 ; 0210 .BYTE $91 ;$D80B 0220 .BYTE $00,$00,$00,$00 0230 .BYTE $00,$00,$00,$00 0240 .BYTE $00,$00,$00,$00 0250 .BYTE $00 0260 ; 0270 ; 0280 ;$D819 - INIT VECTOR 0290 ; 0300 WAITHD LDA #$50 0310 CMP $D197 0320 BNE WAITHD 0330 ; 0340 LDA #$10 0350 STA $D192 0360 LDA #$AF 0370 STA $D196 0380 LDA #$91 0390 STA $D197 0400 LDX #$40 0410 ; 0420 WLP DEY 0430 BNE WLP 0440 DEX 0450 BNE WLP 0460 ; 0462 JSR $D700 0464 ; 0470 LDA #$01 0480 STA $247 0490 RTS 0500 ; 0510 IRPVECT 0520 RTS 0530 ; 0540 SIOVECT 0550 LDA $D01F 0560 AND #$02 0570 BEQ SIO 0580 LDA $0300 0590 CMP #$31 0600 BNE SIO 0610 LDX #$3C 0620 ; 0630 SRCH 0640 LDA HDTABL+3,X 0650 AND #$0F 0660 CMP $0301 0670 BEQ IDECODE 0680 DEX 0690 DEX 0700 DEX 0710 DEX 0720 BPL SRCH 0730 ; 0740 SIO 0750 CLC 0760 RTS 0770 ; 0780 IDECODE 0790 LPBZY LDA $D197 0800 AND #$80 0810 BNE LPBZY 0820 ; 0830 LDA $0302 0840 CMP #$53 0850 BEQ STATUSCMD 0860 CMP #$21 0870 BEQ FORMATCMD 0880 CMP #$22 0890 BEQ FORMATCMD 0900 CMP #$52 0910 BEQ READCMD 0920 CMP #$57 0930 BEQ WRTCMD 0940 CMP #$50 0950 BEQ WRTCMD 0960 CMP #$4E 0970 BEQ STATUSCMD 0980 ; 0990 CMDREJ 1000 LDA #$01 1010 STA $02EA 1020 LDA #$8B 1030 ; 1040 RETURN 1050 STA $0303 1060 TAY 1070 SEC 1080 RTS 1090 ; 1100 STATUSCMD 1110 LDA HDTABL+3,X 1120 AND #$F0 1130 STA $02EA 1140 STA $0308 1150 STA $0309 1160 ; 1170 CLRSTATUS 1180 LDA #$01 1190 BNE RETURN 1200 ; 1210 FORMATCMD 1220 LDA $0304 1230 STA $0032 1240 LDA $0305 1250 STA $0033 1260 LDA #$FF 1270 LDY #$00 1280 STA ($32),Y 1290 INY 1300 STA ($32),Y 1310 BNE STATUSCMD 1320 ; 1330 READCMD 1340 JSR SETREGS 1350 BCS CMDREJ 1360 LDA #$20 1370 STA $D197 1380 LDY #$00 1390 LP1 LDA $D197 1400 AND #$80 1410 BNE LP1 1420 RDLP LDA $D197 1430 AND #$08 1440 BEQ RDLP 1450 LDA $D190 1460 STA ($32),Y 1470 INY 1480 CPY $308 1490 BNE RDLP 1500 ENDRD LDA $D190 1510 LDA $D197 1520 AND #$08 1530 BNE ENDRD 1540 BEQ CLRSTATUS 1550 ; 1560 WRTCMD 1570 JSR SETREGS 1580 BCS CMDREJ 1590 LDA #$30 1600 STA $D197 1610 LDY #$00 1620 LP2 LDA $D197 1630 AND #$80 1640 BNE LP2 1650 WRTLP LDA $D197 1660 AND #$08 1670 BEQ WRTLP 1680 LDA ($32),Y 1690 STA $D190 1700 INY 1710 BNE WRTLP 1720 BEQ CLRSTATUS 1730 ; 1740 SETREGS 1750 LDA $0304 1760 STA $0032 1770 LDA $0305 1780 STA $0033 1790 LDA $030A 1800 AND #$0F 1810 CLC 1820 ADC #$01 1830 STA $D193 1840 LDA $030A 1850 AND #$F0 1860 LSR A 1870 LSR A 1880 LSR A 1890 LSR A 1900 ORA #$A0 1910 STA $D196 1920 LDA $030B 1930 CMP HDTABL+2,X 1940 BCS SECTERR 1950 ADC HDTABL+1,X 1960 STA $D194 1970 LDA HDTABL,X 1980 ADC #$00 1990 STA $D195 2000 LDA #$01 2010 STA $D192 2020 CLC 2030 SECTERR RTS 2040 ; 2050 *=$D7C0 2060 HDTABL 2070 ; 2250 .END