Perhaps the most elegant solution for loading CAS files into your P2000T is via a cartridge that hosts an SD-card slot. Even the smallest SD-cards have enough capacity to store the complete P2000T tape archive. Reading from such an SD-card is non-trivial and requires both a hardware solution to interface with the I/O port of the P2000T as well as a software solution to navigate through the files hosted on a FAT32 partition. This repository contains the PCB for interfacing a P2000T with an SD-card and the necessary software routines to grab .CAS files from said SD card and load them into memory.
Warning
Since version rev6 of the PCB, the I/O port has been changed to 0x40-0x4F
,
while older versions of the PCB use I/O port 0x60-0x6F
. Depending on which
version of the PCB you have, you need to use the right software packages.
The different versions are indicated by 0x40
and 0x60
.
Tip
Documentation
- Detailed documentation included how-to procedures can be found here
- There is also a manual in Dutch available.
Compatible with PCB rev6 or newer.
Note
Do not forget to change the LAUNCHER-0x40.BIN
to LAUNCHER.BIN
when copying
the file to the SD-card.
Compatible with PCB rev0-rev5.
Note
Do not forget to change the LAUNCHER-0x60.BIN
to LAUNCHER.BIN
when copying
the file to the SD-card.
Upon booting into the LAUNCHER application, the user interfaces with the SD-card using a set of short commands. Below, the list of commands is provided
Command | Description |
---|---|
ls |
List contents of current folder |
lscas |
List contents of current folder, listing contents of CAS files |
cd <number> |
Change directory |
run <number> |
Run .CAS file |
hexdump <number> |
Performs a 120-byte hexdump of a file |
fileinfo <number> |
Provides location details of a file |
ledtest |
Performs a quick test on the read/write LEDs |
stack |
Show current position of the stack pointer |
dump<XXXX> |
Perform a 120-byte hexdump of main memory starting at 0xXXXX |
romdump<XXXX> |
Perform a 120-byte hexdump of cartridge ROM starting at 0xXXXX |
ramdump<XXXX> |
Perform a 120-byte hexdump of cartridge RAM starting at 0xXXXX |
Note that <number>
needs to replaced with the specific number of a file. Users
who are familiar with command line interfaces are probably used to specifying
filenames rather than numbers. This reason this approach was chosen is mainly
because it is simpler to program and furthermore a bit quicker to type.
Compilation is done using the z88dk Docker
by means of compile.sh
. To compile the launcher, run
cd src
./compile launcher
and for the flasher utility
cd src
./compile flasher
- Cartridge cases
- PCB layout files (KiCAD)
- Modified BASIC ROM source files
- Launcher and Flasher programs
- Custom programs
- All software is shared under the GPL v3 license.
- All hardware (e.g. KiCAD files and .stl files) are shared under the CERN-OHL-S license.
- All documentation is shared under the CC-BY-SA 4.0 license.