A large commit.
[pdp8.git] / sw / rescue / muenchen2013 / files / krause_soft / fdfrmt.pa
CommitLineData
81e70d48
PH
1\r
2/------------------------------------------------------\r
3/FORMAT ALL OR PART OF A FLOPPY DISC\r
4/------------------------------------------------------\r
5\r
6FRMT, STA /INITIALIZE PORT\r
7 DRCO\r
8NEW, JMS XSRA /INITIALIZE DRIVE\r
9 CSR\r
10 TAD (FDFI /ABORT COMMAND\r
11 JMS XLR\r
12 JMS XGR\r
13 TAD (FDRS /RESTORE DRIVE\r
14 JMS XLR\r
15 JMS XGR\r
16\r
17INVTN, JMS TYPE /ASK FOR FIRST TRACK #\r
18 MSG1\r
19 JMS ACCEPT\r
20 DCA FTN /SAVE IT\r
21 TAD FTN /VALIDITY CHECK\r
22 TAD (-63\r
23 SPA CLA\r
24 JMP INVTN\r
25\r
26 JMS TYPE /ASK FOR # OF TRACKS TO FORMAT\r
27 MSG2\r
28 JMS ACCEPT\r
29 CIA /NEGATE\r
30 DCA TCNT /SAVE IT\r
31\r
32 JMS TYPE /TYPE WARNING\r
33 MSG3\r
34 JMS ACCEPT\r
35 TAD (-1 /OK?\r
36 SZA\r
37 JMP ABORT /NO - ABORT\r
38\r
39NEXT, TAD TCNT /CHECK TRACK COUNT\r
40 SNA CLA\r
41 JMP EXIT /EXIT IF ZERO\r
42\r
43 JMS XSRA /SEEK TO TRACK\r
44 DATA\r
45 TAD FTN\r
46 JMS XLR\r
47 JMS XGR\r
48\r
49 TAD (-SPT /SETUP SECTORS PER TRACK\r
50 DCA SCNT\r
51 TAD (STAB /SETUP ADDRESS OF SEKTOR TABLE\r
52 DCA SNUM\r
53 TAD I SNUM /SET FIRST SECTOR #\r
54 DCA SECTOR\r
55 ISZ SNUM\r
56 NOP\r
57 TAD (FSTRT-FEND /SETUP FULL TABLE LENGTH\r
58 DCA PNT\r
59 TAD (FSTRT /SETUP START ADDRESS\r
60 DCA ADDR\r
61\r
62 JMS XSRA /ISSUE WRITE TRACK COMMAND\r
63 CSR\r
64 TAD FDWT\r
65 JMS XLR\r
66 JMS XSRA /SWITCH TO DATA REGISTER\r
67 DATA\r
68\r
69WDT, TAD I ADDR /WRITE DATA\r
70 JMS XLR\r
71WLP, DBRI /WAIT FOR INTRQ OR DRQ\r
72 RAL\r
73 SMA\r
74 JMP NEXT\r
75 SZL\r
76 JMP WLP\r
77 ISZ PNT /INCREMENT BYTE COUNT\r
78 JMP WDT\r
79\r
80 TAD (FNORM-FEND /RESET BYTE COUNT\r
81 DCA PNT\r
82 TAD (FNORM /RESET ADDRESS\r
83 DCA ADDR\r
84 TAD I SNUM /GET NEXT SECTOR #\r
85 DCA SECTOR\r
86 ISZ SNUM\r
87 JMP WDT\r
88\r
89TRKEND, JMS XWCC /WAIT FOR END OF COMMAND\r
90 JMS XSRA /GET STATUS\r
91 CSR\r
92 JMS XGR\r
93 MQL /DISPLAY IN MQ REGISTER\r
94 JMP NEW /REENTER\r