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

From WikiTI
Jump to: navigation, search
(Updated unmapped address space known revision range)
 
(5 intermediate revisions by 3 users not shown)
Line 8: Line 8:
 
* 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.
 
* D1A87Eh: Top of the SPL stack.
 
* D1A881h: Start of UserMem.
 
* D1A881h: Start of UserMem.
 
* D40000h: Start of VRAM. 320x240x2 bytes = 153600 bytes.
 
* D40000h: Start of VRAM. 320x240x2 bytes = 153600 bytes.
* E00000h: Start of memory-mapped I/O address spaces.
+
* 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:
Line 28: Line 39:
  
 
Also, if you do not wish to use the LCD cursor (This is not RAM, but can be used as scrap)
 
Also, if you do not wish to use the LCD cursor (This is not RAM, but can be used as scrap)
* E30800h: cursorImage - 1020 bytes
+
* E30800h: cursorImage - 1024 bytes
 
[[Category:84PCE:RAM|RAM Areas by Address]]
 
[[Category:84PCE:RAM|RAM Areas by Address]]

Latest revision as of 13: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