[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