Categories
Amiga

PiMIGA: Amiga on the Pi

UPDATE on Feb 15, 2021! Chris Edwards has released version 1.5 of PiMIGA. It now comes in two forms and works (sort of) on the RPI3b as well as RPi4 and 400. The two versions are a 32GB “lite” version and a 128GB “MF” version:

Lite edition, all programs and games, no videos , no mp3, all mods. MF edition, 65,000 + ADFs from the complete Commodore Amiga Tosec archive (de-duped /cleaned / virus scanned ) 128,000 executables in a 13 cd pack of stuff from eab archives of yesteryear. emulations, music, videos all sorts of goodies.

More details are to be found on his release video, including links to the torrent files for both.

UPDATE! Chris Edwards released version 1.4 of PiMIGA for the RPI4 or 400. More info in his release video here.

UPDATE! As of November 23rd 2020 there is now a PiMIGA 1.3 Pi 400 Edition thanks to Chris Edwards. This version has been cleaned up so the happynewyear96 virus has been removed, and it now works out of the box on the Raspberry Pi 400! It works on the Raspberry Pi 4 too of course. Pi3 owners will want to download the original 1.2b version. Here’s a teaser trailer.

PiMIGA 1.3 is available as a torrent, so download it with your favourite torrent client. The password on the archive is still pimiga but I haven’t tested it yet, it’s still downloading. This Reddit thread has more info and a useful comment linking to PiShrink that will reduce the size of the image from 32GB to 20GB. I am very excited about trying this on my Raspberry Pi 400!

The Commodore Amiga was an amazing 16 bit computer of the 80’s and 90’s and is still used today by people who love the system.

WinUAE is the best Amiga emulator for modern systems and it has been ported to many operating systems. FS-UAE is a great port I use on Mac and Amiberry or Amibian use the uae4arm port that runs on Raspberry Pi boards.

To load games and apps on the Amiga you used 3.5 inch discs but if you had a hard disk back then the Amiga supported it. I never did so I put up with the relatively slow loading of the discs.

As I have been spoiled by much faster loading of modern systems, loading games from discs in an emulator soon became a bore. Many games used to (slowly) load an intro with thumping music and an animation, but after hitting fire on my joystick I’d be prompted to “Enter disc 2” for yet more loading.

Enter WHDLoad, a system that patched games so they could be loaded from a hard disk image. It sounds great in theory but over the years I could never get it working the way I wanted. I just wanted to see a nice Workbench desktop UI with an disk image of games to play around in.

I’m not the only one apparently. Through this video on alternative operating systems for the Raspberry PI I found out about PiMIGA. It’s a 32GB disk image you burn to SD card for RPI 3 and 4 and when booted up presents a rather nice Workbench desktop with lots of games and apps. BTW, the password is ViWsC7oU3.

It’s based on Amiberry, and uses WHDLoad of course and everything is set up for you!

I haven’t tested it yet myself. My RPI3 is busy running Plex, Backuppc and Pihole but I want to get an RPI4 to give it a go!

Here’s a word of warning however. The video above shows a virus checker running and it finds a couple of viruses that are removed (in Amiga apps) so I would isolate the Raspberry PI device from the rest of your network if you can. Use the guest network of your router perhaps or just leave the device offline.

An alternative to PiMIGA is AmiKit which appears to do something similar but runs on Windows, Linux and Mac (and RPI4 with some fiddling around) and even lets you launch Windows, Linux or Mac apps from within Workbench. It looks rather nice!

By Donncha

Donncha Ó Caoimh is a software developer at Automattic and WordPress plugin developer. He posts photos at In Photos and can also be found on Twitter.

8 replies on “PiMIGA: Amiga on the Pi”

You don’t need to worry about the amiga virus infecting anything unless you hook your pimiga to a real Amiga
Its written to 68000 series CPU
Can’t run on an x86 computer or RISC

I’m not worried about the Amiga virus infecting anything outside of the emulation of course but what about the code that runs on the Raspberry Pi? It’s unlikely but if the author let a few viruses through in the Amiga disk images maybe there is dodgy code that elsewhere too. It’s risky running unknown code on your local network.

