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›