
#PiStorm, bridged with the #general channel on Discord, #PiStorm-hardware which is bridged with #hardware, #PiStorm-firmware, bridged with #firmware,#PiStorm-Amiga bridged with #software-amiga, #PiStorm-pi, brigded with #software-pi and #PiStorm-chat, bridged with #ot-and-chitchat.
IMPORTANT NOTE: Selling blank or complete PCBs or derivatives on eBay or elsewhere for excessive profit is frowned upon and may lead to forthcoming related projects being closed source.
PiStorm_RevB_EPM240_74LVC16373.zip, but they may be out of date. Joining the Discord and checking for the latest revision/BoM for the PiStorm adapter board is recommended. Please note that just because it says "RevB_EPM240" does NOT mean that all Rev B boards are EPM240s.EPM240 and EPM570 used on the PiStorm board must be an Altera MAX II CPLD. There are currently some speed grade issues with the newer MAX V counterparts that prevent them from functioning as a replacement.~~There is now an experimental bitstream available for the MAX V EPM240 part that can be flashed using the flash.sh script, but please note that this is not yet thoroughly tested and since not all silicon is created equal and this firmware requires overclocking the CPLD itself, it may not or may not work properly. Testing is currently underway.
While the PiStorm should work with any DIP socket 16-bit 68000-powered system, the FC lines are currently not properly handled and no guarantees can be made for it working on anything except an Amiga 500, 500+, 1000 and 2000. It does work to some extend in a CDTV, but the lack of bus arbitration signal handling in the CPLD firmware will mean that the CD-ROM drive either does not work at all, or only works sporadically when the timing stars align.
EPM570T100C5N as the CPLD that should be used, you can substitute it with for instance an EPM240T100C5N or equivalent, but there are some things worth knowing.EPM240GT100I5N) does work, this requires some changes to the components you populate the board with, please inquire on Discord or IRC for detailed information.Since much of the initial work and testing for the PiStorm was done on Amiga computers, a number of extended features are available when the PiStorm is paired with for instance an Amiga 500: * Kickstart ROM mapping: 1.3, 2.0, 3.1, anything you might own and have dumped in a byteswapped format. Extended ROM mapping as well for instance with the CDTV extended BIOS. * An A1200 3.1+ Kickstart ROM is currently recommended, as this one has the most dynamic automatic configuration on boot. * Fast RAM: Z2, Z3 and CPU local Fast can be mapped for high performance memory available to the CPU only on the PiStorm side of things. * Virtual SCSI: PiSCSI, a high performance virtual SCSI interface for mapping raw RDB disk images or physical storage devices connected to the Pi for use on the Amiga. * RTG: PiGFX, a virtual RTG board with almost all P96-supported functionality supported and accelerated. * Some other things: Most likely I forgot something while writing this, but someone will probably tell me about it.
Insert the SD into the Raspberry Pi, Power on the Amiga now. You should see a Rainbow colored screen on the HDMI Monitor and the PiStorm booting.
When the boot process is finished (on the first run it reboots automatically after resizing the filesystems to your SD) you should be greeted with the login prompt.
pi and password: raspberry. (The keyboard is set to US Layout on first boot!)sudo raspi-configYou can now reach the PiStorm over SSH, check your router web/settings page to find the IP of the PiStorm, or run ifconfig locally on the PiStorm from the console.
Now the final steps to get things up and running, all of this is done from a command prompt (terminal) either locally on the PiStorm or over ssh:
* sudo apt-get update
* sudo apt full-upgrade (If you get mysterious 'not found' messages from running the line in the next step.)
* sudo apt-get install git libasound2-dev
* git clone https://github.com/captain-amygdala/pistorm.git
* cd pistorm
* make
Important note: If you are using Raspberry Pi OS "Bullseye", the main graphics backend for the OS has changed from dispmanx to DRM, and you need to follow these steps instead of just running make:
* First run sudo apt-get install libdrm-dev libegl1-mesa-dev libgles2-mesa-dev libgbm-dev to install the DRM OpenGL/ES libraries, which are for some reason not included with the distro by default. These are necessary to link the graphics output library (raylib).
* Then finally, run make PLATFORM=PI3_BULLSEYE for the emulator to compile successfully.
Important note: If you are using Raspberry Pi OS "Bookworm", the main graphics backend for the OS has changed from dispmanx to DRM, and you need to follow these steps instead of just running make:
* First run sudo apt-get install libdrm-dev libegl1-mesa-dev libgles2-mesa-dev libgbm-dev libraspberrypi-dev to install the DRM OpenGL/ES libraries, which are for some reason not included with the distro by default. These are necessary to link the graphics output library (raylib), librasberrypi-dev is necessary to avoid the build failing due to vc_tvservice.h not being present.
* Then finally, run make PLATFORM=PI3_BULLSEYE for the emulator to compile successfully.
Next up, follow the steps for installing the FPGA bitstream update below. (Scroll down.)
If you are running the PiStorm in an Amiga computer, you can start the emulator with a basic default Amiga config by typing sudo ./emulator --config amiga.cfg.
In addition, the emulator will attempt to load a file called default.cfg if no config file is specified on the command line, so if you wish for the emulator to start up with for instance the basic default Amiga config, you can copy amiga.cfg to default.cfg.
Important note: Try not to edit the sample config files such as amiga.cfg, always save them under a different name, for instance one directory level below the pistorm directory.
One way to do this would be to copy for instance amiga.cfg like this: cp ./amiga.cfg ../amiga.cfg and then running the emulator using sudo ./emulator --config ../amiga.cfg. This way, you will never have any problems using git pull to update your PiStorm repo to the latest commit.
To exit the emulator you can press Ctrl+C (on the keyboard or over SSH) or press Q on the keyboard connected to the Raspberry Pi.
For Amiga, there is currently no Gayle or IDE controller emulation available, but PiSCSI can now autoboot RDB/RDSK hard drive images (and physical drives), with Kickstart 2.0 and up. Check out the readme in platforms/amiga/piscsi for more detailed information.
Install OpenOCD:
sudo apt-get install openocd
Run the CPLD update with ./flash.sh, this will automatically detect your CPLD version and flash appropriately.
If successful "Flashing successful!" will appear, if not it will fail with "Flashing failed" and nprog_log.txt will be created with more details.
$ claude mcp add pistorm \
-- python -m otcore.mcp_server <graph>