This is the latest incarnation of PZ1:
- W65C02 cpu
- 512KiB SRAM memory
- 2x 74HC670 used as bank register
- Teensy 4.1 used as glue logic and I/O
- Small speaker for sound output
So more real HW instead of emulation. The sound is still generated via SID-emulation on the Teensy, serial access is also done via the Teensy.
The glue logic to get memory accesses and bank registers working was nice to do in SW, so much faster and easier than doing in a CPLD. I still haven't got the CPLD programming working, will have to give up on that specific chip/programmer. The itch to get it working is still present, so I might get some ATF1504 and program them to do both glue logic and bank register functions.
Bank registers using the 74HC670 was a bit of a disappointment. They work as intended, but I had not read the data sheets thoroughly enough and the read/write-access times @3.3V are way longer than I'd thought. My memory accesses need double the time with bank registers. BUT: it works great at the speeds I use. Running the CPU @2MHz equivalent taxes the Teensy at just below 50%. No problem doing sound-generation and other I/O-tasks.
Oh how I wish the Teensy had more pins aligned for 8-bit access. Also, it is not the easiest trying to get nanosecond-level timing. An oscilloscope or using the built-in CPU-cycle counter (ARM_DWT_CYCCNT) is essential.
I still need to decide in what direction I want to pursue the HW of this project.
Next up is (re)connecting the GD3x display, and writing some 6502 multitasking demo code.