[Oberon] FPGA - Bitmaps.Mod
Skulski, Wojciech
skulski at pas.rochester.edu
Wed Apr 5 14:16:29 CEST 2017
> I am looking for a better way, as I believe the size needed can be
> calculated from Width, Height of the bitmap.
Yes. The size of the display should not be fixed with inline numbers. I am thinking that a usable System can be deployed with 800x600 display. In general, the size of the display can/ should be changed either on the fly or during compilation, which probably is not very difficult to implement in a simple design which the FPGA Oberon really is.
W.
________________________________________
From: Oberon [oberon-bounces at lists.inf.ethz.ch] on behalf of Tomas Kral [thomas.kral at email.cz]
Sent: Wednesday, April 5, 2017 5:26 AM
To: Oberon at lists.inf.ethz.ch
Subject: [Oberon] FPGA - Bitmaps.Mod
Hi,
As part of my exercise I have converted ETH `Bitmaps.Mod' to V07. It
should be the basis for a bit map editor - `Paint.Mod' - next exercise
of mine.
It is far from perfect, just made it to compile under V07, without
much thoughts.
Few notes>>>
[a] Bitmaps.DisplayBlock* is just copied from Display.CopyBlock*
with source and destination addresses modified as thus:
sa := B.address + u0*4 + sy*128; da := Display.Base + v0*4 + dy*128;
I am looking for a better idea, as I believe bitmap needs to be clipped
to fit into a visible area of a target frame.
[b] New bitmap is allocated as a constant buffer
CONST
BufSize = 10000H;
...
BEGIN
NEW(buffer)
END Bitmaps.
I am looking for a better way, as I believe the size needed can be
calculated from Width, Height of the bitmap.
TYPE
Bitmap* = POINTER TO BitmapDesc;
BitmapDesc* = RECORD (* cf. Display.DisplayBlock *)
width*, height*, depth*: INTEGER; (* offset 0, 2, 4 *)
wth*, address*: LONGINT; (* offset 8, 12 *)
size: LONGINT
END;
[c] Bitmaps are allocated as an array of CHAR's. Is it a good idea to
use BYTE's instead?
P.S. I could enclose the whole module, but I am not sure if it is
allowed by the list server.
Many thanks
Tomas
--
Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems
https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.inf.ethz.ch_mailman_listinfo_oberon&d=DwICAg&c=kbmfwr1Yojg42sGEpaQh5ofMHBeTl9EI2eaqQZhHbOU&r=uUiA_zLpwaGJIlq-_BM9w1wVOuyqPwHi3XzJRa-ybV0&m=DvMJJZHAOKHy3Hs2z-YZccHRjLN1IHNBtOGNQLn5RlM&s=F7FNN9bt9xLyOvUo8KvsencklngbrOcpcuN-9SYl_Gk&e=
More information about the Oberon
mailing list