Ignore:
Timestamp:
Sep 8, 2023, 11:20:27 PM (8 months ago)
Author:
chronos
Message:
  • Modified: Improved simple virtual machine.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/simple/Forms/FormScreen.pas

    r41 r42  
    44
    55uses
    6   Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, Machine;
     6  Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, Screen,
     7  Channel, Device;
    78
    89type
     
    1011  { TFormScreen }
    1112
    12   TFormScreen = class(TForm)
     13  TFormScreen = class(TFormDevice)
    1314    Image1: TImage;
    1415    TimerDraw: TTimer;
     
    1718    DrawPending: Boolean;
    1819  public
    19     Machine: TMachine;
     20    Screen: TScreen;
    2021    procedure ScreenChange(Sender: TObject);
    2122  end;
     
    3637  if DrawPending then begin
    3738    DrawPending := False;
    38     if Machine is TMachine16 then
    39     with TMachine16(Machine).Screen do begin
     39    if Screen.BitWidth = bw8 then
     40    with Screen.Screen8 do begin
    4041      Image1.Picture.Bitmap.SetSize(Width * CharSize, Height * CharSize);
    4142      Image1.Picture.Bitmap.Canvas.FillRect(0, 0, Image1.Picture.Bitmap.Width,
     
    4647            Chr(Memory.Read8(Y * Width + X)));
    4748    end else
    48     if Machine is TMachine8 then
    49     with TMachine8(Machine).Screen do begin
     49    if Screen.BitWidth = bw16 then
     50    with Screen.Screen16 do begin
    5051      Image1.Picture.Bitmap.SetSize(Width * CharSize, Height * CharSize);
    5152      Image1.Picture.Bitmap.Canvas.FillRect(0, 0, Image1.Picture.Bitmap.Width,
Note: See TracChangeset for help on using the changeset viewer.