Tapecart

Aus C64-Wiki
Wechseln zu: Navigation, Suche
Tapecart
Das Tapecart
Typ: Kassettenport-Steckmodul für den C64
Hersteller: Tapecart
* Unseen (Hardware & Firmware)
* Retrofan (Label-Design)
* poly.play (Label-Druck)
Slideshow
* Enthusi (Code & Bildauswahl)
* Jammer (Musik)
* Veto (Extra-Fades)
Browser
* ALeX (Code)
* Retrofan (Grafik)
Neupreis: ca. € 20 mit Gehäuse [1]
Erscheinungsjahr: 2016 (Dezember)
Speicher: 2 MByte SpiFlash-Speicher

Das Tapecart ist ein kostenoptimiertes Kassettenport-Steckmodul für den Commodore 64. Es besitzt ein 2 MByte großes serielles Flash-ROM, das sich nur vom C64 aus befüllen lässt. Das Tapecart wird mit einer Slideshow ausgeliefert, die 250 Bilder enthält. Der Start erfolgt mit der Tastenkombination SHIFT  + RUN/STOP .



Spezifikation[Bearbeiten]

  • 2 MByte SpiFlash-Speicher (Winbond W25Q16) [2]
  • Blaues Kunststoffgehäuse 50 × 35 mm

Features[Bearbeiten]

  • Onefiler können über das SD2IEC geflasht werden.
  • Ladegeschwindigkeit ca. 9.000 bis 10.000 Bytes/Sekunde.
  • Geschwindigkeit beim Einflashen ca. 260 Bytes/Sekunde, mit JiffyDOS ca. 420 Bytes/Sekunde.

Flashtool[Bearbeiten]

Das Tapecart-Flashtool V1.1.

Das Flashtool bietet folgende Funktionen:

1. Write Onefiler to cart
→ Schreibt eine Datei (Onefiler) vom aktuellen Laufwerk in den Flash-Speicher.
Wird die Frage "use basic start?" mit nein beantwortet, muss noch die Startadresse hexadezimal angegeben werden.
2. Write TCRT file to cart
→ Schreibt eine TCRT-Image-Datei (max. 2.097.368 Bytes) vom aktuellen Laufwerk in den Flash-Speicher. (ca. 83 Minuten mit JiffyDOS)
3. Dump cart to TCRT file
→ Schreibt den gesamten 2 MByte großen Flash-Inhalt in eine TapeCaRT-Image-Datei (2.097.368 Bytes).
Hinweis: Am Speichermedium muss noch mindestens 2MB freier Speicherplatz vorhanden sein. (z.B. ein SD2IEC)
4. Advanced options
1. Write data file to cart: → Schreibt eine Datei ab einer bestimmbaren Startposition in den Flash-Speicher. Diese Funktion wird z.B. zum Updaten des Tapecart Browsers verwendet. (Flash-Offset = $001000)
2. Dump flash contents to file: → Schreibt den Flash-Inhalt nach Nameseingabe in eine Datei ohne den 215 Byte großen TCRT Header. (2.097.152 Bytes)
3. Write default loader: → Wiederherstellung des Standard-Loaders.
4. Write custom loader: → Schreibt eigenen Loader in den Flash-Speicher.
5. Dump loader to file: → Schreibt den Flash-Speicher des Loaders in eine Datei (173 Bytes).
6. Change display name: → Ändert den Anzeigenamen ("found"-Text beim Laden)
7. Change bootfile location: → Parameter der Bootdatei festlegen. (Offset, Länge und Startadresse)
Bei der Slideshow ist folgendes einzugeben: Offset=$0000, Länge=$f800, Startadresse=$080d.
Beim Browser ist folgendes einzugeben: Offset=$0000, Länge=$3000, Startadresse=$2800.
8. Return to main menu → Kehrt wieder zurück ins Hauptmenü.
5. Display cart info
→ Zeigt Informationen des Flashchips an.
6. Debug tools
1. Hexdump flash → Hier können, nach Eingabe des Offsets, 128 Bytes des Flash-Speichers angezeigt werden.
2. Calculate flash CRC32 → Ermittelt eine CRC32-Prüfsumme eines Speicherbereiches im Flash.
3. Set debug flags → Kann beim Schreiben oder Debuggen von Programmen nützlich sein.
4. Return to main menu → Kehrt wieder zurück ins Hauptmenü.
7. Exit
→ Beendet das Programm.

Slideshow[Bearbeiten]

Drei fotografierte Beispielbilder aus der Slideshow.

Bild 10: "As We Advance in Years", 2016 von ELKO
Bild 139: "Winter is Coming", 2016 von YAZOO
Bild 161: "Miss Pixcen", 2014 von N3XU5



Tapecart Browser[Bearbeiten]

Das Programm "tcrt-bundler.php" erzeugt aus einzelnen PRG-Dateien ein TCRT-Image mit integriertem Browser.
Auf Windows-Systemen muss das Programm PHP in der Version 5.6.21 (oder höher) installiert werden.


Der Browser.
Aufruf
php tcrt-bundler.php <input.txt> <out.tcrt> [<name>]


Argumente
input.txt → Enthält die einzubindende Dateiliste in das Image (siehe unten).
out.tcrt → Die Zieldatei im TCRT-Format.
name → Der optionale Name (max. 16 Zeichen , nur ASCII), Vorgabename: "TAPECART BROWSER".


