[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