One of the two things we wanted to do with our PJ5 CPU is generate a Mandelbrot set, now keep in mind we don’t have a C compiler yet and this is an 8bit CPU. So I speant a long time (many many evenings and weekends) trying to get the Mandebrot to generate on our emulator. I mean, a lot of time. Errr, not right Some of the bugs where in the emulator and some in the code (oh the joy of debugging two bits of code that depend on the other!).However, in the end I got it working!! YAY! successful on on the emulator So next up was getting it to run on the actual hardware, and after finding a small bug with the hardware (the busboard was missing a link as it was designed for the older Special register board) and it lived! and what a surprise, it’s blindingly fast, under 3 seconds at 2MIPS!!! I expected it to take like 10 minutes!Neither of us was ready for that. Youtube video Now this was done in assembler rather than C or basic, and we’re not using floating point. But we are using 16bit signed math, without any lookup tables and this is still an 8bit processor built from discrete logic chips. Why so fast compared to a 6502/Z80 ? several reasons really, firstly we have 16 registers, (though a large portion of thevariables where stored in RAM as we just didn’t have enough), secondly we run one instruction per clock cycle (for a 6502 there is at least 2 clock cycles per instruction) and thirdly we have a hardware 8×8 multiplier. I suspect the latter is the primary reason for the speed. Fast ROM board In the video we also show Fast ROM board, this uses a peice of flash and when the PJ5 is reset it copies the flash to RAM and then allows the CPU to run. Now it’s not quite working yet, but it’s a revision one board so that’s to be expected. So we’ll debug it, add mod wires and then spin a new version. This is a really important board for us as it will remove the FPGA we’re currently using for the ROM. Next steps We’re busy working on the fast ROM board, we’re also going to respi...
First seen: 2025-06-27 10:26
Last seen: 2025-06-27 17:27