0100 *= $4000›0110 ;›0120 ; SPARTA-DOS 3.2 PROGRAM TO›0130 ; RECONFIGURE A DTC-520A CTLR›0140 ; TO ACCEPT A DIFFERENT HARD›0150 ; DISK THAN THE ASSUMED DEFAULT.›0160 ;›0170 ; BILL DYCK, JANUARY 1987›0180 ;›0190 DRIVE_IN = $D1E2›0200 DRIVE_OUT = $D1E2›0210 DATA_OUT = $D1E1›0220 DATA_IN = $D1E1›0230 IO = 4›0240 CD = 1›0250 ATTN = $10›0260 BUSY = $20›0270 ;›0280 START›0290 JSR GET_ATTENTION›0300 TRANSFER_TO_DRIVE›0310 LDX #$00›0320 TRANSFER_LOOP›0330 LDA ASSIGN_DRIVE_PARAMETERS,X›0340 EOR #$FF›0350 STA DATA_OUT›0360 OUTPUT_OK?›0370 BIT DRIVE_IN›0380 BMI OUTPUT_OK?›0390 INX ›0400 CPX #$06›0410 BNE TRANSFER_LOOP›0420 WAIT_FOR_CONTROLLER›0430 BIT DRIVE_IN›0440 BMI WAIT_FOR_CONTROLLER›0450 GIVE_UP_DATA›0460 LDA DRIVE_IN›0470 EOR #$FF›0480 AND #IO›0490 BNE GIVE_UP_DATA›0500 DUMP_DATA›0510 LDX #$00›0520 DUMP_LOOP›0530 BIT DRIVE_IN›0540 BMI DUMP_LOOP›0550 LDA DRIVE_PARAMETERS,X›0560 EOR #$FF›0570 STA DATA_OUT›0580 INX ›0590 CPX #$0A›0600 BNE DUMP_LOOP›0610 FINISH›0620 JSR DROP_ATTENTION›0630 RTS ›0640 ;›0650 ; ÓÕÐÐÏÒÔÉÎÇ ÓÕÂÒÏÕÔÉÎÅÓ›0660 ;›0670 GET_ATTENTION›0680 LDA #$01›0690 EOR #$FF›0700 STA DATA_OUT›0710 WAIT_FOR_RESPONSE›0720 LDA DRIVE_IN›0730 AND #IO›0740 BEQ WAIT_FOR_RESPONSE›0750 LDA #ATTN›0760 STA DRIVE_OUT›0770 GOT_ATTN?›0780 LDA DRIVE_IN›0790 AND #BUSY›0800 BNE GOT_ATTN?›0810 CLEAR_ATTN›0820 LDA #$00›0830 STA DRIVE_OUT›0840 WAIT_FOR_REQUEST›0850 BIT DRIVE_IN›0860 BMI WAIT_FOR_REQUEST›0870 RTS ›0880 DROP_ATTENTION›0890 LDA DATA_IN›0900 DESELECT›0910 BIT DRIVE_IN›0920 BMI DESELECT›0930 LDX #$28›0940 DESELECT_LOOP›0950 LDA DATA_IN›0960 DEX ›0970 BPL DESELECT_LOOP›0980 RTS ›0990 ;›1000 ; ÐÒÏÇÒÁÍ ÄÁÔÁ›1010 ;›1030 ASSIGN_DRIVE_PARAMETERS .BYTE $C2,0,0,0,0,0›1040 DRIVE_PARAMETERS .BYTE $1C,0,0,3,2,$63,0,0,0,0›