[Oberon] FPGA - Bitmaps.Mod
    Tomas Kral 
    thomas.kral at email.cz
       
    Wed Apr  5 11:26:28 CEST 2017
    
    
  
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
    
    
More information about the Oberon
mailing list