Supertape

ZX-Team Forum
Antworten
Benutzeravatar
bodo
User
Beiträge: 305
Registriert: 14.02.2007, 17:21
Kontaktdaten:

Supertape

Beitrag von bodo » 11.06.2007, 20:39

Ihr habt's sicher schon alle gelesen: Peter hat mich zu einem Artikel über Supertape "verpflichtet". So einem netten Druck kann ich natürlich nur nachgeben... :wink:

Leider habe ich selbst gar keine Erkenntnisse, wie Supertape und der Zeddy zusammenpassen. Auf der aktuellen Team-CD habe ich zwar eine WAV-Datei gefunden. Diese enthält eine ZX-Aufzeichnung und zwei Supertape-Aufzeichnungen. Die ZX-Aufnahme ist offenbar (absichtlich?) fehlerhaft, jedenfalls will das Tool (mmzx81) das auch nach etwas Patcherei nicht konvertieren. Das ist aber vielleicht nicht so schlimm, weil eine der beiden Supertape-Aufnahmen das Demo-BASIC-Programm und die andere Aufnahme den Maschinencode enthält.

über viele weitere sachdienliche Hinweise wäre ich sehr dankbar! Wer hat's ausprobiert, wer konnte die WAV-Datei fehlerfrei verwenden, wer hat weitere Supertape-Aufnahmen? Was wollt ihr überhaupt wissen, sprich: welche Details sollen unbedingt im Artikel stehen? :?:

Bei mir war das Thema deshalb aktuell, weil ich alte Aufzeichnungen meines an Alexander (der vom Z-Fest) verschenkten Selbstbaurechners dekodiert habe. Bei dem hatte ich nämlich Supertape implementiert. Dummerweise sind es hauptsächlich Testaufnahmen, ausser dem Hexmonitor. Tja, das war 'ne Nullnummer...

Benutzeravatar
sbetamax
User
Beiträge: 451
Registriert: 04.03.2006, 22:01
Wohnort: Deutschland / Hessen / Nidda
Kontaktdaten:

Beitrag von sbetamax » 11.06.2007, 22:42

Hm,
ich hätte da mal ne Frage und Anregung zugleich. Könnte man die ROM funktion vom ZX81 bei LOAD und SAVE eigentlich beschleunigen?
Vieleicht dopplet oder 4x so schnell. Ich hab zwar das ROM-Listing hier. Der Maschinencode will aber nicht an mich....


Ich bastele, gerade an einem Artickel MiniDisk am Zeddy. Und da währe noch Potential was die Aufnahmemöglichkeit angeht.

Gruss Stephan

Benutzeravatar
nils.eilers
User
Beiträge: 111
Registriert: 31.01.2005, 14:07
Wohnort: Leverkusen
Kontaktdaten:

Beitrag von nils.eilers » 11.06.2007, 23:00

Hallo Forum,

Hab dazu in einem altem thread viewtopic.php?t=70&start=0&postdays=0&p ... ight=qsave gelesen, dass MatthiasS assemblierfähige Quellen von QSAVE hat.

Braucht das QSAVE nicht auch noch zusätzliche Hardware?

Aber ich denke, wenn die Quellen (ob nun von QSAVE oder SuperTape) schon vorliegen, sollte nichts dagegen sprechen, ein ROM zu bauen, das wahlweise "normal", super-, QSAVE, Floppy oder was auch immer SAVEd und LOADet.

Die Umschaltung könnte z.B. mit einem schlichtem POKE in eine ungenutzte Systemvariable erfolgen.

Im Original-ROM wird nur wohl kein Platz für Alternativroutinen sein. Da ich andere Routinen nicht kenne, kann ich nicht sagen, ob es passt, wenn man die Original-Routinen durch irgendwas anderes ersetzt und somit auf die original-Routinen verzichtet.

Es müsste allerdings relativ leicht möglich sein, den ZX81 intern mit 16K ROM auszustatten und damit ein gepatchtes ROM samt Erweiterungs-ROM zur Aufnahme zusätzlicher Kassetten- und Floppy-Routinen unterzubringen.

Wenn mir jemand die Quellen schickt, würde ich dieses Projekt gerne in Angriff nehmen.

Viele Grüsse,
Nils

Benutzeravatar
siggi
User
Beiträge: 2171
Registriert: 06.12.2005, 08:34
Wohnort: D, Hessen, tiefste Werreraa
Kontaktdaten:

Beitrag von siggi » 12.06.2007, 09:36

Hallo Nils,
wie in dem Thread oben schon erwähnt, habe ich den Source von Supertape als Artikel aus der C'T auf einer DVD, also nicht als direkt assemblierbare Source. Würde das helfen?

Zu ROM-Patches: der Platz für die SAVE/LOAD-Routine ist nicht allzu gross, SUPERTAPE wird man da nicht unterbringen können, weil da ja auch ein Kommandointerpreter, ASCII-Konvertierung und Verify-Rountinen drin sind. Das müsste man wohl alles wegschmeissen, will man es ins ROM quetschen.

