05/01/2025 ~ Happy New Year
I spent weeks assuming the CD32 menu wasn’t launching because of emulator bugs until... I finally realized the real issue was my own bootflow expectations. The CD32 available roms are "unique" in their own way. The CDUI was inside the Extended ROM all along, hidden behind broken RomTags and now I’m trying to stabilize the environment with a "fake" ExecBase, stubbed libraries and forensic jumps to bring it to life. I deeply believe this will be Paula32's year ~fingers crossed.
28/12/2025 ~ Milestone after Milestone
Over the past development cycle, the emulator has crossed several critical architectural milestones that bring it closer than ever to a full CD32 boot sequence! Some of the recent achievements are : Kickstart checksum bypass now allows flawed Extended ROMs to boot reliably, Correct RomTag scanning after fixing the scan base and MOVE/MOVEA PC advance bug, Extended ROM modules detected and registered exactly as on real hardware, Exec Resident system is fully operational, no more infinite loops or stalls, Authentic bootstrap execution ~ the Kickstart now builds and jumps into Chip RAM bootstrap code.

The emulator is now past ROM validation, past module initialization, and executing the real CD32 bootstrap. Only the final hardware signals (Akiko/CIA/Autoconfig responses) remain before the CD32 boot logo appears.
13/12/2025 ~ Sprites?
I've reached to a major turning point in the emulator’s development.
I patched the Kickstart ROM header so even flawed dumps boot reliably and validated a deterministic CPU reset flow. The Sprite subsystem was fully closed, confirming correct initialization, fetch, render and palette integration.
I completely resolved the Copper fetch bugs, finalizing correct addressing, endianness and WAIT/MOVE/SKIP behavior that troubled me for a long time.


With proper blitter blocking and register writes verified, the Copper subsystem is now complete (?). Finally, I finalized audio interrupts, ensuring correct DMA handling and INTREQ acknowledgment.
At this point, new challenges begin as all this logic must now be unified and evolved into something fully functional.
10/12/2025 ~ Further in development
Ι completed the reset and interrupt logging chapter with stable overlays and guard checks, fully capturing INTENA/INTREQ activity and adding checkpoint logs for exceptions and vectors, making the system harness-ready and confirming correct interrupt handling and execution. The NEG and NEGX handlers were finalized with full flag accuracy, SWAP was validated and EXT, MOVEA, EXG, Scc and bit operations were integrated into the core while a comprehensive smoke harness passed 59 tests with zero failures (!!!), proving stability in multi-precision arithmetic. With this, the arithmetic/logic cluster was closed, securing a solid 40% of the CPU-core baseline, and I successfully completed the 68000 CPU-core milestone with all instruction sets and exception handling finalized. Address Error, Bus Error, and Double Bus Error logic now operate robustly with correct stack frames and vectoring and the release-candidate build passes all smoke tests and boot probes, ensuring a stable foundation for CD32 expansion.
06/12/2025 ~ With a little help
The development of the project continues at a very fast pace, thanks to the invaluable support of hAIku and D@p, two outstanding programmers who actively and practically contribute to making the emulator a reality without seeking any kind of publicity! In recent days, I built and validated the complete CD32 interrupt pipeline skeleton. I integrated CIA timers, Copper beam sync, Paula/CDDA audio, and the Akiko/CD controller into one unified test suite. I also closed the Loader/Overlay/Reset Vectors chapter of our CD32 emulator.

Kickstart and Extended ROMs now load almost flawlessly, with overlay activation and vector assignment working as intended. D@p and hAIku provided immeasurable help with validation support, guiding me with endless patience on how to connect CIA timers, Copper beam sync, and more, as well as identifying and fixing corner cases such as the reset JMP. I am truly grateful!
03/12/2025 ~ CPU core is validated!
After a lot of trial and error, I successfully validated the CPU core: reset vectors now load correctly from Kickstart ROM! Exceptions, interrupts, bus/address errors, and cycle exact stack pushes all behave authentically. Prefetch and branch handling are stable, with clean execution of real Kickstart instructions.

