This post is a bit of an idle ramble about Grant Searle's Multicomp: http://searle.hostei.com/grant/Multicomp/index.html
Without reiterating the content of that page, it is a machine based on an Altera FPGA board (EP2C5T144C8N Cyclone II). Grant's scheme allows you to pick and mix a combination of components implemented in VHDL to build a working machine of your choice. One of those combinations is a CP/M machine (which I've mentioned before). This has a VGA output that is capable of displaying coloured text with VT100 emulation.
However.. the basic configuration if this computer comprises of a BASIC (geddit?) interpreter with limited memory, and the CP/M variant retains that capability (you can boot to BASIC or CP/M) - but of course, you don't need this if you have CP/M, because you can just load any BASIC interpreter you like from the SD card. Thus, the inbuilt BASIC is using cells in the FPGA device that might be put to better use to extend the capabilities of the CP/M machine.
Problem is, I don't know how much space the inbuilt BASIC uses (it's an 8K BASIC but I don't know how that equates to FPGA cells), and how much I'd need to give it graphics; moreover, I don't even know if it's feasible. So, I am looking for ideas or suggestions as to a possible way forward (even if only theoretical). What would one need to create a graphics system on a Z80 machine running CP/M?
- A video chip with memory implemented in VHDL?
- Extensions to the terminal emulation so that graphic primitives can be produced via non standard escape sequences? (Philips P2000C does this)
- Something else? Maybe there is already a "graphics terminal" implemented in VHDL?
I do know that under the hood the VGA screen display is being fed via a UART (emulated in VHDL). I think Grant told me this. Perhaps extension of the terminal escape handler is enough. Examination of the screen handler's VHDL (SBCTextDisplayRGB.vhd) suggests there's 2K of RAM for the characters plus another 2K for attributes (colour, etc). In other words, the screen is not currently a bitmap.
All this may be a bit of a pipe dream, but I'd be interested in your thoughts....!