Skip to content

CDFileSystem

Andrew Smalley edited this page Mar 8, 2026 · 3 revisions

Using PiSCSI CD‑ROM ISOs to Move Files onto Your Amiga

This page explains how to move files from your modern machine to your classic Amiga by presenting them as a read‑only CD‑ROM via PiSCSI. The Amiga just sees a normal CD, while the Pi side feeds it an ISO image.

Prerequisites

On the Amiga side:

  • Working PiStorm64/PiSCSI setup
  • PiSCSI driver installed (e.g. pi-scsi.device)
  • L:CDFileSystem (Commodore or AsimCDFS/CacheCDFS/etc.)

On the Pi / host side:

  • Linux with genisoimage (or mkisofs) installed
  • A directory where you put the files you want on the CD

Note: Package name may differ per distro. On Debian/Ubuntu it’s usually genisoimage. On others it might be part of cdrkit/cdrtools.

Step 1: Create a mountlist for PiSCSI CD‑ROM (CD0:)

Create (or edit) DEVS:DosDrivers/CD0 on the Amiga with contents similar to:

CD0:
FileSystem      = L:CDFileSystem
Device          = pi-scsi.device
Unit            = 3
Flags           = 0
Surfaces        = 1
SectorsPerTrack = 1
SectorSize      = 2048
Mask            = 0x7ffffffe
MaxTransfer     = 0x100000
Reserved        = 0
Interleave      = 0
LowCyl          = 0
HighCyl         = 0
Buffers         = 5
BufMemType      = 0
StackSize       = 1000
Priority        = 10
GlobVec         = -1
DosType         = 0x43443031

Key points:

  • Device = pi-scsi.device — this is the new PiSCSI device driver.
  • Unit = 3 — this example uses SCSI ID 3 for the CD‑ROM. Match this to your PiSCSI config.
  • SectorSize = 2048 — standard CD‑ROM sector size.
  • DosType = 0x43443031"CD01", the standard CD filesystem type.

After saving this file, either reboot or mount manually with:

mount CD0:

If everything is wired up, Workbench should show a CD icon when a valid ISO is attached on the Pi side.

Step 2: Build an ISO image on the Pi

On the Pi, create a directory which will become the root of the CD:

mkdir -p ~/amiga_iso/tsvideo
cp /path/to/your/files/* ~/amiga_iso/tsvideo/

Now create an ISO from that directory using genisoimage (or mkisofs):

cd ~
genisoimage -V TSVIDEO -J -r -o ~/amiga_iso/tsvideo.iso ~/amiga_iso/tsvideo

We created a little helper in the repo root folder ./pistorm64/makecd which essentially runs the command below and assumes you have already created ~/amiga_iso/vids with mkdir -p ~/amiga_iso/vids. It automates the process of regenerating the ISO image we will later mount Amiga‑side. 

mkisofs -o ~/amiga_iso/tsvideo.iso \
-V AMIVID \
-J -r \
~/amiga_iso/vids

Explanation:

  • -V TSVIDEO — volume label (appears as the CD name on Workbench).
  • -J -r — Joliet + RockRidge extensions (long filenames, permissions). The Amiga only really needs ISO‑9660, however these don’t hurt.
  • -o ~/amiga_iso/tsvideo.iso — output ISO path.
  • Last argument is the source directory.

You can put anything in that directory: LhA archives, music, videos, tools, etc.

Step 3: Attach the ISO to PiSCSI

In your PiStorm64 emulator configuration (e.g. default.cfg), tell PiSCSI to expose that ISO on unit 3.

Add the following lines:

setvar piscsi

setvar piscsi3 cdrom:~/amiga_iso/tsvideo.iso

Meaning:

  • setvar piscsi — enables the PiSCSI engine.
  • piscsi3 — configures unit/SCSI ID 3.
  • cdrom:~/amiga_iso/tsvideo.iso — treat this file as a CD‑ROM image.

Restart the emulator (or re‑read the config) so the new PiSCSI settings take effect.

Step 4: Mount CD0: on the Amiga

Back on the Amiga:

  1. Make sure L:CDFileSystem is present.

  2. Ensure CD0: mountlist is in DEVS:DosDrivers/ as shown above.

  3. Either reboot, or manually run:

    mount CD0:

If everything is configured correctly, Workbench should now show a CD icon named TSVIDEO (or whatever you used in -V).

Open it, and you will see all the files you placed in ~/amiga_iso/tsvideo/ on the Pi.

Step 5: Copy files into your Amiga system

Once the CD is visible as CD0:, it behaves like any other Amiga volume:

  • Use Workbench drag‑and‑drop to copy files to your hard drive partition(s).

  • Or use CLI:

    copy CD0:tools/mytool DH0:tools/mytool
    copy CD0:archive/mygame.lha DH1:games/

Because it is CD‑ROM, the ISO is read‑only. Modification happens on the Amiga destination volume.

Why this beats slow networking

On a PiStorm system, networking stacks and file protocols can introduce overhead, latency, and configuration pain. A PiSCSI‑backed ISO gives you:

  • Simple, deterministic performance (sequential block reads).
  • No TCP/IP, SMB or NFS configuration.
  • Reproducible “snapshots” of content: each ISO is a frozen, known‑good set of files.

You can keep multiple ISOs on the Pi (e.g. tools.iso, games.iso, videos.iso) and just flip the piscsi3 setting or maintain several units.

Tips and variations

  • Multiple CD images:

    setvar piscsi
    setvar piscsi3 cdrom:~/amiga_iso/tools.iso
    setvar piscsi4 cdrom:~/amiga_iso/videos.iso
    

    Then create CD3: for unit 3, CD4: for unit 4 if desired.

  • ISO rebuild loop: whenever you add files to the source dir, just re‑run genisoimage to rebuild the ISO.

  • Long filenames: The Amiga side may truncate or map names depending on the CD filesystem being used. For Workbench‑friendly results, keep names reasonably short and ASCII‑friendly.

Summary

  1. Create or edit CD0: to use pi-scsi.device unit 3 with CDFileSystem.
  2. Build an ISO with genisoimage on the Pi.
  3. Point piscsi3 at that ISO with cdrom:... in the PiStorm config.
  4. Mount CD0: on the Amiga and copy files as needed.

With PiSCSI acting as a virtual CD‑ROM drive, moving files to your Amiga becomes as easy as building a new ISO and restarting the emulator.

Clone this wiki locally