68k memory map: Difference between revisions

From NeoGeo Development Wiki
Jump to navigation Jump to search
No edit summary
 
m (Fixed link to MAME source code)
(21 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{| class="wikitable"
==In [[:Category:Cartridge systems|Cartridge systems]]==
| Start address
 
| End address
To do: More details in the $300000 range, especially mirroring. See MAME's source and address decoding signals.
| [[ASM Defines|DEF]] Name
 
| Description
{| class="regdef"
| '''Start'''
| '''End'''
| '''Size'''
| '''[[68k ASM defines|DEF]] Name'''
| '''[[Wait cycle]]s'''
| '''Description'''
|-
|-
| $000000
| $000000
| $0FFFFF
| $0FFFFF
| 1MiB
|  
|  
| First 1MB of [[68k]] ROM
| 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
| RAMSTART
|rowspan="2"|64KiB
|rowspan="2"|WORKRAM
|rowspan="2"|0 (4 clks)
| [[68k user RAM|User RAM]]
| [[68k user RAM|User RAM]]
|-
|-
| $10F2FF
| $10F300
| $10F300
| $10FFFF
| [[System ROM]]-reserved RAM
|-
| $110000
| $1FFFFF
|
|
|
| [[BIOSes|BIOS]] RAM
| 0 (4 clks)
| Work RAM mirror
|-
|-
| $200000
| $200000
| $2FFFFF
| $2FFFFF
| 1MiB
|
|
| Second 1MB of 68k ROM (pageable)
| 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
| $3FFFFF
| $3FFFFF
|
|  
|  
| [[Memory mapped registers]]
| 0 (4 clks)
| I/O. See [[Memory mapped registers]] and [[GPU]].
|-
|-
| $400000
| $400000
| $403FFF
| $401FFF
| PALETTERAM
| 8KiB
| [[Palette RAM]]
| 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
| $C00000
| $C20000/$CFFFFF
| $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 [[: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
|  
|  
| System's [[BIOSes|BIOS]] (size depends: 128kB or 512kB)
|
| 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
| [[System ROM]]
|-
| $D00000
| $DFFFFF
|
|
| ?
|-
|-
| $E00000
| $E00000
| $EFFFFF
| $EFFFFF
| 1MiB
| UPLOAD
| Upload zone
|-
| $FF0000
| $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
|
| 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
|
|  
|  
| 1MByte upload zone (only on CD systems)
| Watchdog
|}
|}


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

Revision as of 22:45, 23 June 2017

In Cartridge systems

To do: More details in the $300000 range, especially mirroring. See MAME's source and address decoding signals.

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 and GPU.
$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