Changeset 8 for trunk/SharpMz800.pas
- Timestamp:
- Apr 19, 2026, 9:00:16 PM (7 days ago)
- File:
-
- 1 edited
-
trunk/SharpMz800.pas (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/SharpMz800.pas
r6 r8 4 4 5 5 uses 6 Classes, SysUtils, Z80, Memory, Base ;6 Classes, SysUtils, Z80, Memory, Base, I8255, I8253; 7 7 8 8 type … … 38 38 MappedMemory: TMemoryMapped; 39 39 MappedIO: TMemoryIO; 40 I8255: T8255; 41 I8253: T8253; 40 42 procedure PowerOn; 41 43 procedure PowerOff; … … 65 67 begin 66 68 Result := 0; 69 case Address of 70 $e0..$e6: Result := MemoryBankControl[Address - $e0]; 71 $d0..$d3: Result := I8255.Read(Address - $d0); 72 $d4..$d7: Result := I8253.Read(Address - $d4); 73 else MesssageExecute('Unsupported I/O port read from ' + IntToHex(Address, 4)); 74 end; 67 75 end; 68 76 … … 79 87 end; 80 88 $e0..$e6: MemoryBankControl[Address - $e0] := Data; 81 else MesssageExecute('Unsupported I/O port ' + IntToHex(Address, 4) + ' data ' + IntToHex(Data, 2)); 89 $d0..$d3: I8255.Write(Address - $d0, Data); 90 $d4..$d7: I8253.Write(Address - $d4, Data); 91 else MesssageExecute('Unsupported I/O port write to ' + IntToHex(Address, 4) + ' data ' + IntToHex(Data, 2)); 82 92 end; 83 93 end; … … 97 107 VideoRam.Size := $1000; 98 108 MappedMemory.Areas.AddNew($e000, MappedIO); 99 MappedMemory.Areas.AddNew($e0 10, ExtendedRom);109 MappedMemory.Areas.AddNew($e000, ExtendedRom); 100 110 end; 101 111 md800: begin … … 133 143 Mode := md800; 134 144 Resolution := rs320x200; 145 I8255 := T8255.Create; 146 I8253 := T8253.Create; 135 147 Memory := TMemoryData.Create; 136 148 Memory.Title := 'Main memory'; … … 176 188 FreeAndNil(Memory); 177 189 FreeAndNil(MappedIO); 190 FreeAndNil(I8255); 191 FreeAndNil(I8253); 178 192 inherited; 179 193 end;
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/mzxemu/chrome/site/your_project_logo.png)