Schnelles Formatieren mit der 1541
Das 1541-Floppy-Laufwerk gehört nicht nur beim Laden, sondern auch beim Formatieren einer Diskette nicht gerade zu den schnellsten seiner Gattung. »Fast Format« ändert das.
Wer bislang mit einer Datasette gearbeitet hat, wird erstaunt feststellen, daß eine Diskette erst formatiert werden muß, bevor man etwas mit ihr anfangen kann. Zu allem Unglück dauert dieser Vorgang, bei dem die Diskette in Spuren und Sektoren eingeteilt wird, fast genau 80 Sekunden. Wenn man beispielsweise ein ganzes Paket (zehn Disketten) nacheinander formatieren möchte, sitzt man fast 15 Minuten vor dem Computer. Fast Format reduziert diesen Vorgang auf nur 11 Sekunden pro Diskette, oder, bei zehn Disketten, auf unter drei Minuten.
Das eigentliche Fast Format ist als Maschinenprogramm im $C000 Bereich abgespeichert (Listing 1). Die neue Formatier-Routine wird durch folgenden Befehl aufgerufen:
SYS49152,N$,I$,D
Dabei ist N$ der neue Diskettenname, l$ die genau zwei Zeichen lange ID und D die Geräteadresse des betreffenden Floppy-Laufwerks. Der Fast Format-Befehl kann genauso wie der normale Formatierbefehl (N:Name, ID) verwendet werden. Etwas einfacher geht es mit dem kleinen Basic-Unterprogramm (Listing 2). Es fragt alle Parameter ab und startet die Format-Routine. Bitte vergessen Sie nicht, vor dem Start des Programms eine neue Diskette einzulegen, denn sonst ist Ihr gerade eingegebenes Programm wieder verloren.
Eine kleine Einschränkung noch zum Schluß. In der Regel gibt es keine Probleme mit schnell formatierten Disketten, bei älteren und verstellten Laufwerken sind allerdings Fehler möglich. Verwenden Sie deshalb für ganz besonders wichtige Daten-Disketten den normalen Formatier-Befehl.
(Jan Kusch/aw)PROGRAMM : FAST FORMAT C000 C3FD ----------------------------------- C000 : 20 E8 C0 20 9B B7 86 BA CF C008 : EA EA A9 05 A2 00 A0 C1 A3 C010 : 20 44 C0 A9 06 A2 E8 A0 12 C018 : C1 20 44 C0 A9 07 A2 DA 26 C020 : A0 C2 20 44 C0 A9 01 A2 55 C028 : C0 A0 00 20 AE C0 AD A7 33 C030 : 02 20 A8 FF 20 AE FF A2 29 C038 : 00 A0 05 20 B9 C0 20 D7 9F C040 : C0 4C AE FF 8D 77 C0 86 76 C048 : FB 84 FC A0 00 8C 76 C0 98 C050 : 20 D7 C0 A2 00 BD 73 C0 1D C058 : 20 A8 FF E8 E0 06 D0 F5 57 C060 : A2 20 B1 FB 20 A8 FF C8 D7 C068 : CA D0 F7 20 AE FF C0 00 8A C070 : D0 DB 60 4D 2D 57 E0 07 0F C078 : 20 20 A4 C0 A9 52 20 8A AC C080 : C0 20 AE FF 20 E1 C0 A0 51 C088 : 00 60 8D A0 C0 20 D7 C0 1E C090 : A0 00 B9 9E C0 20 A8 FF 22 C098 : C8 C0 06 D0 F5 60 4D 2D 4E C0A0 : 57 C0 00 01 8D A3 C0 8E 8E C0A8 : A1 C0 8C A2 C0 60 20 A4 FA C0B0 : C0 A9 57 20 8A C0 A0 00 50 C0B8 : 60 8E D5 C0 8C D6 C0 20 AF C0C0 : D7 C0 A0 00 B9 D2 C0 20 95 C0C8 : A8 FF C8 C0 05 D0 F5 4C 01 C0D0 : AE FF 4D 2D 45 00 05 A5 2B C0D8 : BA 20 B1 FF A9 6F 4C 93 7D C0E0 : FF EA 20 FD AE 4C 57 E2 8D C0E8 : A2 10 A9 A0 9D 67 C1 CA C2 C0F0 : 10 FA 20 E2 C0 C9 11 90 A1 C0F8 : 02 A9 10 4C D8 C3 EA EA 8A C100 : AD 79 05 85 12 AD 7A 05 DE C108 : 85 13 A9 01 85 22 A9 0A C5 C110 : 85 BA 78 AD 00 1C 09 04 D3 C118 : 8D 00 1C A9 2D 85 4A 20 4A C120 : 93 05 C6 4A D0 F9 A2 00 98 C128 : 20 A0 05 20 BD 05 A9 EE 66 C130 : 8D 0C 1C 20 00 06 85 C0 96 C138 : AD 00 1C 29 FB 8D 00 1C 76 C140 : A9 EC 8D 0C 1C 58 90 01 0D C148 : 60 20 94 07 A9 12 85 06 0C C150 : A9 00 85 07 20 C8 07 20 E0 C158 : BE 07 A9 FF 8D 01 03 E6 BF C160 : 07 20 C8 07 4C 05 D0 54 63 C168 : 45 53 54 4C 41 55 46 94 F6 C170 : A0 A0 A0 A0 A0 A0 A0 A0 6F C178 : A0 30 31 A0 32 41 A0 A0 82 C180 : A0 A0 A0 02 AE 00 1C E8 06 C188 : 20 A0 05 88 D0 F6 E6 22 EF C190 : 4C BD 05 A0 02 AE 00 1C DE C198 : CA 20 A0 05 88 D0 F6 60 E7 C1A0 : 8A 29 03 85 BB AD 00 1C 92 C1A8 : 29 FC 05 BB 8D 00 1C A9 A5 C1B0 : 04 85 BB A2 00 CA D0 FD 50 C1B8 : C6 BB D0 F9 60 A5 22 20 CB C1C0 : 4B F2 8A 0A 0A 0A 0A 0A 95 C1C8 : 85 44 AD 00 1C 29 9F 05 6E C1D0 : 44 8D 00 1C 60 AD 0C 1C 3A C1D8 : 29 1F 09 C0 8D 0C 1C A9 E8 C1E0 : FF 8D 03 1C 8D 01 1C 60 FC C1E8 : A5 22 20 4B F2 85 43 20 B8 C1F0 : D5 05 A9 FF 8D 01 1C A9 57 C1F8 : 00 85 BC AA A8 A5 39 99 0F C200 : 00 03 A5 BC 99 02 03 A5 84 C208 : 22 99 03 03 A5 13 99 04 79 C210 : 03 A5 12 99 05 03 A9 0F CB C218 : 99 06 03 99 07 03 A9 00 D8 C220 : 59 02 03 59 03 03 59 04 1C C228 : 03 59 05 03 99 01 03 18 57 C230 : 98 69 08 A8 E6 BC A5 BC F8 C238 : C5 43 90 C1 98 48 E8 8A 80 C240 : 9D 00 04 E8 D0 FA A9 4B 1E C248 : 8D 00 04 A9 03 85 31 20 6D C250 : 30 FE 68 A8 88 20 E5 FD 4C C258 : 20 F5 FD A9 04 85 31 20 99 C260 : E9 F5 85 3A 20 8F F7 A9 9E C268 : 00 85 32 A9 FF 8D 01 1C 95 C270 : A2 05 50 FE B8 CA D0 FA A4 C278 : A2 0A A4 32 50 FE B8 B9 E2 C280 : 00 03 8D 01 1C C8 CA D0 5A C288 : F3 84 32 A2 08 50 FE B8 0F C290 : A9 55 8D 01 1C CA D0 F5 AF C298 : A9 FF A2 05 50 FE B8 8D 85 C2A0 : 01 1C CA D0 F7 A2 BB 50 A0 C2A8 : FE B8 BD 00 01 8D 01 1C 2A C2B0 : E8 D0 F4 A0 00 50 FE B8 41 C2B8 : B1 30 8D 01 1C C8 D0 F5 3C C2C0 : A9 55 A2 08 50 FE B8 8D B8 C2C8 : 01 1C CA D0 F7 C6 BC D0 EE C2D0 : 9A 50 FE B8 50 FE B8 4C E1 C2D8 : 00 07 20 00 FE A5 C0 D0 26 C2E0 : 03 4C 67 07 A9 C8 85 BD 36 C2E8 : A5 43 85 BC A9 00 85 32 3D C2F0 : 20 77 07 A2 0A A4 32 50 11 C2F8 : FE B8 AD 01 1C D9 00 03 74 C300 : D0 30 C8 E6 32 CA D0 EF 94 C308 : 20 77 07 A0 BB 50 FE B8 65 C310 : AD 01 1C D9 00 01 D0 1A 00 C318 : C8 D0 F2 A2 FC 50 FE B8 19 C320 : AD 01 1C D1 30 D0 0B C8 D6 C328 : CA D0 F2 C6 BC D0 C1 4C E2 C330 : 67 07 C6 BD D0 B2 C6 BA B7 C338 : F0 03 4C 00 06 A9 03 38 E7 C340 : 60 A5 22 C9 23 F0 06 20 47 C348 : 82 05 4C 00 06 A9 01 18 42 C350 : 60 A9 D0 8D 05 18 A9 03 28 C358 : 2C 05 18 10 0C 2C 00 1C 69 C360 : 30 F6 AD 01 1C B8 A0 00 A1 C368 : 60 68 68 4C 58 07 20 BE 5C C370 : 07 A9 03 85 6E 20 B7 EE 62 C378 : A0 1B B9 67 05 99 90 03 66 C380 : 88 10 F7 A9 41 8D 02 03 D2 C388 : A9 2A 8D 03 03 A9 11 8D E7 C390 : 48 03 A9 FC 8D 49 03 60 54 C398 : A0 00 98 99 00 03 C8 D0 6E C3A0 : FA 60 A9 90 85 00 A5 00 36 C3A8 : 30 FC 60 00 00 AD 00 04 E4 C3B0 : 85 06 A9 00 85 07 85 1C 82 C3B8 : A9 80 85 00 A5 00 30 FC 18 C3C0 : A5 16 85 12 A5 17 85 13 63 C3C8 : A9 00 85 BE 85 C0 AD 01 C2 C3D0 : 04 20 4B F2 85 BF 60 EA C3 C3D8 : A8 88 F0 0A 30 08 B1 BB C3 C3E0 : 99 67 C1 88 10 F8 20 E2 BD C3E8 : C0 C9 02 F0 03 4C 48 B2 45 C3F0 : A8 88 B1 BB 99 79 C1 88 3E C3F8 : 10 F8 60 EA A5 AB
0 poke 53280,0:poke 53281,0:print"{clr}{grn}" 1 print spc(12)"fastformat 11.0{down}" 2 print spc(13)"von jan kusch{down}" 10 input"{down}disk-name ";n$ 20 input"{down}disk-id ";i$ 30 input"{down}laufwerk-nr.";d 35 if d<>8 and d<>9 then30 40 sys49152,n$,i$,d