Tapecart
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 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.
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.
- 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.
- 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.
- In den Settings die REU auf mind. 4MB einstellen und auf "enable" schalten.
- Im Filebrowser der Ultimate in den besagten Ordner wechseln und das Home-Verzeichnis mit CBM + HOME setzen.
- name.tcrt wählen → "Run with App" → Flashtool wird gestartet → "7. Drive menu..." → "1. change current device" → 00 als "Device number" eingeben.
- 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 |
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 |
|
216 / $d8 | n | Inhalt | Ab Offset 216 wird der Inhalt des Tapecart-Flashspeichers abgebildet. |
Quellen[Bearbeiten | Quelltext bearbeiten]
- ↑ Thema: Neue Hardware - Tapecart auf Forum64.de
- ↑ PDF-Datenblatt: Winbond W25Q16
- ↑ TCRT-Format
Weblinks[Bearbeiten | Quelltext bearbeiten]
- Quelltexte für Firmware & C64-Flashtool & Hardware
- Quelltext: Tapecart - source code
- Dokumentation & Programmierhilfen
- Dokumentation: Tapecart Programmers Reference
- Thema: Tapecart Programmierhilfen auf Forum64.de
- Downloads
- Bezugsquelle(n)
Dieser Artikel wurde Artikel des Monats. |