Difference between revisions of "Category:84PCE:RAM:By Address"

From WikiTI
Jump to: navigation, search
(Updated unmapped address space known revision range)
 
(32 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
See also [[:Category:84PCE:RAM:By Name|list of RAM areas by name]].
 
See also [[:Category:84PCE:RAM:By Name|list of RAM areas by name]].
 +
 +
Please read our page on [[Contributing]] before editing these pages!
  
 
The eZ80 has a 24-bit linear address space. Layout:
 
The eZ80 has a 24-bit linear address space. Layout:
* 000000h: Start of flash. The first 128 K are locked boot sectors. The first 8 are divided into 8 K sectors, all of which are locked. Implies that there is no longer a certificate.
+
* 000000h: Start of flash. The first 128 K are locked boot sectors. The first 8 are divided into 8 K sectors, all of which are locked. The certificate is now a single 64 K sector, so I hope you don't crash while rebuilding it.
 
* 000066h: Flash exception handler. Write-to-flash without permission triggers the non-maskable interrupt to fire.
 
* 000066h: Flash exception handler. Write-to-flash without permission triggers the non-maskable interrupt to fire.
 
* 00007Eh: Hardware/Emu flag: This byte indicates whether the ROM is a hardware ROM or emulator.
 
* 00007Eh: Hardware/Emu flag: This byte indicates whether the ROM is a hardware ROM or emulator.
 
* 000080h: Start of boot code jump table.
 
* 000080h: Start of boot code jump table.
 +
* 020000h: Start of OS.
 +
* 0C0000h: Start of user archive.
 +
* 3B0000h: Certificate.
 +
* 3C0000h: Temp RAM backup, on newer versions of TIOS debug output is also written here.
 +
* 3E0000h: Temp RAM backup.
 +
* 3F0000h: Temp RAM backup, temp certificate backup, swap sector.
 +
* 400000h: Can be setup to mirror flash, but usually unmapped.
 +
* 800000h: Always unmapped.
 
* D00000h: Start of RAM. 256 K.
 
* D00000h: Start of RAM. 256 K.
 +
* D1A87Eh: Top of the SPL stack.
 +
* D1A881h: Start of UserMem.
 
* D40000h: Start of VRAM. 320x240x2 bytes = 153600 bytes.
 
* D40000h: Start of VRAM. 320x240x2 bytes = 153600 bytes.
 +
* D65800h: Unmapped memory.
 +
* D72C00h: Unmapped memory (revisions up to at least C) or mirror of D52C00h (at least I-S).
 +
* D80000h: Mirror of D00000h.
 +
* E00000h: Start of [[84PCE:Wait_States|memory-mapped I/O]] address spaces.
  
 
SafeRAM Areas:
 
SafeRAM Areas:
* D031F6 - pixelShadow
+
* D031F6h: [[84PCE:RAM:D031F6|pixelShadow]] - 8400 bytes
* D052C6 - pixelShadow2
+
* D052C6h: [[84PCE:RAM:D052C6|pixelShadow2]] - 8400 bytes
** These locations are rarely used by the OS, especially pixelShadow2. Each is 8400 bytes in length; and since they are linear, provide a total free space of 16800 bytes of RAM.
+
* D07396h: [[84PCE:RAM:D07396|cmdPixelShadow]] - 8400 bytes
 +
* D09466h: [[84PCE:RAM:D09466|plotSScreen]] - 21945 bytes
 +
* D0EA1Fh: [[84PCE:RAM:D0EA1F|saveSScreen]] - 21945 bytes
 +
** Note that the above is contiguous, which provides a total linear free space of 69090 bytes of RAM.
 +
** [[84PCE:RAM:D052C6|pixelShadow2]] is the most stable; and is a viable option for ''testing'' TSRs and hooks.
 +
 
 +
More SafeRAM Areas:
 +
* D006C0h: [[84PCE:RAM:D006C0|textShadow]] - 260 bytes
 +
* D0232Dh: [[84PCE:RAM:D0232D|cmdShadow]] - 260 bytes
 +
 
 +
Also, if you do not wish to use the LCD cursor (This is not RAM, but can be used as scrap)
 +
* E30800h: cursorImage - 1024 bytes
 
[[Category:84PCE:RAM|RAM Areas by Address]]
 
[[Category:84PCE:RAM|RAM Areas by Address]]

Latest revision as of 12:32, 20 September 2021

See also list of RAM areas by name.

Please read our page on Contributing before editing these pages!

The eZ80 has a 24-bit linear address space. Layout:

  • 000000h: Start of flash. The first 128 K are locked boot sectors. The first 8 are divided into 8 K sectors, all of which are locked. The certificate is now a single 64 K sector, so I hope you don't crash while rebuilding it.
  • 000066h: Flash exception handler. Write-to-flash without permission triggers the non-maskable interrupt to fire.
  • 00007Eh: Hardware/Emu flag: This byte indicates whether the ROM is a hardware ROM or emulator.
  • 000080h: Start of boot code jump table.
  • 020000h: Start of OS.
  • 0C0000h: Start of user archive.
  • 3B0000h: Certificate.
  • 3C0000h: Temp RAM backup, on newer versions of TIOS debug output is also written here.
  • 3E0000h: Temp RAM backup.
  • 3F0000h: Temp RAM backup, temp certificate backup, swap sector.
  • 400000h: Can be setup to mirror flash, but usually unmapped.
  • 800000h: Always unmapped.
  • D00000h: Start of RAM. 256 K.
  • D1A87Eh: Top of the SPL stack.
  • D1A881h: Start of UserMem.
  • D40000h: Start of VRAM. 320x240x2 bytes = 153600 bytes.
  • D65800h: Unmapped memory.
  • D72C00h: Unmapped memory (revisions up to at least C) or mirror of D52C00h (at least I-S).
  • D80000h: Mirror of D00000h.
  • E00000h: Start of memory-mapped I/O address spaces.

SafeRAM Areas:

  • D031F6h: pixelShadow - 8400 bytes
  • D052C6h: pixelShadow2 - 8400 bytes
  • D07396h: cmdPixelShadow - 8400 bytes
  • D09466h: plotSScreen - 21945 bytes
  • D0EA1Fh: saveSScreen - 21945 bytes
    • Note that the above is contiguous, which provides a total linear free space of 69090 bytes of RAM.
    • pixelShadow2 is the most stable; and is a viable option for testing TSRs and hooks.

More SafeRAM Areas:

Also, if you do not wish to use the LCD cursor (This is not RAM, but can be used as scrap)

  • E30800h: cursorImage - 1024 bytes