Hi, I think I’d could use some help here. How can I connect a bluetooth gamepad to the pi 400 while using PiMiga 1.4?

Help would be much appreciated ?

I haven’t tried it myself but the readme for PiMIGA 1.5 includes this helpful advice:

Bluetooth device? – Pi4 and 400 have BT5.0 built in , range sucks, but its there. to pair a device, it is a linux command, quit emu, login to linux as pi/pimiga,
to turn on bluetooth type

sudo bluetoothctl

it should say “agent registered” if on
this also puts you in a [bluetooth] mode (type exit to quit this)
now type help to see commands,
to pair a device,
type scan
then pair and the mac address of the device
example: [bluetooth] pair 11:22:33:44:55:66
google bluetooth pi if you get noobstuck

Hopefully that will work.

The readme.txt for version 1.5 has lots of useful info so I’ll paste it here as some of it will apply to version 1.4 that many have installed:

Pimiga 1.5 Feb 2021

what is pimiga?, Pimiga is a workbench replacement for the Commodore Amiga. Built for Raspberry Pi 400. it is based on ClassicWB with Scalos workbench replacement. user roms make it work.

*contains NO AMIGA ROMS, will not work until you bring your own.

**this product is packaged as non working untill the end user provides their own workbench roms**

requirements: Rpi3 or Rpi4 2gb or greater , but made for a pi400

32gb microsd for lite edition
128gb microsd for mf edition

instructions: you know.. “how do i do this”, or “why dont this work?”
read this before you go asking stuff thats here..

unpack image (lite or mf edition) Burn image with writer of your choice (rpi imager works great) to min 128GB MicroSD card (mf edition) or 32gb (lite edition). when burn is completed, eject card and re insert,

copy an Amiga 1200 3.1 or 3.1.4 kickstart to KICK partition.

The file MUST BE NAMED kick31a1200.rom

Once completed Eject and boot in pi4/400

*not seeing a kick partition in windows? run diskmgmt.msc and add a drive letter to the kick partition, then it will show.
*not seeing a kick partition in Mac/Linux? eject disk and reinsert.

once booted to Pimiga, say wow, then PressF12 and choose “QUIT”

image auto logs in as as pi/pimiga . but you can use this if you need a sudo command in linux.

run sudo raspi-config

in advanced – expand the file system- this will expand the image to use your entire space on your microSD card to give you more space avail if larger than 82g. (image size) Amiga OS will show the free space of the card.

