5

For the ZX Spectrum there is a project called ZX Pie. As the name suggests, it's a board attached to the ZX Spectrum's expansion slot that 'listens' the Address Bus and the Data Bus and connect them to a Raspberry Pi.

Then the Pi works like a latch and uses all data stored in Video RAM area starting from 4000h and renders the screen using its HDMI output. The RPi runs a baremetal software (no OS) that does all the rendering.

I would like to create something similar for the CoCo. Is it even possible?

  • 3
    It would be great if you could provide links for the items mentioned. – Raffzahn Jul 6 at 22:33
6

For the ZX Spectrum there is a project called ZX Pie.

AFAIU this is a TK-Pie application.

As the name suggests, it's a board attached to the ZX Spectrum's expansion slot that 'listens' the Address Bus and the Data Bus and connect them to a Raspberry Pi.

Then the Pi works like a latch and uses all data stored in Video RAM area starting from 4000h and renders the screen using its HDMI output.

Well, not fully, it 'just' buffers the last write and tries to react fast enough before the next one comes up and uses the data snooped to create a new video.

I would like to create something similar for the CoCo. Is it even possible?

Basically yes. Clockwise the CoCo is slower than the ZX-Spectrum, at least the CoCo 1/2at 0.895 MHz. CoCo 3 can be switched to 1.79 MHz, which (may) be faster than the Spectrum (*1). This needs a closer look at the Interrupt-handling sequence, but I belive it's doable (*2)

Then again, the CoCo video is a bit more complex than the Spectrum's rather simple video format, as CoCo already supports several different 6847 video modes by default - not to mention the ones possible by direct programming.

Oh, and if it's supposed to work with a CoCo 3 then Memory Management becomes an even bigger hurdle, as the interface hardware and/pr Pi-Software has to track the memory configuration as well, to avoid displaying data from a different page.

So while the hardware modifications may be rather minor, it'll take quite some new code and tweeking to capture all possible video modes.

Sounds like a nice little project.

*1 - Yes, Spectrum is 3.5 MHz, but each and every memory access is at least two clocks, for writes 3, so the effective clock rate the latch has to react is longer than with the CoCo3's 1.79 MHz cycle.

*2 - The CPLD used should even be able to gather more than one write, so timing could be relaxed a bit.

  • Actually the project`s name is TK-Pie, but it is also called ZX-Pie: "TK-Pie (a.k.a. ZX-Pie)" – Robson França Jul 6 at 23:07
  • But can I read the address bus and data bus from the expansion board in the CoCo so I could listen to writes at CoCo VRAM area? (400h, 600h and FFxx 6847 and SAM's registers) – Robson França Jul 6 at 23:09
  • @RobsonFrança I do not understand this question - isn't that the whole point of the interface? – Raffzahn Jul 6 at 23:15
  • I don't know how the expansion slot in the CoCo works. According to "TRS-80 Models I,II and Color Computer Interfacing Projects", theoretically you have 24 lines of I/O. I'm assuming the 16 address bits + 8 data bits. Maybe it's time for real-world hardware tests ;) – Robson França Jul 6 at 23:48
  • 1
    @RobsonFrança Well, searching RC.SE will bring you the Pinout as well. Then again, if you got to ask how 6809 bus cycles work, there might be a quite a steep learnig curve ahead :) – Raffzahn Jul 6 at 23:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.