Fast Tape — die schnelle Kassette
Dieses Programm für den VC 20 ermöglicht Ihnen einen zehnmal schnelleren Lade- und Abspeichervorgang, das lange Warten bei 16- oder 8-KByte-Programmen hat nun ein Ende.
Das Maschinenprogramm benötigt etwa 750 Byte Ihres Basic-Speichers, was aber bei einer 16-KByte-Erweiterung nicht viel ausmacht. Das Programm läuft auch auf der Grundversion, doch ist es dann nicht so rentabel, weil es zu lange dauert, bis man Fast Tape geladen hat, und außerdem sind die Ladezeiten bei Programmen für die Grundversion noch erträglich. Aufgerufen wird Fast Tape mit »!L« zum Laden eines Programms und mit »!S« zum Abspeichern.
Auf die Ausgabe von »Loading« während des Ladevorgangs sowie »Saving« während des Abspeicherns wurde verzichtet. Ebenfalls muß auf den Befehl »VERIFY« und das schnelle Laden/Abspeichern von Daten-Files verzichtet werden. »Fast Tape« liegt als Basic-Lader vor.
Das Eintippen der DATAs erfordert sehr viel Sorgfalt. Speichern Sie das Programm auf jeden Fall ab, bevor Sie es starten, denn es löscht sich selbständig. Auf gröbere Fehler in den DATAs macht Sie das Programm selbst aufmerksam.
(Thomas Kolbe/ev)Zeile | Operation |
5 | Setzt Basic-Ende um 768 Bytes nach unten |
10-40 | DATAs der Maschinensprache |
100 | Einleseroutine |
110 | Vergleich, ob alle DATAs korrekt eingetippt worden sind |
120-170 | Anpassung der Maschinensprache an den Adreßbereich |
180 | FAST TAPE einschalten |
190 | Programm löschen |
1 rem**fast tape** 2 rem*by thomas * 3 rem* kolbe * 4 rem************* 5 poke56,peek(56)-3:a%=peek(56):poke52,a%:poke51,0:poke55,0:as=256*a%:a=0 10 data32,115,0,32,209,225,160,0,196,183,240,8,177,187,153,66,3,200,208 11 data244,169,0,153,66,3,200,192,16,144,246,165,185,141,65,3,165,43,141,61 12 data3,165,44,141,62,3,165,45,141,63,3,165,46,141,64,3,169,255,141,60,3 13 data32,77,248,134,172,132,173,169,132,133,174,169,3,133,175,160,1,132,186 14 data32,251,27,165,43,133,172,165,44,133,173,165,45,133,174,165,46,133,175 15 data160,1,132,186,76,251,27,32,115,0,32,209,225,160,1,132,186,32,77,248 16 data134,172,132,173,169,132,133,174,169,3,133,175,32,65,28,173,60,3,201 17 data255,208,227,160,99,32,230,241,160,0,185,66,3,32,210,255,200,192,16 18 data208,245,160,0,196,183,240,10,177,187,217,66,3,208,196,200,208,242,173 19 data65,3,201,0,240,21,234,234,162,0,189,61,3,149,172,232,224,4,208,246 20 data160,1,132,186,76,65,28,165,43,133,172,165,44,133,173,160,1,132,186 21 data173,63,3,56,237,61,3,133,45,173,64,3,237,62,3,133,46,24,165,45,101 22 data43,133,174,133,45,165,46,101,44,133,175,133,46,76,65,28,32,183,248 23 data32,160,28,169,2,32,179,28,136,192,9,208,246,152,32,179,28,162,8,136 24 data208,247,132,215,177,172,32,181,28,162,5,230,172,208,4,230,173,202,202 25 data165,172,197,174,165,173,229,175,144,231,184,165,215,32,181,28,162,9 26 data136,208,246,200,132,192,88,76,8,253,32,148,248,32,160,28,132,215,169 27 data39,141,40,145,162,1,32,247,28,38,189,165,189,201,2,208,245,160,9,32 28 data231,28,201,2,240,249,196,189,208,232,32,231,28,136,208,246,145,172 29 data69,215,133,215,32,231,28,230,172,208,2,230,173,165,172,197,174,165 30 data173,229,175,165,189,144,229,32,164,28,32,58,28,165,189,69,215,240,10 31 data165,175,234,201,3,240,3,76,156,225,96,201,0,240,12,160,0,132,192,202 32 data208,253,136,208,250,120,96,104,104,96,162,9,133,189,69,215,133,215 33 data169,8,133,163,234,6,189,173,32,145,41,247,32,217,28,162,19,184,9,8 34 data32,217,28,162,16,198,163,208,232,96,202,208,253,144,5,162,11,202,208 35 data253,141,32,145,96,169,8,133,163,32,247,28,38,189,198,163,208,247,165 36 data189,96,169,2,44,45,145,240,251,173,45,145,142,41,145,44,33,145,10,10 37 data10,96,169,22,141,8,3,169,29,141,9,3,96,32,115,0,240,4,201,33,240,3 38 data76,231,199,32,115,0,201,76,240,13,201,83,208,6 39 data32,0,27,76,174,199,76,8,207,32,105,27,173,65,3,201,0,240,3,76,174,199 40 data169,118,160,195,32,30,203,76,42,197,-1 100 readb:ifb>-1thenpokeas+a,b:s=s+b:a=a+1:goto100 110 ifs<>73742thenprint"data error":end 120 pokeas+81,a%:pokeas+104,a%:pokeas+132,a%+1:pokeas+201,a%+1 130 pokeas+250,a%+1:pokeas+256,a%+1:pokeas+261,a%+1:pokeas+270,a%+1 140 pokeas+282,a%+1:pokeas+308,a%+1:pokeas+326,a%+1:pokeas+338,a%+1 150 pokeas+351,a%+1:pokeas+362,a%+1:pokeas+374,a%+1:pokeas+395,a%+1 160 pokeas+398,a%+1:pokeas+457,a%+1:pokeas+465,a%+1:pokeas+493,a%+1 170 pokeas+529,a%+2:pokeas+559,a%:pokeas+568,a% 180 sys(as+523) 190 new