84PCE:Wait States

From WikiTI
Revision as of 15:25, 5 April 2015 by Dr. D'nar (Talk | contribs)

Jump to: navigation, search

Synopsis

The eZ80 processor is able to perform a memory access in a single cycle. However, on the TI-84+CE, accesses will actually take longer due to wait states. For example, a read from RAM will take 4 cycles, because it has 3 wait states. The wait states for Flash accesses can be customized, but it is unknown whether that is the case for other memory regions.

Wait State Layout

Address Range    Read    Write    Description   
000000-3FFFFF 5+ Crash Flash wait states are controlled by 1005, adding to the minimum of 5.
400000-7FFFFF 257 Crash Unmapped address space. Can be mapped to Flash using 1002, after which Flash wait states are active.
800000-CFFFFF 257 257 Unmapped address space.
D00000-D3FFFF 3 1 RAM
D40000-D657FF 3 1 VRAM
D65800-D7FFFF 3 1 Unmapped address space. Reads garbage.
D80000-DFFFFF 3 1 Mirror of D00000-D3FFFF
E00000-E0FFFF 1 1 Memory-mapped port range 1000 (mirrored every 0100 bytes)
E10000-E1FFFF 1 1 Memory-mapped port range 2000 (reads all zeros)
E20000-E2FFFF 3 3 Memory-mapped port range 3000 (mirrored every 0200 bytes)
E30000-E3FFFF 2 1 Memory-mapped port range 4000 (mirrored every 10000 bytes)
E40000-EFFFFF 1 1 Unmapped port range (reads all zeros)
F00000-F0FFFF 2 2 Memory-mapped port range 5000 (mirrored every 0100 bytes)
F10000-F1FFFF 2 2 Memory-mapped port range 6000 (mirrored every 0020 bytes)
F20000-F2FFFF 2 2 Memory-mapped port range 7000 (mirrored every 0100 bytes)
F30000-F3FFFF 2 2 Memory-mapped port range 8000 (mirrored every 0080 bytes)
F40000-F4FFFF 2 2 Memory-mapped port range 9000 (not mirrored, possibly protected port range)
F50000-F5FFFF 2 2 Memory-mapped port range A000 (mirrored every 0080 bytes)
F60000-F6FFFF 2 2 Memory-mapped port range B000 (not mirrored, all zeros after around F60040)
F70000-F7FFFF 2 2 Memory-mapped port range C000 (mirrored every 0100 bytes)
F80000-F8FFFF 2 2 Memory-mapped port range D000 (mirrored every 0080 bytes)
F90000-F9FFFF 2 2 Memory-mapped port range E000 (mirrored every 0080 bytes)
FA0000-FAFFFF 2 2 Memory-mapped port range F000 (reads all zeros)
FB0000-FEFFFF 2 2 Unmapped port range (reads all zeros)
FF0000-FFFFFF 1 1 Unmapped port range (reads all zeros)