Tapecart

Aus C64-Wiki
Zur Navigation springenZur Suche springen
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. Ein ATtiny44 übernimmt die Ansteuerung des Flash-ROMs. Das Tapecart wird mit einer Slideshow ausgeliefert, die 250 Bilder enthält. Der Start erfolgt mit der Tastenkombination SHIFT  + RUN/STOP .



Spezifikation[Bearbeiten | Quelltext bearbeiten]

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

Features[Bearbeiten | Quelltext bearbeiten]

  • Onefiler können über das SD2IEC geflasht werden.
  • Ladegeschwindigkeit ca. 2048 Bytes/Sekunde (Bildschirm an) bzw ca. 10.000 Bytes/Sekunde (Bildschirm aus).
  • Geschwindigkeit beim Einflashen ca. 260 Bytes/Sekunde, mit JiffyDOS ca. 420 Bytes/Sekunde.

Flashtool[Bearbeiten | Quelltext bearbeiten]

Das Tapecart-Flashtool V1.2.

Das Flashtool bietet folgende Funktionen:

1. 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)
2. 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.
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. Drive Menu
1. Change current device → Geräteadresse einstellen. (0 = REU)
2. Send command → Kommando senden z.B. Formatieren einer Diskette N:TEST,77
3. Return to main menu → Kehrt wieder zurück ins Hauptmenü.
8. Exit
→ Beendet das Programm.

Slideshow[Bearbeiten | Quelltext 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 | Quelltext 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).


Typen
  • 0x00: Allgemeines Programm
  • 0x01: Spiel
  • 0x02: Tool
  • 0x03: Multimedia
  • 0x04: Demo
  • 0x05: Bild
  • 0x06: Tune
  • 0xf0: Trenner (Größe muss 0 sein)
  • 0xfe: Systemdatei! (Programm, das beim Einschalten gestartet wird)


Beispiele
trenner.prg         ; Tools              ; 0xf0
amicapaint18.prg    ; Amica Paint V1.8   ; 0x02

trenner.prg         ; Spiele             ; 0xf0
rickdanger.prg      ; Rick Dangerous
sman-splorf.prg     ; Spaceman Splorf
tetris.prg          ; Tetris

Flashen mit der U2(+) bzw. U64[Bearbeiten | Quelltext bearbeiten]

Mit der 1541 Ultimate-II (+) bzw. Ultimate 64 ist es ebenfalls möglich, das Tapecart mit Hilfe der REU zu bespielen. Die Grundvoraussetzung ist eine aktuelle Firmware der Ultimate.

  1. Die Datei flashtool.prg auf tcr.prg umbenennen und zusammen mit der zu flashenden Datei name.tcrt in einem Ordner auf dem USB-Stick ablegen.
  2. In den Settings die REU auf mind. 4MB einstellen und auf "enable" schalten.
  3. Im Filebrowser der Ultimate in den besagten Ordner wechseln und das Home-Verzeichnis mit CBM  + HOME  setzen.
  4. name.tcrt wählen → "Run with App" → Flashtool wird gestartet → "7. Drive menu..." → "1. change current device" → 00 als "Device number" eingeben.
  5. Im Hauptmenü "1. Write TCRT file to cart" wählen und den Dateinamen leer lassen. → Flashvorgang startet

TCRT-Image Format[Bearbeiten | Quelltext 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 | Quelltext bearbeiten]

Weblinks[Bearbeiten | Quelltext bearbeiten]

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



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