| 1 | \r |
| 2 | /------------------------------------------------------\r |
| 3 | /FORMAT ALL OR PART OF A FLOPPY DISC\r |
| 4 | /------------------------------------------------------\r |
| 5 | \r |
| 6 | FRMT, STA /INITIALIZE PORT\r |
| 7 | DRCO\r |
| 8 | NEW, 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 |
| 17 | INVTN, 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 |
| 39 | NEXT, 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 |
| 69 | WDT, TAD I ADDR /WRITE DATA\r |
| 70 | JMS XLR\r |
| 71 | WLP, 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 |
| 89 | TRKEND, 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 |