Aufbau und Format der input.txt
Dateiname ; Anzeigename [; Type [ ; Kommentar]]
  • Dateiname: Diese Datei muss sich im gleichen Verzeichnis wie die input.txt Datei befinden.
  • Anzeigename: Der Anzeigename, der im Browser angezeigt wird (max. 16 Zeichen , nur ASCII).
  • Type: Der Eintragstyp kann in Dezimal oder Hex (Präfix "0x") eingegeben werden (0x01 ist Standard).
  • Kommentar: Wird nicht verwendet (Kommentar).


Beispiele
rickdanger.prg; Rick Dangerous
sman-splorf.prg; Spaceman Splorf
tetris.prg; Tetris
amicapaint.prg; Amica Paint;0x02

TCRT-Image Format[Bearbeiten]

Aufbau [3]

Hinweis: Alle Datenfelder im Tapecart-Image werden Little Endian (kleinstwertiges Byte zuerst) abgelegt.

Offset Bytes Funktion Beschreibung
00 / $00 16 Dateisignatur

Das Tapecart-Image beginnt mit der festen 16-Byte-Signatur
$74 $61 $70 $65 $63 $61 $72 $74 $49 $6d $61 $67 $65 $0d $0a $1a
Dies entspricht in ASCII "tapecartImage",13,10,26

16 / $10 2 Versionsnummer Hier wird die Version 1 beschrieben, daher muss dieses Feld auch den Wert 1 haben.

Falls in diesem Feld ein höherer Wert gefunden wird, kann die folgende Spezifikation abweichen.


Hinweis: Die folgenden vier Datenfelder entsprechen den Daten, die mit den Befehlen READ_LOADINFO / WRITE_LOADINFO aufgerufen werden:

18 / $12 2 Datenadresse Gibt den Offset des im Fastload-Modus gesendeten Datenblocks an.
20 / $14 2 Datenlänge Gibt die Länge des im Fastload-Modus gesendeten Datenblocks an.
22 / $16 2 Startadresse Gibt die Startadresse an, auf die nach dem Laden des Datenblocks im Schnelllade-Modus gesprungen wird.
24 / $18 16 Dateiname Gibt den Anzeigenamen an, der beim ersten Laden am C64 angezeigt wird.

Hinweis: Obwohl es nicht empfohlen wird, den Anfangslader zu ändern, der Vollständigkeit halber:

40 / $28 1 Loader flag Dieses Byte ist 1, wenn die folgenden 171 Byte einen gültigen Anfangslader enthält oder 0, wenn der Standard-Anfangslader genommen wird, aber nicht in der TCRT-Datei enthalten ist.

Auch wenn dieses Byte 0 ist, müssen die folgenden 171 Bytes in die Datei aufgenommen werden und sollten mit 0 gefüllt werden.

Die Absicht dieses Flags ist es, die Erstellung von TCRT-Dateien zu vereinfachen. Sie können einfach das Loader-Flag auf 0 setzen und müssen sich nicht darum kümmern, den Default-Loader einzubinden, um eine gültige TCRT-Datei zu erstellen.

41 / $29 171 Loader code Dies ist der Anfangslader, der für den Schnelllademodus verwendet wird und auch mit den Befehlen READ_LOADER / WRITE_LOADER gelesen oder geschrieben werden kann.

Wenn das vorangehende Loader-Flag 0 ist, sollte dieser Block mit 0 gefüllt werden. Die Software, die die TCRT-Datei verwendet, sollte eine eigene Kopie des Standard-Loader-Codes liefern. Abschließend werden die Inhalte des Datenspeichers in der Datei gespeichert. Da einige Anwendungen nicht die vollen 2 MByte des Tapecart verwenden, ist es möglich, eine kleinere TCRT-Datei zu erstellen, indem sie den leeren Platz am Ende weglassen. Jeder Teil des Datenspeichers, der nicht vom Datenblock in der TCRT-Datei abgedeckt ist, wird als gelöscht angenommen und enthält somit nur 0xff. Der Datenblock in der TCRT-Datei beginnt immer mit Adresse 0 im Tapecart-Datenspeicher.

212 / $d4 4 Inhaltsgröße
  • Der gültige Wertebereich liegt zwischen 0 (gesamter Flashspeicher wird gelöscht) und 2.097.152 (0x200000) für den gesamten Flashspeicher.
  • Das Löschen des Leerraums am Ende des Flashspeicherinhalts ist nicht erforderlich.
  • Eine mit 0xff komplett gefüllte 2 MByte große Datei, ist genauso gültig wie eine, die eine Länge von 0 angibt.
216 / $d8 n Inhalt Ab Offset 216 wird der Inhalt des Tapecart-Flashspeichers abgebildet.

Quellen[Bearbeiten]

  1. Thema: Neue Hardware - Tapecart auf Forum64.de
  2. PDF-Datenblatt: Winbond W25Q16
  3. TCRT-Format Sprache:englisch

Weblinks[Bearbeiten]

Quelltexte für Firmware & C64-Flashtool
Dokumentation & Programmierhilfen
Downloads
Bezugsquelle(n)



Artikel des Monats.gif Dieser Artikel wurde Artikel des Monats.