68k memory map: Difference between revisions

From NeoGeo Development Wiki
Jump to navigation Jump to search
mNo edit summary
 
(16 intermediate revisions by 3 users not shown)
Line 1: Line 1:
==In [[:Category:Cartridge systems|Cartridge systems]]==
{| class="regdef"
{| class="regdef"
| '''Start address'''
| '''Start'''
| '''End address'''
| '''End'''
| '''Size'''
| '''Size'''
| '''[[ASM Defines|DEF]] Name'''
| '''[[68k ASM defines|DEF]] Name'''
| '''[[Wait cycle]]s'''
| '''Description'''
| '''Description'''
|-
|-
Line 10: Line 13:
| 1MiB
| 1MiB
|  
|  
| First fixed bank of the [[68k]] binary ([[P ROM]] or [[PRG file]])
| 0 or 1 (4/5 clks) depending on {{Sig|ROMWAIT|ROMWAIT}}.
| [[68k_vector_table|Vector table]], first fixed bank of the {{Chipname|68k}} program ROM ({{Chipname|P ROM}})
|-
|-
| $100000
| $100000
| $10F2FF
| $10F2FF
|rowspan="2"|64KiB<br>(Mirrored up to $1FFFFF)
|rowspan="2"|64KiB
| WORKRAM
|rowspan="2"|WORKRAM
|rowspan="2"|0 (4 clks)
| [[68k user RAM|User RAM]]
| [[68k user RAM|User RAM]]
|-
|-
| $10F300
| $10F300
| $10FFFF
| $10FFFF
| [[System ROM]]-reserved RAM
|-
| $110000
| $1FFFFF
|
|
|
| [[BIOSes|BIOS]]-reserved RAM
| 0 (4 clks)
| Work RAM mirror
|-
|-
| $200000
| $200000
Line 27: Line 38:
| 1MiB
| 1MiB
|
|
| Second bank of the 68k binary (bankswitch possible on some carts, $2FFFE0 ?)
| 0 to 3 (4/7 clks) depending on {{Sig|PWAIT|PWAIT}}.
| Second bank of the 68k program ROM (also used for bankswitching and access to special chips)
|-
|-
| $300000
| $300000
Line 33: Line 45:
|
|
|  
|  
| [[Memory mapped registers]]
| 0 (4 clks)
| I/O. See [[Memory mapped registers]].
|-
|-
| $400000
| $400000
| $401FFF
| 8KiB
| PALETTES
| 0 (4 clks)
| Banked [[palette RAM]]
|-
| $402000
| $7FFFFF
| $7FFFFF
| 8KiB (Mirrored)
|
| PALETTERAM
|
| [[Palette RAM]]
| 0 (4 clks)
| Palette RAM mirror
|-
|-
| $800000
| $800000
| $BFFFFF
| $BFFFFF
| 4 KiB (Mirrored)
| 8 MiB max
| MEMORYCARD
| MEMCARD
| [[Memory card]] (Even bytes are always $FF) (Replaced with onboard RAM in CD systems)
| 2 (6 clks)
| [[Memory card]]
|-
|-
| $C00000
| $C00000
| $C1FFFF/$CFFFFF
| $C1FFFF
| 128KiB/512KiB
| 128KiB
| SYSTEMROM
| 0 (4 clks)
| [[System ROM]]
|-
| $C20000
| $CFFFFF
|
|
| 0 (4 clks)
| System ROM mirror
|-
| $D00000
| $D0FFFF
| 64KiB
|
| 0 (4 clks)
| [[Backup RAM]] (MVS only)
|-
| $D10000
| $DFFFFF
|
|
| 0 (4 clks)
| Backup RAM mirror
|}
 
==In [[:Category:CD systems|CD systems]]==
 
{| class="regdef"
| '''Start'''
| '''End'''
| '''Size'''
| '''[[68k ASM defines|DEF]] Name'''
| '''Description'''
|-
| $000000
| $0FFFFF
| 1MiB
|
| Vector table, 68k program ([[PRG file]]s)
|-
| $100000
| $10F2FF
|rowspan="2"|64KiB<br>Shared with the 68k code [[DRAM]].
|rowspan="2"| WORKRAM
| [[68k user RAM|User RAM]]
|-
| $10F300
| $10FFFF
| [[System ROM]]-reserved RAM
|-
| $110000
| $1FFFFF
|
|
| Buffers, 68k program
|-
| $300000
| $39FFFF
|
|
| Input ports (See [[Memory mapped registers]])
|-
| $3A0000
| $3BFFFF
|
|
| Ouput ports (See Memory mapped registers)
|-
| $3C0000
| $3FFFFF
|
|
| [[GPU]] ports (See Memory mapped registers)
|-
| $400000
| $401FFF
| 8KiB
| PALETTES
| Banked [[palette RAM]]
|-
| $800000
| $803FFF
| 8 KiB
| MEMCARD
| Virtual memory card (onboard [[battery-backed RAM]])<br>
(8bit, even bytes are always $FF)
|-
| $C00000
| $C7FFFF
| 512KiB
| BIOSROM
| BIOSROM
| System's [[BIOSes|BIOS]] (size depends on system: 128kB mirrored or 512kB)
| [[System ROM]]
|-
|-
| $D00000
| $D00000
| $DFFFFF
| $DFFFFF
| 64KiB (Mirrored)
|  
|  
| 64KiB [[battery-backed RAM]] (MVS only)
|  
| ?
|-
|-
| $E00000
| $E00000
Line 63: Line 176:
| 1MiB
| 1MiB
| UPLOAD
| UPLOAD
| Upload zone (only on [[:Category:CD systems|CD systems]])
| Upload zone
|-
|-
| $FF0000
| $FF0000
| $FFFFFF ?
| $FF01FF ?
|
|
| CD and DMA specific I/O registers
|}
 
== For [[Neo Print]] boards ==
Infos from [[https://github.com/mamedev/mame/blob/master/src/mame/drivers/neoprint.cpp MAME's source]].
 
{| class="regdef"
| '''Start'''
| '''End'''
| '''Size'''
| '''[[68k ASM defines|DEF]] Name'''
| '''Description'''
|-
| $000000
| $07FFFF
| 512KiB
|
| 68k program (P ROM).
|-
| $100000
| $17FFFF
|
|
|
| Banked 68k program or I/O (writes done here).
|-
| $200000
| $20FFFF
| 64KiB
|
|
| CD system registers
| 68k RAM
|-
| $300000
| $30FFFF
| 64KiB
|
| Backup RAM
|-
| $400000
| $43FFFF
|
|
| VRAM ?
|-
| $500000
| $51FFFF
| 128KiB
|
| Palette RAM
|-
| $600000
| $600001
|
|
| Z80 I/O
|-
| $600002
| $600003
|
|
| RTC I/O
|-
| $600004
| $60000D
|
|
| I/O registers
|-
| $700000
| $70001B
|
|
| GPU registers
|-
| 70001E
| 70001F
|
|
| Watchdog
|}
|}


[[Category:CPUs]]
[[Category:Base system]]

Latest revision as of 09:42, 8 October 2023

In Cartridge systems

Start End Size DEF Name Wait cycles Description
$000000 $0FFFFF 1MiB 0 or 1 (4/5 clks) depending on ROMWAIT. Vector table, first fixed bank of the 68k program ROM (P ROM)
$100000 $10F2FF 64KiB WORKRAM 0 (4 clks) User RAM
$10F300 $10FFFF System ROM-reserved RAM
$110000 $1FFFFF 0 (4 clks) Work RAM mirror
$200000 $2FFFFF 1MiB 0 to 3 (4/7 clks) depending on PWAIT. Second bank of the 68k program ROM (also used for bankswitching and access to special chips)
$300000 $3FFFFF 0 (4 clks) I/O. See Memory mapped registers.
$400000 $401FFF 8KiB PALETTES 0 (4 clks) Banked palette RAM
$402000 $7FFFFF 0 (4 clks) Palette RAM mirror
$800000 $BFFFFF 8 MiB max MEMCARD 2 (6 clks) Memory card
$C00000 $C1FFFF 128KiB SYSTEMROM 0 (4 clks) System ROM
$C20000 $CFFFFF 0 (4 clks) System ROM mirror
$D00000 $D0FFFF 64KiB 0 (4 clks) Backup RAM (MVS only)
$D10000 $DFFFFF 0 (4 clks) Backup RAM mirror

In CD systems

Start End Size DEF Name Description
$000000 $0FFFFF 1MiB Vector table, 68k program (PRG files)
$100000 $10F2FF 64KiB
Shared with the 68k code DRAM.
WORKRAM User RAM
$10F300 $10FFFF System ROM-reserved RAM
$110000 $1FFFFF Buffers, 68k program
$300000 $39FFFF Input ports (See Memory mapped registers)
$3A0000 $3BFFFF Ouput ports (See Memory mapped registers)
$3C0000 $3FFFFF GPU ports (See Memory mapped registers)
$400000 $401FFF 8KiB PALETTES Banked palette RAM
$800000 $803FFF 8 KiB MEMCARD Virtual memory card (onboard battery-backed RAM)

(8bit, even bytes are always $FF)

$C00000 $C7FFFF 512KiB BIOSROM System ROM
$D00000 $DFFFFF ?
$E00000 $EFFFFF 1MiB UPLOAD Upload zone
$FF0000 $FF01FF ? CD and DMA specific I/O registers

For Neo Print boards

Infos from [MAME's source].

Start End Size DEF Name Description
$000000 $07FFFF 512KiB 68k program (P ROM).
$100000 $17FFFF Banked 68k program or I/O (writes done here).
$200000 $20FFFF 64KiB 68k RAM
$300000 $30FFFF 64KiB Backup RAM
$400000 $43FFFF VRAM ?
$500000 $51FFFF 128KiB Palette RAM
$600000 $600001 Z80 I/O
$600002 $600003 RTC I/O
$600004 $60000D I/O registers
$700000 $70001B GPU registers
70001E 70001F Watchdog