Changeset 6 for trunk/Core.pas


Ignore:
Timestamp:
Apr 19, 2026, 10:45:05 AM (8 days ago)
Author:
chronos
Message:
  • Modified: Execute instructions from array of methods instead of big case statement.
  • Added: Check which instructions are missing in InstructionInfo.
  • Added: Instruction generator.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Core.pas

    r5 r6  
    1212
    1313  TCore = class(TDataModule)
     14    AInstructionSetGen: TAction;
    1415    AViewMessages: TAction;
    1516    AGoToAddress: TAction;
     
    3233    procedure AExitExecute(Sender: TObject);
    3334    procedure AGoToAddressExecute(Sender: TObject);
     35    procedure AInstructionSetGenExecute(Sender: TObject);
    3436    procedure APauseExecute(Sender: TObject);
    3537    procedure AResetExecute(Sender: TObject);
     
    7072
    7173uses
    72   CpuZ80, FormGoToAddress;
     74  Z80, FormGoToAddress, InstructionSetGen;
    7375
    7476{ TCore }
     
    104106end;
    105107
     108procedure TCore.AInstructionSetGenExecute(Sender: TObject);
     109var
     110  InstructionSetGen: TInstructionSetGen;
     111begin
     112  InstructionSetGen := TInstructionSetGen.Create;
     113  InstructionSetGen.Generate('Z80/InstructionSet.html');
     114  InstructionSetGen.Free;
     115end;
     116
    106117procedure TCore.APauseExecute(Sender: TObject);
    107118begin
     
    169180    FormDisassembler := TFormDisassembler.Create(nil);
    170181    FormDisassembler.Disassembler.Memory := SharpMz800.MappedMemory;
     182    SharpMz800.OnMemoryMappingChange := FormDisassembler.Disassemble;
    171183  end;
    172184  FormDisassembler.Show;
     185  FormMessages.AddMessage(FormDisassembler.Disassembler.InstructionSet.Check(SharpMz800.Cpu.Instructions));
    173186end;
    174187
Note: See TracChangeset for help on using the changeset viewer.