Turbo-Loader

Für den Z9001 gibt es mehrere Programme, das langsame Kassetteninterface zu beschleunigen.

Wegen der kürzeren Ladezeit werden solche Programme als Turbo-Loader bezeichnet. Das Aufzeichnen in höherer Geschwindigkeit dagegen als Turbo-Save oder Quick-Save. Beide Programmteile (Speichern und Laden) gehören zusammen.

siehe auch EMON

Die Aufzeichnungsgeschwindigkeit der OS-Routinen wird durch Halbierung der CTC-Zeitkonstanten verdoppelt.

Details

Dieser Turbo-Loader verbiegt die Interrupt-Routinen. Damit ist dieser Turbo-Loader in allen Programmen nutzbar, auch in Programmen, die direkt OS-Aufrufe ausführen (z.B. BASIC).

Im IDAS-Modul von U.Zander ist anstelle der Programmiermodul-Software ein Turbo-Loader enthalten.

Die Aufzeichnung erfolgt analog zum OS in Blöcken zu 130 Byte
1 Byte Blocknummer + 128 Byte Daten + 1 Byte Prüfsumme = 130 Byte

Dieses Turbo arbeitet aber nur mit spezieller Hardware am Userport:

Bit2: Ausgabe Signal
Bit4: Einlesen Signal


Das zugehörige Interface (Besitz G. Hänke)

Eagle-Unterlagen (G. Hänke): tonbandinterface_kc87.zip

Dateiname -
Laden in OS
Programmstandort E500-E7FFH
OS-Kommando QUICK, NORMAL, QLOAD

QLOAD entspricht dem normalen LOAD-Kommando, nutzt aber unabhängig von QUICK/NORMAL immer die Turbo-Routinen.

Details

Dieser Turbo-Loader verbiegt den CALL 5-BDOS-Aufruf. Damit ist dieser Turbo nur in Programmen nutzbar, die die BDOS-Schnittstelle nutzen, aber nicht in Programmen, die direkt OS-Aufrufe ausführen (z.B. BASIC).

Die Aufzeichnung erfolgt in Blöcken zu 137 Byte
1 Byte Blocknummer + 8 * ( 16 Byte Daten + 1 Byte Prüfsumme) = 137 Byte

QUICKSAVE

Dateiname QS16.COM, QS32.COM, QS48.COM
Laden in OS
Programmstandort QS16: 3E00-3F7CH
QS32: 7E00-7F7CH
QS48: BE00-BF7CH
OS-Kommando Q, N, QV

Quicksave ist ein etwa 175H-langes Maschinenprogramm, mit dessen Hilfe die Geschwindigkeit von Magnetbandaufzeichnungen auf maximal 8,7 KBit/s gesteigert werden kann. Effektiv können damit z.B. 10 KByte in 25 s gelesen bzw. geschrieben werden.

Quicksave wirkt wie eine Veränderung der Schreib- und Leseroutinen des Betriebssystems, und zwar durch ein einmal eingegebenes Kommando. Die Benutzung des jeweiligen Anwenderprogramms (z.B. den BASIC-Interpreter) wird dadurch in keiner Weise verändert.

Bedienung

Quicksave steht auf einer beliebigen integralen 100H-Grenze, z.B. 3E00H beim Grundgerät, und wird über ein Monitorkommando gerufen. Nach Ausführung des Kommandos arbeiten alle Programme (OS-SAVE, BASIC, ASM, Textverarbeitung usw.) wie gewohnt, aber mit der neu eingestellten Schreib- und Lesegeschindigkeit.

Q Umstellen auf Schnellaufzeichnung
N Zurückstellen auf normale Geschwindigkeit
QV nn Einstellen einer neuen Schnellaufzeichnungsgeschwindigkeit. Dabei ist „nn“ eine zweistellige Dezimalzahl, eventuell mit einer führenden Null. Zwischen „QV“ und „nn“ muß genau ein Leerzeichen stehen. Je größer nn desto geringer die Geschwindigkeit! Standard nn = 16 entspricht 4,9 kBit/s. Reicht diese Geschwindigkeit aus, so braucht der Nutzer das QV-Kommando nicht zu kennen. Minimal möglich: nn = 09, Maximal möglich: nn = 99. Gleichzeitig wirkt „QV“ wie „Q“, d.h. das Kommando schaltet auf Schnellaufzeichnung um.