The next step is to validate the complete CD32 interrupt pipeline skeleton.
01/12/2025 ~ New month more news
I now have a clean commit with HelpyProg! Each instruction updates only HelpyProg, and the PC commits at the end of the cycle. A single update point, no double primes. All prefetches and extension reads go through with no side effects. I added lines for LEA/BRA/BSR/PEA/MOVE(d16, PC), so the emulator catches regressions early. And finally, a stable boot trace! Kickstart runs continuously inside the ROM with proper opcodes (7401, 7A00, DA98) and no garbage! The project is developing incredibly fast, and best of all, two excellent devs have offered to help me! More in the coming days.
29/11/2025 ~ Update after Update
I now have a new CPUCore with prefetch, a proper 68k stack, exception/interrupt handling, a MemoryMap and the GUI/main loop. There are still a few critical “double implementations” (legacy vs new components) and 2–3 functional bugs that are worth fixing immediately. In few words, I achieved : Prefetch and PC synchronization ~ the mismatches between pf.pc and the global PC are gone(?) forever. It no longer jumps to invalid addresses (0x0028xxxx) which was one of my main issues before. Correct extension-word consumption~ Instructions like LEA (d16,PC) and other PC-relative modes no longer execute the extension word as an opcode (0000)! It's a HUGE step for the project's development.The love, interest and persistence I’m putting into this project...sometimes it feels unreal even for me.
26/11/2025 ~ More Updates
After the ROM-shock, I managed to identify most of my mistakes and I’m now working on them so I can get back to where I was before this time in a more functional way. I won’t lie, at some point I considered dropping the whole thing, but that would mean letting a year of effort disappear into a black hole. Over the past few days, I’ve been dedicating almost all my free time to the project code, and so far I’ve achieved the following: the emulator now has clean ROM banking, a clearer CPU skeleton with proper stack and exception handling (M68000 Family Programmer’s Reference Manual & MC68020 /68020-68000 Programmer’s Reference Manual User’s Manual are LIFE savers) , interrupt logic and CIA timer support.

I believe the foundation is ready for the full instruction set and hardware modules. VBLANK and CIA timers seem solid, and INTREQ/INTENA semantics are correct. I feel more prepared for the Kickstart challenge than ever! Τhe code remains "messy" and it will require some more love later but no matter what, the spirit is definitely high!
24/11/2025 ~ Good News and Bad News
Good news: I figured out what the problems are.The emulator enters an infinite exception loop because RTE never restores the correct PC/SR. The 68k stack handling is incorrect (PopLong uses ReadLong instead of two PopWord operations), corrupting return values. Exception vectors are never initialized, so the CPU keeps failing. Bad news: the emulator only loads one ROM, while the CD32 actually requires both Kickstart and Extended-ROM in different memory regions. This was entirely my logic mistake, as I initially assumed the CD32 used only one ROM. So… what's the plan now? Honestly, I felt like dropping the whole thing, but I won't. I'll clean up the messy code first, and then break the remaining problems into smaller pieces so I can fix them step by step.
22/11/2025 ~ BIOS finally loads!
Well, I finally managed to fix it. The CPU now initializes cleanly after loading the ROM through the new menu option.

Still a long way to ride but I can be more optimistic. Paula32 finally has a working BIOS loader.
21/11/2025 ~ And the name is...Paula!
Not much to say about the code, still face the same issues. The CPU self-test fails every time. On a different note, I’ve changed the emulator’s name. Pond was great, but since it’s a copyrighted character, it’s safer to go with something else. I’ve decided to call it Paula32, named after the CD32’s sound chip. I think it fits the project well.

Ah, by the way, I’ve decided to remove the Controls option for now. It’ll be added later in development. As for the CPU fails, I still can't solve them, AI can't guide me, I don't know who to ask. My current solution is to rely on the book Complete Amiga CD32 Manual by Peter Hutchison. Hopefully, by the end of this year or the beginning of the next, this bibliography will provide the answers I’m looking for.
17/11/2025 ~ Problems! What else?
The emulator runs cleanly in debug with mapped cycle constants and expanded opcode tables but BIOS load still fails due to missing hardware responses.

No matter what I do, I get this. I experimented with different RAM sizes and CPU frequencies but the BIOS still fails in the same way. I have even tried to consult AI tools with no luck. I'm at a desperate state but I still hope I will find a way out.
10/09/2025 ~ SeptHell!
No crashes, no random errors. The opcode table is now broad enough to cover most basic arithmetic, branching and stack operations. Logging around memory reads and writes has helped me confirm that the CPU loop behaves consistently.But the BIOS load still fails. Kickstart continues to throw CPU errors because the hardware responses (Paula, CIA, system registers) are missing.

