[Oberon] FPGA - Bitmap Replace Horizontal Line
joerg.straube at iaeth.ch
Mon May 22 11:14:05 CEST 2017
These are the definitions Oberon uses
0 = background = black
1 = foreground = white
Paint = src AND pat (1 in pattern is interpreted as "white")
Invert = src XOR pat
Replace = draw pattern with "col"
black: src AND ~pat
white: src AND pat (= paint)
From: Oberon [mailto:oberon-bounces at lists.inf.ethz.ch] On Behalf Of Tomas
Sent: Montag, 22. Mai 2017 10:34
To: Oberon@ <lists.inf.ethz.ch.Oberon at lists.inf.ethz.ch>
Subject: [Oberon] FPGA - Bitmap Replace Horizontal Line
I was scratching my head over how to implement the `replace'
mode. Seems more complicated than `invert' mode, which only applies `/'
set operator in place of `+' in the PaintHLine.Mod (see earlier post)
I thought to erase destination rectangle with $0000$ first than paint
bitmap in the cleared area.
To erase destination rectangle, appears to be done in two steps, paint
black rectangle, then invert it.
The replace mode can be done in three steps:
[a] paint black rectangle
[b] invert black rectangle
[c] paint bitmap in the cleared area
The above replace mode performs 3 times worse to Paint/Invert modes.
What do you think?
Tomas Kral <thomas.kral at email.cz>
Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems
More information about the Oberon