Definições inciais
Criando os procedimentos inicias, variáveis e o buffer

O primeiro passo é criar as principais variáveis globais, porque delas dependeremos em quase todas as procedures do sistema. Inicialize um projeto novo e crie as seguintes variáveis:

var
  Vs1,Vs2,Vs3,Vs4,Vs5,Cmd,Lin: string;
  Stb,Stp: boolean;
  Buf: TBitmap;
  Num: integer;
  Vars: array[1..99] of integer;

Vs1 a Vs5 serão os parâmetros identificados numa linha de instrução; Cmd conterá o mnemônico da instrução e Lin a linha atual, para decodificação.

Stb é um flag que indica se a impressão / montagem deve ir para a tela (false) ou para o buffer (true).

Stp é um flag que indica (false) se a execução do programa deve ser interrompida.

Buf é o back buffer propriamente dito (precisa ser inicializado no evento OnCreate do Form1 e cancelado no evento OnDestroy.

Num é o número da próxima linha a ser decodificada e executada.

Vars 1 a 99 são as variáveis numéricas do programa.

Crie ainda um TImage chamado Tela, com 512 de largura por 320 de altura e um TMemo ou TRichEdit para conter o fonte e dê-lhe o nome de Fonte

No evento OnCreate:

procedure TForm1.FormCreate(Sender: TObject);
begin
Buf:= TBitmap.Create;
Buf.Width:= Tela.Width;
Buf.Height:= Tela.Height;
Buf.PixelFormat:= pf24Bit;
Vars[9]:= clFuchsia;
end;

No evento OnDestroy:

procedure TForm1.FormDestroy(Sender: TObject);
begin
Buf.Free;
end;

Acrescente, da forma que achar melhor, procedimentos para gravar e carregar fontes para o componente Fonte.

 
online