[Oberon] RGB display in Oberon RISC5
Magnus Karlsson
magnus at saanlima.com
Wed Apr 20 18:03:53 CEST 2016
It would be trivial to modify the code to add a fixed 16-entry lookup
table for the output color based on the 4-bit pixel value (just a case
statement). However, due to differences in the native color
capabilities of the different hardware platforms capable of running
Oberon RISC5 (Digilent Spartan3 board has 3-bit color, OberonStation has
6-bit color, Pepino has 8-bit color and Pipistrello has 24-bit color)
the implementation of the lookup table table would be slightly
different. The 3-bit color output that I did is supported by all
platforms.
Also, if you want the lookup table to be dynamic instead of fixed (i.e.
CPU read/write access to the table) then that would add a bit of extra
complexity but still very doable.
BTW, my initial goal of the RGB version of VID.v was to implement a RGB
video system with as few changes as possible, mostly for educational
purpose since the question was asked in this mailing list as to how such
modifications could be done. Making the pixel size a power-of-2 value
minimizes both the hardware changes and software changes at the expense
of wasted memory space.
Magnus
On 4/19/2016 12:12 AM, Jörg Straube wrote:
> Hi Magnus
>
> Thx for preparing VID.v
> As the original ProjectOberon has only 1M of memory, it's a pity to waste 25% of your 4 bit color layout. Basically, we could use 16 colors instead of 8.
> Instead of mapping the bits directly to RGB, I would rather use the 4 bits as index into a color palette.
>
> Display.Mod has to be adapted accordingly.
>
> Jörg
>
>> Am 18.04.2016 um 21:59 schrieb Magnus Karlsson <magnus at saanlima.com>:
>>
>> I have made an updated version of VID.v with support for an RGB video buffer.
>>
>> The video buffer is now 4x larger (about 40% of the total 1 MB RAM) and video refresh will use up about 40% of the memory bandwidth.
>>
>> See http://saanlima.com/forum/viewtopic.php?f=14&p=1786#p1783 for Verilog code and bit files for Pepino_LX9 and Pepino_LX25.
>>
>> Magnus
>> --
>> Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems
>> https://lists.inf.ethz.ch/mailman/listinfo/oberon
>>
>>
>> --
>> Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems
>> https://lists.inf.ethz.ch/mailman/listinfo/oberon
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.inf.ethz.ch/pipermail/oberon/attachments/20160420/18f493b7/attachment.html>
More information about the Oberon
mailing list