Für grössere ROM-Patches habe ich daher bei mir 2 Lösungen implementiert:

LPRINT: Die Sinclair-Druckroutine habe ich durch eine "Druckertreiber-Guck-Routine" ersetzt. Beim Druckaufruf guckt diese nach, ober an fester Stelle im RAM (oberhalb 40K) ein Druckertreiber geladen ist (an einer Signatur erkennbar). Ist dort einer geladen, wird er angesprungen, ansonsten passiert nichts.
Und dort lade ich je nach Bedarf (mittels MEFISDOS) einen von derzeit 3 Druckertreibern hin:
1. den Original-Treiber aus dem ROM für den SINCLAIR-Drucker
2. einen ASCII-Druckertreiber für Normalpapierdrucker
3. einen seriellen Druckertreiber zum "Drucken" auf den PC via serielle Schnittstelle.
So habe ich mit einem ROM-Patch die Freiheit, beliebig viele verschiedene "Drucker" anzusteuern.

LOAD/SAVE: im ROM habe ich nur Minimalroutinen untergebracht, die das LOAD/SAVE <programmname> in ein MEFISDOS-Kommando umsetzen. Dann wird MEFISDOS durch ein "POKE 8" eingeblendet (im EEPROM bei 8-16K), diesem das umgesetzte Kommando übergeben und MEFISDOS aufgerufen. Darin passiert dann SAVE/LOAD auf HD, MMC, RAMDISK oder auch FLOPPY (AFAIK).
Nach Rückkehr ins gepatchte Basic-ROM wird dann MEFISDOS wieder ausgeblendet und die ursprüngliche Memory-Map (möglichst) wieder hergestellt. Das entspricht wohl der von Dir angedachten Lösung.
Den ROM-Patch hatte ich schon mal im TM beschrieben.

Also: man braucht (wegen Platzmangel im ROM) entweder RAM (wie beim LPRINT-Patch) oder (E)EPROM (und "POKE-Karte"), um den Code der Erweiterung unterzubringen.

Siggi

Benutzeravatar
sbetamax
User
Beiträge: 451
Registriert: 04.03.2006, 22:01
Wohnort: Deutschland / Hessen / Nidda
Kontaktdaten:

Beitrag von sbetamax » 14.06.2007, 23:35

Hallo bodo,
ich hab mir das WAV mal angehört.
Bei der ZX-Aufzeichnung scheint der Bildschirm Teil zu fehlen. Oder es ist mit dem Sparbildschirm abgespeichert.

Gruss Stephan

Benutzeravatar
bodo
User
Beiträge: 305
Registriert: 14.02.2007, 17:21
Kontaktdaten:

Fehler in der ZX-Aufzeichnung

Beitrag von bodo » 16.06.2007, 10:49

Nee, das ist es wohl nicht.

Zuerst gibt's einen Fehler in den Systemvariablen: E_LINE ist nicht >= VARS. Das habe ich im WAV-File gepatcht.

Dann gab's einen Fehler mit der Länge der zweiten Zeile (viel zu gross), die auch noch eine falsche Zeilennummer hat. Vielleicht ist aber auch die Länge der ersten Zeile zu klein.

Benutzeravatar
bodo
User
Beiträge: 305
Registriert: 14.02.2007, 17:21
Kontaktdaten:

Angebot

Beitrag von bodo » 16.06.2007, 10:55

Da ich ja schon ein rudimentäres Supertape-Dekodier-Programm habe, kann ich eure Supertape-Aufnahmen in Intelhex- oder Binär-Dateien umwandeln. Wenn ihr also noch 'was rumliegen habt, was ihr schon immer als Datei haben wolltet, könnt ihr es mir schicken. Damit kann ich dann auch versuchen, eine automatische Filterei zu implementieren; die fehlt mir nämlich noch. Bisher mache ich das von Hand in "audacity", einem Audioeditor.

Aber bitte wegen der Grösse der Anhänge _NICHT_ als WAV. Schön komprimiert am liebsten als Ogg-Vorbis, aber meinetwegen auch als MP3, dann sollte die Klangqualität nicht zu sehr leiden.

Und natürlich bitte keine Dutzenden Aufnahmen, oder mit gehörigen Dropouts... Dann kommt der Artikel erst 2010 oder so! :wink:

t0m
Site Admin
Site Admin
Beiträge: 575
Registriert: 04.03.2004, 13:32
Wohnort: CH-5506 Mägenwil
Kontaktdaten:

Re: Supertape

Beitrag von t0m » 24.09.2008, 06:21

Hallo zusammen,

habe in einem alten Ordner noch Kopien zum Thema QSAVE und SUPERTAPE gefunden. Habe diese kurzerhand gescannt und in einem PDF verewigt.
Wer Interesse hat, kann es sich ja ansehen:

http://tlienhard.com/zx81/supertape.pdf
http://tlienhard.com/zx81/qsave.pdf
t0m

There are 10 types of people in this world: those who understand binary and those who don't.

Antworten