Beispiel:

Ein mit normaler Geschwindigkeit aufgezeichnetes BASIC-Programm soll gelesen und danach schnell geschrieben werden. RAM- und BASIC-Modul seien gesteckt. Quicksave habe den Namen „QS“ auf Band und beginne in 7E00H. Nach dem Einschalten des Rechners und Meldung von OS kann man wie folgt vorgehen:

Bildschirm			Erläuterung
>QS				Einlesen von Quicksave
start tape
>BASIC
...
MEMORY SIZE?: 32255		letzte 200H Bytes reservieren
...BYTES FREE
OK
>CLOAD"SLOW"			Einlesen des Programms "SLOW"
				mit normaler Geschwindigkeit
...
OK
>BYE				Rückkehr zum Monitor
OS
>Q				Umstellen auf "quick"
>WBASIC
OK
>CSAVE"FAST"			Aufzeichnung erfolgt nun schnell.

Bis zur Eingabe des Monitorkommandos „N“ werden nun alle Files schnell geschrieben und gelesen.

Achtung! Nach RESET ist ggf. wieder „Q“ zu geben! (RESET wirkt wie „N“).

Hinweise zur Benutzung und Zuverlässigkeit

  • die Aufzeichnungen dürfen nicht übersteuert werden, es ist möglichst Handaussteuerung zu verwenden.
  • Beim Einlesen ist die ENTER-Taste erst beim Pfeifen vor dem File zu drücken! dieser Pfeifton ist kürzer als bei der Normalaufzeichnung.
  • die Pausen zwischen den einzelnen Blöcken sind so berechnet, daß bei der Standardeinstellung (=^ QV 16) gerade noch Zeit zum eventuellen Bildschirmrollen bliebt. Bei höherer Geschwindikeit werden die Pausen kürzer, und vor dem Einlesen längerer Files (mehr als 40 Blöcke) darf der Cursor die rechte untere Bildfeldgrenze nicht erreichen - sonst Fehler „record not found“. Abhilfe: Bildschirm vor dem Einlesen löschen - durch CTRL/L bzw. CLS in BASIC.
  • Aufzeichnungen mit „QV 32“ sind sehr zuverlässig. Auf dem Geracord GC 6020 arbeitet auch „QV 12“ sicher, Fehler sind praktisch immer bei schlecht laufenden Kassetten oder schiefen (!) bzw. verschmutzten Tonköpfen zu suchen. Stereogeräte sind etwas anfälliger. Bei Spulentonbändern oder guten Kassetten (und -geräten) ist auch „QV 10“ zu empfehlen, außer für Archivzwecke. Aufzeichnungen sind zwar bis „QV 04“ möglich, aber von Programm nicht mehr lesbar.
  • Durch „QV nn“ wird das Programm Quicksave„ verändert. Wenn Quicksave danach auf Band geschrieben wird, so ist die Standardeinstellung entsprechend dem zuletzt gegebenen QV-Kommando.
  • Die Systemuhr und CTC-Kanal 1 bleiben durch Quicksave stehen.
  • Außer A' werden keine Schattenregister benutzt.

Bandtestprogramm BOLERO

Dateiname BOLERO.COM
Laden in OS
Programmstandort 300-976H
OS-Kommando TT

Mit diesem Programm können Sie überprüfen, welche Aufzeichnungsgeschwindigkeit von QUICKSAVE Ihr Bandgerät zuläßt. Auch wenn Sie QUICKSAVE nicht benutzen, können Sie damit Ihr Bandgerät und auch Ihre Kassetten prüfen.

Bedienung

Sie benötigen für etwa 3 Spielminuten Platz auf einer Kassette. Lesen Sie das Programm BOLERO ein. Es startet von selbst und erklärt Ihnen alles Notwendige.

Nun legen Sie Ihre Kassette mit dem freien Bandstück ein und schalten auf Aufnahme. Auf dem Geracord 6020 sollte der Schieber auf etwa 1-2 stehen (Handaussteuerung verwenden!). Drücken Sie ENTER (wenn Sie STOP drücken, bricht BOLERO ab). Nun zeichnet BOLERO etwa 3 Minuten lang mit wachsender Geschwindigkeit auf. Es lohnt sich, mitzuhören. Danach erklärt Ihnen das Programm, daß die Kassette zurückzuspulen und das Bandgerät auf Wiedergabe zu schalten ist. BOLERO liest nun seine eigene Aufzeichnung ein und gibt bei jedem richtig gelesenen Block ein '-' aus, bei Fehlern dagegen '+'. Danach bricht BOLERO ab.

