4 ms·
Adding video is apparently quite difficult. Apparently it's straight forward to breadboard a legacy CPU today and get serial I/O, which solves many ills. But g
by whartung 3y ago
Adding video is apparently quite difficult.
Apparently it's straight forward to breadboard a legacy CPU today and get serial I/O, which solves many ills. But getting video is a large wall to scale.
There have been several video solutions out there that folks have made. I think Ben Eater has a video of banging together something that can drive VGA (but not, necessarily, what one would consider "video" for a computer).
The original home 8-Bit computers were essentially video display systems that had some spare cycles to actually run some software. The fundamentals of the system design revolved around the video. Everything was a slave to the video clock cycle.
There is no real one chip device folks can drop on to a CPU bus and "get video", not that I've seen yet, especially not the way folk remember the 8-bit experience with memory mapped video. Even integrating something like the ubiquitous 6845 (which was used everywhere back in the day) is challenging, as it's not a one chip solution, plus, today, interfacing it to a generic HDMI monitor is a trick. (Also, I'm not sure today how availability of the 6845 is today.)
Even the Commander X16, which went through great lengths to reinvent the 8-bit experience, created their own video chip (FPGA I think), and it does not share video memory with the host 6502, it use a memory mapped I/O interface.
Then, of course, there's things like a Raspberry Pi 0, that (in theory) can be bought for $10. Tie that to the serial port, and host some software on it, and it can do all sorts of amazing things far faster than a 10MHz Z80.
The original creator of this kit (which by the way, looks like a really nice, well packaged kit) had this as an original goal:
* Genuine 8-bit design, don't cheat with "support" processors that are more powerful than the main CPU.
Obviously, a Rasp Pi is quite disqualified from that. And, to be fair, I'm going to quibble, because the CP2102N chip they use for USB connectivity is likely a powerful CPU, more powerful than the Z80. You have to be to be able to drive USB 2.0.
But I can't condemn them for that, the addition of the UART talking to the CP2102N is a very good design. And adding USB to the system opens it to a huge variety of peripherals. With that clock chip, they can go to 56K baud, that's 5K Bps. That's fast for a floppy at the time. Slow for a hard drive, but overall not too bad.
At 10MHz, they might have got better transfer rates with a bit banged SPI USB driver.
- crq-yml 3y agoI think the phenomenon of "underpowered host commands OP support" is somewhat inevitable in this "retro remake" space. Uzebox, one of the first projects of this type, found a path with the ATMega that really does it all-in-one, but the compromise is great - NTSC video, the available space is tiny and shared with the software kernel, and you have to program it externally. It's not a complete computer. The Agon Light goes in the direction of completely embracing a serial "eZ80 talks to ESP32" architecture, thus achieving its boast of being the "fastest 8-bit" by not really constraining itself. It's elegant for what it is; video games really DO benefit from that kind of setup since they typically operate with relatively light gameplay logic driving a massive amount of graphics.
- xcv123 3y ago> And, to be fair, I'm going to quibble, because the CP2102N chip they use for USB connectivity is likely a powerful CPU, more powerful than the Z80 It's a black box transceiver with no CPU functionality exposed. https://www.silabs.com/documents/public/data-sheets/cp2102n-datasheet.pdf https://www.silabs.com/documents/public/data-sheets/cp2102n-...
- Pet_Ant 3y agoI think the word "exposed" is doing a lot of heavy lifting there for purists to quibble about... ...but to me that's more than fine.
- Tuna2020 3y agoThank you for your kind words. I'm the guy behind MicroBeast - and yes, you're right that video is hard. However, I'm working on it! VideoBeast is a video 'chip' that I hope solves some of the problems with getting decent graphics out of 8-bit retro and homebrew computers. * It has a high bandwidth interface, acting like a (paged) RAM chip that should be compatible with most 8-bit CPUs. * It outputs a digital video signal that can be easily connected with modern monitors. * It supports text, bitmaps, tile maps and sprites and composites them in up to six layers. * It has a large (1Mb) video ram to support full screen graphics, and provides an SD-Card interface to load data efficiently either for display or the host CPU to read. * It supports the features used in many late 80's arcade boards that allow a relatively slow CPU to move large graphics around on screen, including hardware scrolling, palette effects, raster timing, windowing and transparency. Whilst there are designs out there that do this with TTL logic, for reasons of cost and sanity the design is FPGA based - I'm working hard to use the lowest cost device to do the maximum amount of work, whilst taking nothing away from the host CPU. VideoBeast acts like an old school Video Display Processor, with memory mapped graphics, not a co-processor pretending to be a graphics device. I think this is a far better solution than a Pi or ESP32 on a serial bus (slow to update and restricted by on-board RAM), and it should reasonably outperform the X16 thanks to an architecture that centres on efficient and flexible memory access. There are some more details linked from the MicroBeast page. I've got the prototype units running currently and will be sharing more demos and information over the next few months as it approaches feature complete. There's a way to go yet, but I think this is going to be pretty exciting.
- deleted 3y ago[deleted]
- hammyhavoc 3y agoExtremely exciting.