Close

​Real-Time Testing

A project log for TTL 6510 Computer

Yet another CPU made from TTL chips, now running C64 basic/kernel

stefanStefan 01/27/2026 at 16:380 Comments

To test the functionality in real-time I connected the 32 channel logic analyzer to address bus, data bus and control signals. My first attempts to simply run a modified C64 Basic/Kernel didn't work completely. The logic analyzer helped following the execution, but that wasn't enough to find remaining bugs.

The DSView application allows protocol analysis, like UART, SPI, I2C etc. But the green signal groups here are simply parallel combinations of data bus and address bus. While the first two green rows are unconditional converted to busses, the second two green rows are address bus and data bus captured at rising edge of /LD_IR to clearly identify instructions.
Then I found this excellent functional test code from Klaus Dorman I could adapt. To fit it in ROM the C64mem-GAL code had to be temporary changed to enable 32k Byte ROM in the upper half. This test code exercises all opcodes in different variations. It stops whenever it detected any execution error. When it finally got through all combinations it took a minute even in real-time.
I found few little bugs in the micro code but also one that had to be fixed with cuts and jumps. While the overflow flag was working correctly for addition, it had to be inverted for subtractions. Fortunately, there were two free XOR gates available.

Finally, the modified C64 Basic/Kernel is running. Keyboard in and screen out are redirected to the UART. With the UART-to-TTL cable connected to the PC, Realterm can be used as a terminal. Of course, the system can only be used in text mode. But it works like a C64 in this case.

Discussions