At least I can make a build out of chaos!
13/08/2025 ~ Still alive!
The opcode table has expanded with more arithmetic and branching instructions and stack operations behave more predictably.I also experimented with CD sector parsing again. This time the headers look consistent, but the sector alignment still breaks after a few reads.
30/06/2025 ~ Back after a while
Halfway through the year, the emulator now runs longer test sequences without collapsing. The opcode table has grown significantly and some branching logic finally behaves as expected.I also tried to refine the memory map and add more detailed logging around stack operations. That helped me catch subtle misalignments but fixing them is still painful. On the downside, Kickstart continues to fail deeper checks. The CPU jumps into areas that clearly expect hardware responses I don’t simulate yet. Paula/CIA behavior remains a black box, and CD sector simulation is still unreliable. Structure is still bad.
20/04/2025 ~ News
This month I focused entirely on understanding why the kickstart still fails its internal self-tests. I added more logging around the reset vector copy, memory reads and instruction fetch, which helped me confirm that the emulator is actually following the reset procedure correctly.

Here I confirmed the reset vector works but Kickstart still fails because the BIOS wants hardware I haven’t implemented yet.
The problem now is deeper, the CPU eventually jumps into unmapped memory which means the BIOS expects hardware responses, system registers or CIA/Paula behavior. Well..
27/03/2025 ~ Big Update
This month I managed to extend the CPU loop stability even further. Some routines now run without instant crashes, which feels like progress. My attempt to simulate cd sector reads failed again. The headers parse fine, but stepping through sectors keeps breaking alignment. Debugging consumed hours and the structure still feels super messy.
07/02/2025 ~ More code
Stabilizing the CPU loop even more. It now runs longer without crashing. I also experimented with CD-ROM sector read simulation. It’s still very rough, but at least the emulator can parse headers and attempt to step through sectors. But there are memory alignment bugs. Every time I thought I had fixed them, another misfire appeared. Debugging feels endless, and the structure remains messy..

Kept adding instructions, but each new case introduced new crashes. Trial and error all the way.

It looks small and simple, right? Debugging alignment issues here was a nightmare. The logger kept spamming unknown opcodes.

Parsing headers workeδ but sector simulation kept failing. This was my February headache.
20/01/2025 ~ Update!
This week I kept working on the CPU loop and finally managed to make it run a bit more consistently. I added some extra instructions to the opcode table, especially around addressing modes, which gave me a better sense of how the core behaves. The biggest struggle-> debugging memory alignment. Every time I thought I had fixed it, another crash appeared. It feels like chasing ghosts . Ah! And the structure still looks messy.
07/01/2025 ~ Happy New Year
Happy New Year! I worked on CPU loop and it feels more stable than before. Tried a homebrew stub routine , it failed of course. By the way, I added mr Pond in the interface but most probably will change it in the future. Also, the menu has a Bios option from now on.

It looks cute, doesn't it? But most probably will not keep that as I realised Pond is coryrighted protected character.
30/12/2024 ~ Pre-New Year Update
I fixed some stuff around thee site. Now there's a special category about the emulator. Basicallly, I've decided that the emulator will be closed-source, freeware, and defintely ,no ROMs/BIOS included. On the other news, implemented logging system to trace opcode execution.
By the way, here's how the emulator looks :


Nothing fancy but hey! It opens. Also, as for today I called it Pond32. Yeah, from the James Pond!
26/12/2024 ~ Trial and Error
Expanded opcode coverage: branching, stack operations, and some addressing modes. Drafted a basic memory map with RAM and ROM placeholders. Highlight: Emulator ran minimal routines without instant crashes. Struggle: The structure is already unorganised and chaotic. Debugging feels like a horror story.
20/12/2024 ~ Some Updates
I continued working on the CPU skeleton. Tried to set up the first opcode table, but things broke almost immediately. Debugging consumed hours, and I realized how fragile the structure is at this stage. The code already feels messy, but anyway. I also added placeholders for GPU and audio. Nothing functional yet, just empty shells waiting to be filled. I also experimented with parsing CD image headers — a small glimpse of what might come later.
12/11/2024 ~ Untitled CD32 Emulator!
Today is the big day! My name's Stelios ~known as Scatman~ and I finally decided to announce that I'm working on the emulator. It feels like stepping into the unknown as I made a tough decision to commit to something that might never be finished. Still, the challenge is exciting. At this state, it's nothing impressive and not many things appear on screen. It’s a small step, but it makes the project feel real.