Difference between revisions of "Geneve physical memory map"
m (→GPL mode) |
m (→Memory map) |
||
(15 intermediate revisions by 2 users not shown) | |||
Line 7: | Line 7: | ||
{| class="memory" | {| class="memory" | ||
! class="top" | Address | ! class="top" | Address | ||
! class="top" | | ! class="top" | Pages | ||
! class="top" | Region | ! class="top" | Region | ||
! | ! | ||
Line 13: | Line 13: | ||
! 000000 | ! 000000 | ||
| class="bank" | 00-3F | | class="bank" | 00-3F | ||
| 512 KiB On-board DRAM | | class="dramb" | 512 KiB On-board DRAM | ||
| class="descr" | Slow RAM (1 ws) | | class="descr" | Slow RAM (1 ws) | ||
|- | |- | ||
! 080000 | ! 080000 | ||
| class="bank" | 40-7F | | class="bank" | 40-7F | ||
| 512 KiB On-board DRAM expansion | | class="b512" | 512 KiB On-board DRAM expansion | ||
| class="descr" | Allocated, but technically infeasible (no sockets or signal lines) | | class="descr" | Allocated, but technically infeasible (no sockets or signal lines) | ||
|- | |- | ||
! 100000 | ! 100000 | ||
| class="bank" | 80-B7 | | class="bank" | 80-B7 | ||
| 448 KiB P-Box space | | class="b64" | 448 KiB P-Box space | ||
| class="descr" | May be used | | class="descr" | May be used by MEMEX card | ||
|- | |- | ||
! 170000 | ! 170000 | ||
| class="bank" | B8-BF | | class="bank" | B8-BF | ||
| 64 KiB P-Box space | | class="b64" | 64 KiB P-Box space | ||
| class="descr" | Used by current expansion cards | | class="descr" | Used by current expansion cards | ||
|- | |- | ||
! 180000 | ! 180000 | ||
| class="bank" | C0-E7 | | class="bank" | C0-E7 | ||
| Future expansion | | class="b64" | Future SRAM expansion | ||
| class="descr" | | | class="descr" | On-board, but with 1 WS | ||
|- | |- | ||
! 1D0000 | ! 1D0000 | ||
| class="bank" | E8-EB | | class="bank" | E8-EB | ||
| 32 KiB On-board SRAM expansion | | class="sram" | 32 KiB On-board SRAM expansion | ||
| class="descr" | Soldered on top of the existing 32 KiB chip | | class="descr" | Soldered on top of the existing 32 KiB chip | ||
|- | |- | ||
! 1D8000 | ! 1D8000 | ||
| class="bank" | EC-EF | | class="bank" | EC-EF | ||
| 32 KiB On-board SRAM | | class="sram" | 32 KiB On-board SRAM | ||
| class="descr" | Original SRAM memory (0 ws) | | class="descr" | Original SRAM memory (0 ws) | ||
|- | |- | ||
! 1E0000 | ! 1E0000 | ||
| class="bank" | F0-FF | | class="bank" | F0-FF | ||
| 128 KiB Boot EPROM | | class="b128" | 128 KiB Boot EPROM | ||
| class="descr" | Originally, only 16 KiB installed at F0,F1; mirrored | | class="descr" | Originally, only 16 KiB installed at F0,F1; mirrored | ||
|} | |} | ||
=== Memory expansions === | |||
The page area 40-7F is assigned to a "Future on-board memory expansion". In fact, the external bus (to the PEB) is not activated during accesses in that area, which means that external cards cannot populate this space. However, the Geneve main board does not offer sockets for such additional on-board memory. It is not possible to add these chips on top of the existing DRAM chips either. The only way to make use of this area is by using the MEMEX in a Genmod configuration. | |||
The page area C0-E7 is assigned to SRAM (0 ws) fast memory. For accesses in that area, the external bus is activated, which means that SRAM chips for that area must be put on a card that plugs into the PEB. | |||
=== Boot EPROM space === | === Boot EPROM space === | ||
The Boot EPROM region may have up to 128 KiB space as 16 | The Boot EPROM region may have up to 128 KiB space as 16 pages of 8 KiB. This is used with the [[Programmable Flash Memory Expansion | PFM]]. | ||
On reset, | On reset, page F8 is mapped into the 0000-1FFF logical address region. The EPROM on the stock Geneve defines all even pages as mirrors of F0, and all odd pages as mirrors of F1. | ||
== GPL mode == | == GPL mode == | ||
=== Memory map === | |||
{| class="memory" | {| class="memory" | ||
! class="top" | Address | ! class="top" | Address | ||
! class="top" | | ! class="top" | Pages | ||
! class="top" | Region | ! class="top" | Region | ||
! | ! | ||
Line 68: | Line 76: | ||
! 000000 | ! 000000 | ||
| class="bank" | 00-35 | | class="bank" | 00-35 | ||
| 432 KiB On-board DRAM | | class="dramb" | 432 KiB On-board DRAM | ||
| class="descr" | Slow RAM (1 ws) | | class="descr" | Slow RAM (1 ws) | ||
|- | |- | ||
! 06C000 | ! 06C000 | ||
| class="bank" | 36 | | class="bank" | 36 | ||
| 8 KiB Cartridge ROM space (bank 1) | | class="dram" | 8 KiB Cartridge ROM space (bank 1) | ||
| class="descr" | First bank of cartridge (Extended Basic style) | | class="descr" | First bank of cartridge (Extended Basic style) | ||
|- | |- | ||
! 06E000 | ! 06E000 | ||
| class="bank" | 37 | | class="bank" | 37 | ||
| 8 KiB Cartridge ROM space (bank 2) | | class="dram" | 8 KiB Cartridge ROM space (bank 2) | ||
| class="descr" | Second bank of cartridge (Extended Basic style) | | class="descr" | Second bank of cartridge (Extended Basic style) | ||
|- | |- | ||
! 070000 | ! 070000 | ||
| class="bank" | 38-3F | | class="bank" | 38-3F | ||
| 64 KiB GRAM Cartridge space | | class="dram" | 64 KiB GRAM Cartridge space | ||
| class="descr" | [[Geneve paged memory organization | | | class="descr" | [[Geneve paged memory organization | Mapper byte 06]] must be set to 0x03 to enable GROM/GRAM | ||
|- | |- | ||
! 080000 | ! 080000 | ||
| class="bank" | 40-7F | | class="bank" | 40-7F | ||
| 512 KiB On-board DRAM expansion | | class="b512" | 512 KiB On-board DRAM expansion | ||
| class="descr" | Allocated, but technically infeasible (no sockets or signal lines) | | class="descr" | Allocated, but technically infeasible (no sockets or signal lines) | ||
|- | |- | ||
! 100000 | ! 100000 | ||
| class="bank" | 80-B7 | | class="bank" | 80-B7 | ||
| 448 KiB P-Box space | | class="b128" | 448 KiB P-Box space | ||
| class="descr" | May be used by MEMEX card | | class="descr" | May be used by MEMEX card | ||
|- | |- | ||
! 170000 | ! 170000 | ||
| class="bank" | B8-BF | | class="bank" | B8-BF | ||
| 64 KiB P-Box space | | class="b64" | 64 KiB P-Box space | ||
| class="descr" | Used by current expansion cards | | class="descr" | Used by current expansion cards | ||
|- | |- | ||
! 180000 | ! 180000 | ||
| class="bank" | C0-E7 | | class="bank" | C0-E7 | ||
| Future expansion | | class="b64" | Future SRAM expansion | ||
| class="descr" | | | class="descr" | On-board, but with 1 WS | ||
|- | |- | ||
! 1D0000 | ! 1D0000 | ||
| class="bank" | E8-EB | | class="bank" | E8-EB | ||
| 32 KiB On-board SRAM expansion | | class="sram" | 32 KiB On-board SRAM expansion | ||
| class="descr" | Soldered on top of the existing 32 KiB chip | | class="descr" | Soldered on top of the existing 32 KiB chip | ||
|- | |- | ||
! 1D8000 | ! 1D8000 | ||
| class="bank" | EC-EF | | class="bank" | EC-EF | ||
| 32 KiB On-board SRAM | | class="sram" | 32 KiB On-board SRAM | ||
| class="descr" | Original SRAM memory (0 ws) | | class="descr" | Original SRAM memory (0 ws) | ||
|- | |- | ||
! 1E0000 | ! 1E0000 | ||
| class="bank" | F0-FF | | class="bank" | F0-FF | ||
| 128 KiB Boot EPROM | | class="b128" | 128 KiB Boot EPROM | ||
| class="descr" | Originally, only 16 KiB installed at F0,F1; mirrored | | class="descr" | Originally, only 16 KiB installed at F0,F1; mirrored | ||
|} | |} | ||
=== Cartridge emulation === | |||
The cartridge emulation in the Gate array shows some peculiarities. | |||
* The mapper byte 06 (F116 / 8006) must be set to 03 to enable the GROM/GRAM cartridge space. Otherwise, no GROM/GRAM handling is emulated. | |||
* In GPL mode, logical addresses 6000-7FFF are always mapped to page 36/37, regardless of the mapper byte 03 (F113 / 8003). | |||
* CRU address 1EF8 is used to switch between single or dual bank cartridge ROM. When set to 0, only page 36 is used. When set to 1, writing to cartridge space addresses 6000 + n*4 selects page 36, while writing to 6002 + n*4 selects page 37. | |||
* Cartridge GRAM regions are 8 KiB large, unlike real GROMs with 6 KiB. | |||
* Address wrapping occurs at 8K boundaries (3FFF+1 = 2000). | |||
* Reading via the GROM read address delivers the byte at the current GROM address, then advances the address by 1. Writing puts the byte at the current address, then advances the address by 1. | |||
* Reading the GROM address pointer delivers the MSB, then on every subsequent read access the LSB. The counter contains the former LSB in both bytes after reading and must be restored. | |||
== Genmod == | == Genmod == | ||
Line 130: | Line 150: | ||
{| class="memory" | {| class="memory" | ||
! class="top" | Address | ! class="top" | Address | ||
! class="top" | | ! class="top" | Pages | ||
! class="top" | Region | ! class="top" | Region | ||
! | ! | ||
Line 136: | Line 156: | ||
! 000000 | ! 000000 | ||
| class="bank" | 00-35 | | class="bank" | 00-35 | ||
| 432 KiB On-board DRAM | | class="dramb" | 432 KiB On-board DRAM | ||
| class="descr" | Slow RAM (1 ws) | | class="descr" | Slow RAM (1 ws) | ||
|- | |- | ||
! 06C000 | ! 06C000 | ||
| class="bank" | 36 | | class="bank" | 36 | ||
| 8 KiB Cartridge ROM space (bank 1) | | class="dram" | 8 KiB Cartridge ROM space (bank 1) | ||
| class="descr" | First bank of cartridge (Extended Basic style) | | class="descr" | First bank of cartridge (Extended Basic style) | ||
|- | |- | ||
! 06E000 | ! 06E000 | ||
| class="bank" | 37 | | class="bank" | 37 | ||
| 8 KiB Cartridge ROM space (bank 2) | | class="dram" | 8 KiB Cartridge ROM space (bank 2) | ||
| class="descr" | Second bank of cartridge (Extended Basic style) | | class="descr" | Second bank of cartridge (Extended Basic style) | ||
|- | |- | ||
! 070000 | ! 070000 | ||
| class="bank" | 38-3F | | class="bank" | 38-3F | ||
| 64 KiB GRAM Cartridge space | | class="dram" | 64 KiB GRAM Cartridge space | ||
| class="descr" | [[Geneve paged memory organization | Map byte 06]] must be set to 0x03 to enable GRAM | | class="descr" | [[Geneve paged memory organization | Map byte 06]] must be set to 0x03 to enable GRAM | ||
|-- | |-- | ||
! 080000 | ! 080000 | ||
| class="bank" | 40-EF | | class="bank" | 40-EF | ||
| 1408 KiB P-Box memory expansion (MEMEX) | | class="sraml" | 1408 KiB P-Box memory expansion (MEMEX) | ||
| class="descr" | SRAM (0 ws) | | class="descr" | SRAM (0 ws) | ||
|- | |- | ||
! 1E0000 | ! 1E0000 | ||
| class="bank" | F0-FF | | class="bank" | F0-FF | ||
| 128 KiB Boot EPROM | | class="b128" | 128 KiB Boot EPROM | ||
| class="descr" | Originally, only 16 KiB installed at F0,F1; mirrored | | class="descr" | Originally, only 16 KiB installed at F0,F1; mirrored | ||
|} | |} | ||
Line 169: | Line 189: | ||
{| class="memory" | {| class="memory" | ||
! class="top" | Address | ! class="top" | Address | ||
! class="top" | | ! class="top" | Pages | ||
! class="top" | Region | ! class="top" | Region | ||
! | ! | ||
Line 175: | Line 195: | ||
! 000000 | ! 000000 | ||
| class="bank" | 00-EF | | class="bank" | 00-EF | ||
| 1920 P-Box memory expansion (MEMEX) | | class="sraml" | 1920 KiB P-Box memory expansion (MEMEX) | ||
| class="descr" | SRAM (0 ws) | | class="descr" | SRAM (0 ws) | ||
|- | |- | ||
! 1E0000 | ! 1E0000 | ||
| class="bank" | F0-FF | | class="bank" | F0-FF | ||
| 128 KiB Boot EPROM | | class="b128" | 128 KiB Boot EPROM | ||
| class="descr" | Originally, only 16 KiB installed at F0,F1; mirrored | | class="descr" | Originally, only 16 KiB installed at F0,F1; mirrored | ||
|} | |} | ||
[[Category:Geneve]] |
Latest revision as of 12:15, 2 June 2024
The physical memory map declares which physical addresses are used to access memory regions or devices.
Native mode
Memory map
Address | Pages | Region | |
---|---|---|---|
000000 | 00-3F | 512 KiB On-board DRAM | Slow RAM (1 ws) |
080000 | 40-7F | 512 KiB On-board DRAM expansion | Allocated, but technically infeasible (no sockets or signal lines) |
100000 | 80-B7 | 448 KiB P-Box space | May be used by MEMEX card |
170000 | B8-BF | 64 KiB P-Box space | Used by current expansion cards |
180000 | C0-E7 | Future SRAM expansion | On-board, but with 1 WS |
1D0000 | E8-EB | 32 KiB On-board SRAM expansion | Soldered on top of the existing 32 KiB chip |
1D8000 | EC-EF | 32 KiB On-board SRAM | Original SRAM memory (0 ws) |
1E0000 | F0-FF | 128 KiB Boot EPROM | Originally, only 16 KiB installed at F0,F1; mirrored |
Memory expansions
The page area 40-7F is assigned to a "Future on-board memory expansion". In fact, the external bus (to the PEB) is not activated during accesses in that area, which means that external cards cannot populate this space. However, the Geneve main board does not offer sockets for such additional on-board memory. It is not possible to add these chips on top of the existing DRAM chips either. The only way to make use of this area is by using the MEMEX in a Genmod configuration.
The page area C0-E7 is assigned to SRAM (0 ws) fast memory. For accesses in that area, the external bus is activated, which means that SRAM chips for that area must be put on a card that plugs into the PEB.
Boot EPROM space
The Boot EPROM region may have up to 128 KiB space as 16 pages of 8 KiB. This is used with the PFM.
On reset, page F8 is mapped into the 0000-1FFF logical address region. The EPROM on the stock Geneve defines all even pages as mirrors of F0, and all odd pages as mirrors of F1.
GPL mode
Memory map
Address | Pages | Region | |
---|---|---|---|
000000 | 00-35 | 432 KiB On-board DRAM | Slow RAM (1 ws) |
06C000 | 36 | 8 KiB Cartridge ROM space (bank 1) | First bank of cartridge (Extended Basic style) |
06E000 | 37 | 8 KiB Cartridge ROM space (bank 2) | Second bank of cartridge (Extended Basic style) |
070000 | 38-3F | 64 KiB GRAM Cartridge space | Mapper byte 06 must be set to 0x03 to enable GROM/GRAM |
080000 | 40-7F | 512 KiB On-board DRAM expansion | Allocated, but technically infeasible (no sockets or signal lines) |
100000 | 80-B7 | 448 KiB P-Box space | May be used by MEMEX card |
170000 | B8-BF | 64 KiB P-Box space | Used by current expansion cards |
180000 | C0-E7 | Future SRAM expansion | On-board, but with 1 WS |
1D0000 | E8-EB | 32 KiB On-board SRAM expansion | Soldered on top of the existing 32 KiB chip |
1D8000 | EC-EF | 32 KiB On-board SRAM | Original SRAM memory (0 ws) |
1E0000 | F0-FF | 128 KiB Boot EPROM | Originally, only 16 KiB installed at F0,F1; mirrored |
Cartridge emulation
The cartridge emulation in the Gate array shows some peculiarities.
- The mapper byte 06 (F116 / 8006) must be set to 03 to enable the GROM/GRAM cartridge space. Otherwise, no GROM/GRAM handling is emulated.
- In GPL mode, logical addresses 6000-7FFF are always mapped to page 36/37, regardless of the mapper byte 03 (F113 / 8003).
- CRU address 1EF8 is used to switch between single or dual bank cartridge ROM. When set to 0, only page 36 is used. When set to 1, writing to cartridge space addresses 6000 + n*4 selects page 36, while writing to 6002 + n*4 selects page 37.
- Cartridge GRAM regions are 8 KiB large, unlike real GROMs with 6 KiB.
- Address wrapping occurs at 8K boundaries (3FFF+1 = 2000).
- Reading via the GROM read address delivers the byte at the current GROM address, then advances the address by 1. Writing puts the byte at the current address, then advances the address by 1.
- Reading the GROM address pointer delivers the MSB, then on every subsequent read access the LSB. The counter contains the former LSB in both bytes after reading and must be restored.
Genmod
The Genmod (Geneve modification) can be run in two modes, selectable by a switch. The TI mode activates the on-board slow DRAM, which is required to run the GPL mode. The reason is that the Gate array maps the GROM accesses to the DRAM on the board, which cannot be changed to the external RAM.
TI mode
Address | Pages | Region | |
---|---|---|---|
000000 | 00-35 | 432 KiB On-board DRAM | Slow RAM (1 ws) |
06C000 | 36 | 8 KiB Cartridge ROM space (bank 1) | First bank of cartridge (Extended Basic style) |
06E000 | 37 | 8 KiB Cartridge ROM space (bank 2) | Second bank of cartridge (Extended Basic style) |
070000 | 38-3F | 64 KiB GRAM Cartridge space | Map byte 06 must be set to 0x03 to enable GRAM |
080000 | 40-EF | 1408 KiB P-Box memory expansion (MEMEX) | SRAM (0 ws) |
1E0000 | F0-FF | 128 KiB Boot EPROM | Originally, only 16 KiB installed at F0,F1; mirrored |
Non-TI mode
Address | Pages | Region | |
---|---|---|---|
000000 | 00-EF | 1920 KiB P-Box memory expansion (MEMEX) | SRAM (0 ws) |
1E0000 | F0-FF | 128 KiB Boot EPROM | Originally, only 16 KiB installed at F0,F1; mirrored |