Tapecart

From C64-Wiki
Jump to: navigation, search
Under Construction Site / Sign
Language German TO Language:english
This article has recently been imported from the German C64-Wiki and not been translated yet. Please come back at a later time to read the English version of this article or help us.


Tapecart
The Tapecart
Type: Cassette Port cartridge for the C64
Producer: Tapecart
* Unseen (Hardware & firmware design)
* Retrofan (Label design)
* poly.play (Label print)
Slideshow
* Enthusi (Code & image selection)
* Jammer (Music)
* Veto (Extra fades)
Browser
* ALeX (Code)
Retrofan (Graphic)
Price: approx. € 20 with housing [1]
Released: 2016 (December)
Discontinued:
Processor:
Memory: 2 MByte SpiFlash-memory
OS:
Info:

The Tapecart is a cost reduced cassette port cartridge for the Commodore 64. It contains a 2 MByte large serial flash ROM, which can only used from the C64. The tapecart ROM include a slide show with 250 pictures. The cartridge is starting by using the key combination SHIFT  + RUN/STOP .


Specification[edit]

  • 2 MByte SpiFlash-memory (Winbond W25Q16) [2]
  • Plastic housing 50 × 35 mm

Features[edit]

  • Onefiler können über das SD2IEC geflasht werden.
  • Loading rate ca. 9.000 - 10.000 Bytes/second.
  • Saving rate ca. 260 Bytes/second, with JiffyDOS ca. 420 Bytes/second.

Flashtool[edit]

The Tapecart flashtool V1.1

The flash tool Flashtool has following features:

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 (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[edit]

Three photographed sample pictures from the slideshow..

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



Tapecart Browser[edit]

The program "tcrt-bundler.php" generates with single PRG files a TCRT image with integrated browser.
Onto Windows systems must installed PHP in version 5.6.21 (or higher).


The browser
Call
php tcrt-bundler.php <input.txt> <out.tcrt> [<name>]


Parameter
input.txt → Contain the file list for the image
out.tcrt → The destination file name for TCRT-Format
name → The optional file name (max. 16 chars, only ASCII), default name: "TAPECART BROWSER"


Structure and format of input.txt
file name ;  name [; type [ ; remark]]
  • File name: This file must stand in the same subcategory as the file input.txt.
  • Show name: The show name is the name, which is shown in the browser (max. 16 chars, only ASCII).
  • Type: Can written in decimal or hex (präfix "0x") - (default is 0x01).
  • Remark: Isn't used (remark).


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

TCRT-Image Format[edit]

Aufbau [3]

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

Offset Bytes Function Description
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.

References[edit]

  1. Thread: Neue Hardware - Tapecart on Forum64.de Language German
  2. PDF-Datenblatt: Winbond W25Q16
  3. TCRT-Format

Links[edit]

Sourcecode for firmware & C64-flashtool
Documentation & Programming support
Downloads
Purchase source