Ignore:
Timestamp:
Aug 7, 2024, 12:12:42 AM (2 months ago)
Author:
chronos
Message:
  • Modified: Improved serial console handling.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ByteArray/Cpu.pas

    r9 r10  
    157157procedure TCpu.Push(Value: TInt; Size: TIntSize);
    158158begin
    159   SP := SP - Size;
     159  SP := (SP - Size + Memory.GetSize) mod Memory.GetSize;
    160160  Memory.Write(SP, Size, Value);
    161161end;
     
    164164begin
    165165  Result := Memory.Read(SP, Size);
    166   SP := SP + Size;
     166  SP := (SP + Size) mod Memory.GetSize;
    167167end;
    168168
     
    740740  I: TRegIndex;
    741741begin
    742   DataWidth := 1;
    743   AddressWidth := 1;
     742  DataWidth := 2;
     743  AddressWidth := 2;
    744744  for I := Low(TRegIndex) to High(TRegIndex) do
    745745    Regs[I] := 0;
Note: See TracChangeset for help on using the changeset viewer.