Sie können es mit dem Kommando

TT

jederzeit wieder neu starten.

Ein normales Gerät sollte nicht mehr als etwa 2 Fehler liefern (möglichst keine!). Andernfalls ändern Sie die Aussteuerung oder nehmen eine andere Kassette. Beachten Sie auch, ob die Fehler immer an den gleichen Stellen auftreten!

Details

Dieser Turbo-Loader verbiegt die Interrupt-Routinen. Damit ist dieser Turbo-Loader in allen Programmen nutzbar, auch in in Programmen, die direkt OS-Aufrufe ausführen (z.B. BASIC).

Wahnsinn!

animiertes Gif, wird vom IE leider nicht vernünftig angezeigt

Rechtes Bild: Kopierschutz. Animiertes Gif, bei Internet Explorer ggf. Internetoptionen/Erweitert/Multimedia/Animationen wiedergeben aktivieren.

Der Turbo von Sven Huth ist das mit Abstand fazinierendste Programm für den Z9001: Ein Turbo-Loader, der mit normalem KC-Block-Load beginnt und unvermittelt in den Turbo-Modus übergeht. Dabei flackern am Rand Farbbalken, wie man es sonst nur von Turbo-Loadern vom ZX Sprectrum oder C64 kennt.

Das Programm ist vollgestopft mit Debug-Hürden und Kopierschutzverfahren. Original lässt sich Turbo nur mit sich selbst und nur als Turbo-Aufzeichnung kopieren, es sind dabei auch nur 8 Generationen möglich. Beim Speichern einer 9. Generation stürzt der Rechner (absichtlich) ab. Wenn man Glück hat, bekommt man den kompletten Absturz incl. Foto (s. Bild-Animation)

:!: im Mega-Flash-Modul ist eine (modifizierte) Version von Turbo enthalten!

Historie

http://www.pixtur.de/background.eng.html:

Pionierhaus:
… Then we met Sven Simon Huth. This guy was a wizard! In a queer, shy way he sat at a computer somewhere in the corner of the room and just „did his stuff“. First we noticed that the programs on his tapes where saved with „turbo“-speed. He showed us a cool copy program - „TURBO“ - which could do such things. We couldn't even think of how this was possible! He told us that it was written in Assembler and there was some kind of magic in this word… We eagerly copied Turbo and loved it instantly. Soon it came out, that HE had written the Turbo… I can't describe our respect for him. If he said something, and this was not very often and in a shy, silent voice, it was just like words from inside the computer. He just knew everything. His BASIC became a strange mixture of ultra-long basic lines, where a new line-number was only inserted, if you need a GOTO to that line. The programs where full of calls right into the „BETRIEBSSYSTEM“. I bought my own Betriebsystem-listing right after that. He, of course, seemed not to need it since he had all in his head. He had a few tapes full of every program that had ever been made for the KC87 and the tape-covers where written with pencil in a small and neat writing. I can remember that he had a „TONKOPFDREHER“ attached to his shoulder bag with a fishing line. This was a small, self-made skewdriver you needed to adjust the tape tracking of the recorders. We didn't even know, that this was possible and Mr. Freudenberg was always a bit angry about it. I still played a lot but at the same time I started to programme. I took a course in assembler-programming with Mr. Berg. The course was held at Z1013 computers – a construction set with a similar asm-instruction set as KC87. I didn't like this computer, maybe because it looked clumsy and self-made, but in fact it was pretty good. Now we wrote a lot of programs for the KC87. Not the slow and stupid BASIC-programs but Paint-programs and games. Sven brought a debugger called „deb“ which could be loaded to different addresses in memory. You easily could write assembler (or machine-code since there where no labels or names but straight addresses) with it, and I started to write a version of „sokoban“ which I had seen on a PC1715 with Jochen. Jochen's father was some kind of engineer and he always had the newest stuff at home. Sokoban worked and I loved to see others playing with it. It has a secret code to jump to the last level after that you saw a picture of ALF which I painted in the KC87 cursor-graphic with Andreas' PaintBox program. In sokoban there was a mistake in the keyboard - function of which some friends still make jokes about.