Talk:Designing the RhoCoCo Retro Home COlor COmputer hardware

From RevSpace
Jump to navigation Jump to search

Palette

Benadski: If a FPGA is used, can you choose your own palette in software? It would be a cool feature!

Its actually something I had on my wishlist, but I'm not sure if its doable. One of the premises of the Spectrum that it used a minimum of hardware for a maximum of features, to keep it low in price, and still have necessary features.
The original idea was to have a (ARM-CPU's) 32-bit word split into four 8-bit shift registers, one for each R, G, B and I. Perhaps if the 4-bit bit stream can be used for a Palette-RAM we can have a "low complexity-cost" palette. I'm certainly keeping it in mind! Mahjongg (talk) 18:08, 29 January 2015 (CET)

You are talking about bytes here, shouldn't that be bits? "Three bytes will be shifted to the Red, Green an Blue colour inputs, and one to the intensity input, giving sixteen colours per pixel. Preferably the "glue logic" for it will consist of standard logic, but if necessary I will consider a small FPGA."

And maybe a CPLD is simpler/cheaper for glue logic (and palette maybe).

No I was talking about splitting a 32bit word into four 8-bit bytes, feeding each to an 8-bit shift register for serializing, but since I have now decided I want to make a read Z80 homecomputer, not an ARM based one, its become moot.
In fact now I have simplified it so I will have only one 8-bit serialiser, feeding to a 4-channel analog multiplexer so that the video stream switches between a foreground color or a background color, producing RGB and Y signals. The two times four levels could come from simple DAC's (If more than 16 colours are needed) or be simply four times a high or a low, that will be re-programmed for each character location (8x8 pixels), or character line (8 pixels) so either Spectrum style or MSX1 style.
I won't consider using programmable logic, as I want to keep things as simple as possible, and programmable logic may be easy simpler/cheaper (when using large amounts of hardware) but it is also a barrier for reproducing the RHOCOCO, so I will keep the hardware as simple as possible. 17:14, 30 April 2017 (CEST)
By the way, as VGA generation is now handled by the Propeller, so palette support has now become a question of a better VGA driver for the propeller, and perhaps extending the (resistor) DAC used for VGA. I'm trying to keep the pin-count for the Z80 interface to an absolute minimum so I have enough propeller pins left for VGA hardware and other things like sound output and maybe a PS/2 keyboard. plus what else is needed.