My plan with this blog was not to talk about “the blockchain”, so here’s a post about an open source project that I started working on but then put aside to study IBM Z and cryptomania.
There’s an excellent open source emulation toolkit called QEMU, which is used by Google for the Android device emulator, and by everyone who uses Linux’s KVM feature to run virtual machines.
I will have to write a separate post about my explorations with QEMU before the Amiga project, but this post is about my attempt to write an Amiga 4000 chipset emulator to use with QEMU’s m68k CPU emulation. There are some other machine types, but none that interest me, while the Amiga was my computer of choice in the early 1990s, and it’s historically interesting as well.
Since I don’t have time to write more than this introduction, here’s a list of Twitter threads that I’ve written about the project, along with the link to my fork of QEMU with the amiga-dev branch where I’ve checked in my work in progress. Enjoy!
Update: Oops, all of these links are now dead, since I deleted my Twitter account. I’ve moved on to a different, but related, m68k project, a port of AROS to QEMU’s Quadra 800 emulation, which will hopefully eventually allow me to return to finish the Amiga chipset emulation that I started working on.
- My plans for completing a working v1 of the chipset emulation
- My plans for adding SCSI and other devices after v1.0 works
- My benchmarking plans to compare CPUs using CoreMark
- Some of my benchmark results with CoreMark and QEMU
- Why can’t I compile QEMU with LTO? Does anyone know?
- Bare-Metal Amiga Programming and Amiga OS 3.2
- My initial plans for graphics (ignore the worker thread part)
- My current plans, including not creating a worker thread
- Can a Raspberry Pi running 64-bit Linux run a 32-bit OS in KVM?
- The hack that almost every m68k system uses to boot from ROM (including Amiga)
- Custom IDE controller implementations are easy with QEMU
- More notes on progress, IDE, and the battery-backed clock
- 12-hour battery-backed clock and PAL vs. NTSC Amiga differences
- Announcement of pushing my work in progress to GitHub
- Update on QEMU benchmarking and QEMU bugs with io_uring
Leave a Reply