Difference between revisions of "Geneve logical memory map"
Line 38: | Line 38: | ||
| rowspan="1" | Video ports | | rowspan="1" | Video ports | ||
| class="descr" | See below | | class="descr" | See below | ||
|- | |- | ||
! F110 | ! F110 | ||
| [[Geneve paged memory organization | Mapper ]] | | [[Geneve paged memory organization | Mapper ]] | ||
| class="descr" | See link | | class="descr" | See link | ||
|- | |||
! F118 | |||
| Keyboard | |||
|- | |- | ||
! F120 | ! F120 | ||
Line 71: | Line 71: | ||
=== Video ports === | === Video ports === | ||
Decoding: 1111 0001 0000 xpp0 (pp = port number; x = don't care) | |||
Addresses are mirrored at position+8 (F100 = F108,...) | |||
{| class="memory" | {| class="memory" | ||
Line 181: | Line 185: | ||
=== Video ports === | === Video ports === | ||
Decoding: 1000 1wxx xxxx xpp0 (pp = port number; x = don't care; w = write) | |||
Addresses are mirrored 64 times (8800 = 8810 = 8820 = ... 8BF0) | |||
{| class="memory" | {| class="memory" |
Revision as of 16:29, 26 January 2021
The logical address map determines which devices or memory areas appear in the logical address space. These are the addresses as seen from the CPU or the program that is run, but they need not correspond to the same physical address at all times. The correspondence is provided by the mapper.
Native mode
The native mode is also called MDOS mode. It is the mode which the Geneve initially boots to, typically with white letters on dark blue, and 80 column display.
Memory map
0000 | Reserved | Operating system |
---|---|---|
0400 | Free space | Onboard memory or expansion |
2000 | ||
4000 | ||
6000 | ||
8000 | ||
A000 | ||
C000 | ||
E000 | ||
F000 | On-chip memory 256 bytes | Hides mapped page |
F100 | Video ports | See below |
F110 | Mapper | See link |
F118 | Keyboard | |
F120 | Sound chip | |
F130 | Clock chip | |
F140 | Free space | Onboard memory or expansion |
F800 | ||
FFF8 | ||
FFFA | Decrementer | |
FFFC | NMI vector | |
FFFE |
Video ports
Decoding: 1111 0001 0000 xpp0 (pp = port number; x = don't care)
Addresses are mirrored at position+8 (F100 = F108,...)
Read | Write | |
---|---|---|
F100 (Port 0) | VRAM | VRAM |
F102 (Port 1) | Status register | Address counter or video register |
F104 (Port 2) | - | Palette register |
F106 (Port 3) | - | Indirect video register access |
GPL mode
The GPL mode is the compatibility mode, which is provided to run TI-99/4A programs.
Memory map
0000 | GPL interpreter | Operating system |
---|---|---|
2000 | Free space 8 KiB | Onboard memory or expansion |
3000 | ||
3FFE | ||
4000 | DSR space | Normally used by the GeneveOS DSR |
6000 | Cartridge ROM contents | Loaded from disk |
8000 | Mapper | See link |
8008 | Keyboard | |
8010 | Clock chip | |
8020 | Free space | Also includes the "PAD RAM" (16-bit RAM of the TI-99/4A) |
8300 | Here, its speed depends on SRAM or DRAM mapping | |
8400 | Sound chip | |
8600 | External bus | Any device in the PEB that maps to this address |
8800 | Video ports | |
9000 | Speech synthesizer | if plugged into the PEB |
9800 | GRAM | |
A000 | Free space 24 KiB | |
C000 | ||
E000 | ||
F000 | On-chip memory | Hides mapped page |
F100 | Free space | |
FFFA | Decrementer | |
FFFC | NMI vector | |
FFFE |
Video ports
Decoding: 1000 1wxx xxxx xpp0 (pp = port number; x = don't care; w = write)
Addresses are mirrored 64 times (8800 = 8810 = 8820 = ... 8BF0)
Read | Write | |
---|---|---|
8800 (Port 0) | VRAM | - |
8C00 (Port 0) | - | VRAM |
8802 (Port 1) | Status register | - |
8C02 (Port 1) | - | Address counter or video register |
8C04 (Port 2) | - | Palette register |
8C06 (Port 3) | - | Indirect video register access |