configure all locale settings: Default timeZone/Keymap/Language is English US/US UTF8 Keyboard, choose your own (space bar select your keyboard/country , space bar unselect the not needed country. tab to ok enter to select

setup wifi country and wifi ssid/username/password for your needs.

display – default is CEA MODE 16 1920×1080@60hz

you CAN change it to CEA MODE 31 1920×1080@50hz if you are pal and it wont support @60hz, however this “may” cause audio to skip sometimes. if so reset to CEA MODE 16 .

99% of all modern hdmi devices support 50 or 60 hz regardless.
Amiga is set to PAL with UAE1920x1080x32 by default.

SOUND 3.5 on PI3 or Pi4 or usb audio Pi4/400 if you want 3.5mm or usb audio??
edit the file /etc/asound.conf and change the card from 0 to 1 like this

/etc/asound.conf
pcm.!default {
type hw
card 1
device 0
}
ctl.!default {
type hw
card 1
}

The card number can be confirmed with ‘aplay -l’

usually card 1 is 3.5mm sometimes called headphones -this will be usb on pi400
card 0 is hdmi audio

you can change back to hdmi audio by replacing the card 1 with card 0 in both lines

want more punch? oveclock the pi400!
**(pi3 no no. pi4 can use same commands, 1900 stable, maybe 2000 w cooling)

sudo nano /boot/config.txt
At the bottom add the following:
force_turbo=1
over_voltage=8
arm_freq=2200

Ctrl x save and reboot

Joysticks/Controllers: plug in at boot, configure in emulator (f12/input port 1 drop down . select your controller, resume, or save config resume. if not using a controller leave amibian setting to disabled for port 1 , or keyboard may place a 2p when pressing “2” and other weird key issues.

Bluetooth device? – Pi4 and 400 have BT5.0 built in , range sucks, but its there. to pair a device, it is a linux command, quit emu, login to linux as pi/pimiga,
to turn on bluetooth type

sudo bluetoothctl

it should say “agent registered” if on
this also puts you in a [bluetooth] mode (type exit to quit this)
now type help to see commands,
to pair a device,
type scan
then pair and the mac address of the device
example: [bluetooth] pair 11:22:33:44:55:66
google bluetooth pi if you get noobstuck

USB:

insert any USB windows formatted USB drive into usb at power on. device will be mounted via linux to /media/usb and available in Amiga Workbench as DH5: this is configured in the emulator as a folder mount in /media/usb *note USB: is NOT HOT SWAPPABLE!!! If you remove/re-plug in, you must power off and back on. A warm reboot will not do this!

Amiberry RTG panel, dont mess with this unless you want to rebuild your own. it is pre set to UAE Zorro3 w 8mb rtg ram, more than enough for a 30 year old OS. default values are (top) R5G6B5PC* (bottom) B8G8R8A8*/ Amiga system:prefs/screenmode set to UAE1920x1080x32bgra , if you mess with Picasso96 mode you will break it. so please leave it alone.

secret menu: all classicwb have a secret menu, if you would like to whdload in a native 4×3 resolution, press F12, then restart and immediatly hold down the right mouse button. browse the menu and you can do various things in a stripped down mode. reset when done to return to pimiga.

emergency boot menu: press F12/reset immediatly hold down left mouse button.

CHANGELOG:

1.5 build feb 2021

-USB thumbdrive boot support, AND additional usb thumbdrive in workbench as dh5: still available!
-recompiled debian with latest updates
-updated raspi-config jan-21-2021
– login script warning users if they didnt copy the kick rom
-Amiberry 3.4b8 “January 2021” – not public release – many fixes + ahi audio issue with “skip” now fixed.
-native RTG inside emulator
-sound pull and push – push , queues audio on reg intervals, pull method will create a callback which fetches audio on seperate thread.*new default
-shapeshifter native support on a 3.1 or greater rom (040 cpu recommended f12 swap it then reboot – some shapeshifter need to reset video to a 256color or better resolution to work)
-use of CD or cd32 images in .iso format
-gamepad/joystick and other usb controller support added.
-68030 instead of 68020 with same performance. 040 still needed for shapeshifter.
-changed ahi unit 1 to 2 units instead of 10, fixes AmigaAmp MP3 volume
-remap of kick partition via -L instead for usb thumbdrive booting instead
-re-organize desktop. hard drive folders for easier management
-sorted A-Z top to bottom. snap all windows for cleaner opening.
– 2 versions of Pimiga1.5

– lite addition, with 4000+ WHDLOAD games and additional programs/demos/workbench games.
– videos removed minus 2 for testing
– Commodore Tosec archives removed
– archives removed

– MotherFracker edition

Complete Comodore Amiga Tosec archive.(the old school emulation chan) this is bitrot protection/archive. deduped and cleaned . Currently in directory on WORK: partition mountable by GoADF or similar 65,000+ adf files

13 CD’s of EAB Amiga “stuff” with over 128,000 executables and archives on WORK: partition.

Best browsed with Directory Opus on the dock bar

See something you like? mount it with GoADF, or F12 insert disk, browse to /home/pi/pimiga/disks/work/ – eject when done or mount more!
can also mount games this way if not in iGame

-all archives from the archive.org commodore amiga adf listing abandonware section. this is incorporated into the various Tosec Directory structures.

-iGame updated to over 4000 games and whdload demos. from Zeb’s dec 2020 whdload archives and EAB archives.

-all files virus scanned with VirusZ and VirusExcuter 2.34 w 2020 bootblock defs. any found were deleted.

DEMOS: partition updated with latest whdload demos and workbench demos, some were not working

-Global WHDload quit key bound to F10

-global Right Amiga key set to Right CTRL key for pi400 users.

-updated boot pics
“planet” created by Markus Lück,
“Pimiga” logos created by Mattie Whittle.

-pimiga sound created by Paula, the amiga custom chip and workbench “say”

-change linux login on tty1 to automatic for user pi (password still pimiga)

-other things done but i didnt write them down, so they are not in this doc
but no one reads this thing anyway. if you did, thank you!

1.4 build 11/2020

fixed sound issue by rolling back to amiberry 3.1.3, the newer is on the drive still under /amiberry, but this one is loading from /home/pi/amiberry via amiberry.sh see more below

Reduced Linux partition sizes to mid 20gb for writing on cheap SD cards that report less than 32gb. Expanding the filesystem in raspi-config will expand the image to the cards size. Tested on 32/64/128/256 and 512gb cards. All work fine!

re-organize desktop. hard drive folders for easier management
sorted A-Z top to bottom. snap all windows for cleaner opening.

partition info: loaded from /home/pi/pimiga/disks

System:= DH0 – Amiga Operating system, and program locations.
Demos: = DH1 – Demos/roms/whdload demos.
Games: = DH2 – Games,whdload directories for iGame, and doom.
Work: = DH3 – books,docs,downloads,graphics for Scalos wb pics etc, videos.
Audio: = DH4 – mods/mp3 sorted by genre, most mods in modules.
USB: = DH5 – usb mount if inserted at power on see notes on usb above.

Debian x32bit for now compiled for RPI4/400

** currently running 3.1.3, this is what it was before you can use 3.3 as stated above if you wish, if you are a 3.3 user and want 3.1.3 for clear audio this follow below.

Amiberry 3.3 compiled for rpi4/400 moved to /amiberry (old 3.1.3 is still in /home/pi/amiberry if you wanted to run the old for any compatibility issues)
*note amiberry 3.3 causes audio skip issues on some Pi’s. if you cant stand 3.3 roll it back to 3.1.3, quit emu, login as pi/pimiga, sudo nano amiberry.sh
change the path from /amiberry to /home/pi/amiberry and the config file to
./amiberry/ -config=./conf/1200.uae -G
ctrl x save and reboot, you will have full speed sound.

8mb chip,1gb Z3 fastram,128m rtg, stereo sound 44.1khz filter off, Amiga AHI
** reduced ram sizes to 128mb fast, 8mb chip, and 16mb rtg. You can up these if you wish. reduced for pi4-2gb users.

sound buffer 8, locked bsdsocket.library for Amiga invisible tcpip stack

native usb on desktop if plugged in at power on mounts as usb:
linux mount to /media/usb if copying in MC on linux side

many app changes but to name a few:

shapeshifter, Macos7.5/8.1 req:68040/amiberry 3.13 prepareEmu (flakey but works)
aweb 3.x and other internet utils
downloads to assign a-temp which is system:temp/ in Dopus.
smbmounter 1.5 with example share settings
Riva 54 with videos in dh3:videos set to full screen Accupak for smooth booty,
EaglePlayer 2x mods in dh4:modules
AmigaAmp 3.26 with tons of mp3s in dh4:mp3s mp3 volume is low due to ahi suck
whdload 18.6 build 2020 no more crash on exit
iGame 2 build 10-16-2020 no more suspend crash on exit
workbench locale – additional languages and keymaps
sound change/bootpic version
VirusZ III bootblock definitions 2020
doom/quake more fun

1.2p-1.3

-updated bootrom/kernel in debian to support pi400, all updates from orig 1.2 via linux updates.
-removed failed virusz executable, due to a virus. go figure.
-cleaned 3284 “Happy New Year 96” and other virus’ from all volumes.
-organized desktop, changed Scalos menu items to reflect directory changes
-added more pictures for Scalos patterns and pallets
-forgot to uncheck “ask for unknown screens” in Modepro – woops sorry.
-adjusted emulator settings for cpu/jit/idle speed,ram

1.0-1.2 – original team build.

Notes, thanks and the future:

this will continue on… it gets better with every release.

remember nothing is perfect in Amiga land. but this is fun.
This image is for you to make functional and use!

do not put a rom on here and sell this on Ebay!!! but feel free to Make it your own!

Thank you Amiga user for using this. it helps keep the Amiga alive in one form or the other. I hope it brings a smile or two.

a Special Special thanks to the OG “Paul C” aka Rockheddie for the endless hours of building the entire scalos layout and everything! laying the base that would become these newer versions, and for making this even possible!

special thanks to:
MiDWan for the amazing Amiberry emulator and his frequent updates.
Bloodwych for the original ClassicWB which this image is based on.
Henrik S for the amazing HstWB.
Kevin O for hosting and help getting PiMIGA off the ground.
PeterK for his helpful advice and icon expertise.

Thanks to all the “testers” for helping out with troubleshooting, identifying and helping the fixes for the many problems.

Kevin, David Z, Santiago R, Olivier B., Marcel, BenMtl, Bigum, Cael, Cathal, Chrisl, Goggles,instantkarma,Loafmeister,Marko42, Minty, Pixelsmack, Retodudeca, Ropie72 and Web.

finally thanks to all the original authors of the software used on this image.

C.E. Feb 2021

One thing Chris didn’t mention about rebooting, you can do it from the command line with the simple command:

sudo reboot

There’s also a shutdown command that is run the same way:

sudo shutdown

Also useful to update the underlying Linux system using apt after you’ve configured WIFI through raspi-config:

sudo apt update
sudo apt upgrade

And remove unused packages to save space:

sudo apt autoremove

It’s possible to copy everything off the Raspberry Pi and run it on your PC too. Here’s a torrent of PiMIGA 1.5 and WinUAE. Found that here.

I do have a Windows machine but I generally use Macs so I’m limited to FS-UAE. While I could get Workbench to show, play mp3 and mod files and a few demos, when I tried to launch a game the emulator crashed. I think it may have something to do with Whdload. Here’s my config in case anyone wants to try:

# FS-UAE configuration saved by FS-UAE Launcher

[fs-uae]
amiga_model = A4000
chip_memory = 8192
cpu = 68040
graphics_card = uaegfx-z3
graphics_memory = 16384
hard_drive_0 = /Volumes/drive/Emulation/AMIGA/PiMIGA/FS-UAE/Drives/System
hard_drive_1 = /Volumes/drive/Emulation/AMIGA/PiMIGA/FS-UAE/Drives/Demos
hard_drive_2 = /Volumes/drive/Emulation/AMIGA/PiMIGA/FS-UAE/Drives/Games
hard_drive_3 = /Volumes/drive/Emulation/AMIGA/PiMIGA/FS-UAE/Drives/Work
hard_drive_4 = /Volumes/drive/Emulation/AMIGA/PiMIGA/FS-UAE/Drives/Audio
jit_compiler = 0
window_height = 1080
window_width = 1920
z3mapping = real
z3mem_size = 128
z3mem_start = 0x40000000
zorro_iii_memory = 131072

Adjust the paths to suit.

Here’s my notes regarding copying everything off the Pi if you don’t want to download the torrent above.

On Pi:
cd /home/pi/pimiga
sudo chown pi:pi * -R
Enable ssh in raspi-config

Password is pimiga
Copy from Pi with
rsync -e ssh –progress pi@192.168.1.x:/home/pi/pimiga/ . -rc
Copy kick rom from /media/kick/
rsync -e ssh –progress pi@192.168.1.x:/media/kick/*rom* . -rc

I had problems with filenames. Looks like Spanish and Portuguese files, but that will depend on your filesystem.
disks/System/Storage/Locale/Help/
disks/System/Storage/Locale/Catalogs/

You should copy the winuae config:
rsync -e ssh –progress pi@192.168.1.x:/amiberry/conf/A1200.uae . -rc
Use that as a base to modify the FS-UAE settings.

I learned about a new Amiga distribution called Coffin OS. I found this this magnet link for Coffin R58 here.
With the help of this Youtube video I was able to get it running in FS-UAE on my Mac quite easily. There was no need to do any of the configuration of Coffin once it was installed as R58 fixed that since the video was made.
https://www.youtube.com/watch?v=VGZBT0ChYPg&feature=emb_title

Whdload is configured to exit games using the Help key which is the End key on a modern PC keyboard. Games and demos both worked. I only played a couple of games. Stunt Car Racer was unplayable unfortunately. The track graphics were corrupted in one version and I couldn’t select any of the menu items in the other version. Walker played great and I had a blast in that!

It’s possible to add the Drive folders from PiMIGA by adding hard_drive directives in the fs-uae configuration file.

Leave a Reply