System ROM: Difference between revisions

From NeoGeo Development Wiki
Jump to navigation Jump to search
m (Hashes)
m (That wasn't the right word...)
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[File:biosmenus.png|thumb|(Enlarge) Configuration and book keeping menus in the SP-2 MVS BIOS]]
[[File:biosmenus.png|thumb|(Enlarge) Configuration and book keeping menus in the SP-2 MVS system ROM.]]


The system ROM (often called BIOS) is a ROM containing code for the [[boot process|68k startup program]], [[system ROM tables|lookup tables]], and various generic functions which can or must be used by games. They are present in all hardware types in various versions. The [[CD systems|NeoGeo CD]] system ROM also contains graphics, sound, and {{Chipname|Z80}} code.
The system ROM (often called BIOS) is a ROM containing code for the [[boot process|68k startup program]], some [[system ROM tables|lookup tables]], and various generic functions which can or must be used by games. They are present in all NeoGeo hardware types in various versions. The [[CD systems|NeoGeo CD]] system ROMs also contains graphics, sound, and {{Chipname|Z80}} code.


The official system ROMs have their nationality set by the byte at address '''$000401''' (0=Japan, 1=US, 2=Euro).
Original system ROMs have their nationality set by the byte at address '''$000401''' (0=Japan, 1=US, 2=Euro), and their type set by the byte at '''$000400''' (0=AES, $80=MVS).


The type is set by the byte at '''$000400''' (0=AES, $80=MVS).
Through-hole ROMs can be replaced by 27C1024 or TC571024D EPROMs.


=Hashes=
=Hashes=


Copied from MAME's source code.
Copied from [[https://github.com/mamedev/mame/blob/master/src/mame/drivers/neogeo.cpp#L1830 MAME's source]].


{| class="regdef"
{| class="regdef"
|'''Ref.'''
|'''Version'''
|'''Version'''
|'''CRC32'''
|'''CRC32'''
Line 17: Line 18:
|-
|-
|SP-S
|SP-S
|c7f2fa45
|Europe MVS (V1)
|09576ff20b4d6b365e78e6a5698ea450262697cd
|C7F2FA45
|09576FF20B4D6B365E78E6A5698EA450262697CD
|-
|-
|SP-S2
|SP-S2
|9036d879
|Europe MVS (V2)
|4f5ed7105b7128794654ce82b51723e16e389543
|9036D879
|4F5ED7105B7128794654CE82B51723E16E389543
|-
|SP-E
|US MVS (V1)
|2723A5B5
|5DBFF7531CF04886CDE3EF022FB5CA687573DCB8
|-
|-
|SP-U2
|SP-U2
|e72943de
|US MVS (V2?)
|5c6bba07d2ec8ac95776aa3511109f5e1e2e92eb
|E72943DE
|-
|5C6BBA07D2EC8AC95776AA3511109F5E1E2E92EB
|SP-E
|2723a5b5
|5dbff7531cf04886cde3ef022fb5ca687573dcb8
|-
|-
|SP-US-V2
|V2
|62f021f4
|US MVS (4-slot V2)
|62d372269e1b3161c64ae21123655a0a22ffd1bb
|62F021F4
|62D372269E1B3161C64AE21123655A0A22FFD1BB
|-
|-
|ASIA-S3
|ASIA-S3
|91b64be3
|Asia MVS (V3)
|720a3e20d26818632aedf2c2fd16c54f213543e1
|91B64BE3
|720A3E20D26818632AEDF2C2FD16C54F213543E1
|-
|-
|SP-J3
|VS-BIOS
|f0e8f27d
|Japan MVS (V3)
|ecf01eda815909f1facec62abf3594eaa8d11075
|F0E8F27D
|ECF01EDA815909F1FACEC62ABF3594EAA8D11075
|-
|-
|SP-J2
|SP-J2
|acede59c
|Japan MVS (V2)
|b6f97acd282fd7e94d9426078a90f059b5e9dd91
|ACEDE59C
|B6F97ACD282FD7E94D9426078A90F059B5E9DD91
|-
|-
|SP-J1
|SP1
|9fb0abe4
|Japan MVS (V1)
|18a987ce2229df79a8cf6a84f968f0e42ce4e59d
|9FB0ABE4
|18A987CE2229DF79A8CF6A84F968F0E42CE4E59D
|-
|-
|SP-45
|SP-45
|03cc9f6a
|Asia MVS (V4.5)
|cdf1f49e3ff2bac528c21ed28449cf35b7957dc1
|03CC9F6A
|CDF1F49E3FF2BAC528C21ED28449CF35B7957DC1
|-
|-
|SP-J3
|JAPAN-J3
|dff6d41f
|Japan MVS (V3)
|e92910e20092577a4523a6b39d578a71d4de7085
|DFF6D41F
|E92910E20092577A4523A6B39D578A71D4DE7085
|-
|-
|SP-1V1
|SP-1V1
|162f0ebe
|Hotel unit (V1.3)
|fe1c6dd3dfcf97d960065b1bb46c1e11cb7bf271
|162F0EBE
|FE1C6DD3DFCF97D960065B1BB46C1E11CB7BF271
|-
|-
|NEO-EP0
|NEO-EPO
|d27a71f1
|Export AES
|1b3b22092f30c4d1b2c15f04d1670eb1e9fbea07
|D27A71F1
|1B3B22092F30C4D1B2C15F04D1670EB1E9FBEA07
|-
|NEO-PO
|Japan AES
|16D0C132
|4E4A440CAE46F3889D20234AEBD7F8D5F522E22C
|-
|DEBUG
|Dev. Sys.
|698EBB7D
|081C49AA8CC7DAD5939833DC1B18338321EA0A07
|}
|}


=Contents=
=Use=
 
==Lookup tables==


See [[system ROM tables]].
The system ROM is always mapped at [[68k memory map|$C00000]].


=AES=
See:
* [[:Category:BIOS_calls|System ROM calls]]
* [[Hardware test]]
* [[System ROM tables]]


Size: 128KiB. Called {{Chipname|NEO-EP0}}.
=Home system=


[[File:aes_biosep0.jpg|300px]]
Size: 128KiB. Named NEO-P0 (Japan) or NEO-EP0 (Export).


=MVS=
=MVS=


[[File:mvs_sp-s2.jpg|right|thumb|Toshiba SP-S2 on a [[1FZS]] MVS slot.]]
Size: 128KiB. Often named "SP" for System Program. Many different versions.
[[File:mvs_sp1v2.jpg|right|thumb]]


Size: 128KiB. Called {{Chipname|SP-S2}}, "SP-E"... Different names according to nationality.
<gallery>
File:mvs_sp-s2.jpg|thumb|SP-S2 in PROM/MaskROM
File:mvs_sp1v2.jpg|thumb|SP1 in EPROM
File:brd_spj.jpg|thumb|SPJ Japanese system ROM on a [[ROM-Only boards|ROM-only arcade board]].
</gallery>


Graphic visualisation of sp-s2.bin:
=CD/CDZ=
 
[[File:binviewsp2.png|binviewsp2.png]]


=CD/CDZ=
[[File:cdzbiosgfx.png|thumb|Graphic visualisation of the CDZ system ROM, highlighting the different data blocks.]]
[[File:cd2_bios.jpg|right|thumb|TOP-SP1 BIOS ROM on a CDM3-2 board.]]


[[File:brd_spj.jpg|thumb|SPJ Japanese BIOS on a [[ROM-Only boards|ROM-only arcade board]]. Picture courtesy of [[http://www.mvs-scans.com MVS-Scans]].]]
On CD systems, the system ROM contains {{Chipname|Z80}} and {{Chipname|68k}} programs, [[ADPCM]] sound, and graphics which are loaded to the corresponding [[DRAM|DRAMs]] at startup. There are '''no''' [[SFIX ROM|SFIX]] or {{Chipname|SM1}} ROMs in CD systems (but still a {{Chipname|LO}} ROM).


Size: 512KiB.
Size: 512KiB.


*FRONT-SP1 (Front loader)
* FRONT-SP1 (Front loaders)
*TOP-SP1 (Top loader, LC8953)
* TOP-SP1 (Early top loaders using {{Chipname|LC8953}})
*TOP-SP2 (Top loader, LC98000)
* TOP-SP1-2 (Late top loaders using {{Chipname|LC98000}})
*TOP-SPD ([[CDZ]])
* TOP-SPD ([[CDZ]])


Contains {{Chipname|Z80}} and {{Chipname|68k}} programs, [[PCM]] sound, and graphics which are copied to the corresponding [[DRAM|DRAMs]] at boot time. There is ''no'' {{Chipname|SFIX}} or {{Chipname|SM1}} ROMs in CD systems (but still a {{Chipname|LO}} ROM).
<gallery>
File:cd2_bios.jpg|thumb|TOP-SP1 system ROM on a {{PCB|NEO-CDM3-2 board}}.
File:top-sp1-2.jpg|thumb|TOP-SP1-2 on a {{PCB|NEO-CDM4-2 board}}. Pic by TortueGe.
File:top-sp1-3.jpg|thumb|TOP-SP1-3. Pic by l_oliveira.
</gallery>


The [[CD hardware versions|CD1 and CD2]] system ROMs (FRONT-SP1 and TOP-SP1/SP2) include the [[Sound drivers list|"Ver 3.0 by Mr.Noric.1993/11/10 14:00"]] Z80 [[sound driver]].
==Hidden credits==
The CD1 and CD2 system ROMs contain credits organized to be displayed on the fix layer (how can this be seen ?):


The [[CDZ]] version includes the "Ver 3.0 by MAKOTO.04/03/10 to SK" driver.
[[File:ngcd_credits.png]]


The CD1 and CD2 system ROMs contain credits, organized to be displayed on the fix layer (how can this be seen on screen ?):
* [[Noriyuki Higashi]] is "Mr.Noric".
* [[Toshiya Yahara]] is cited as the inventor of the NeoGeo Pocket power supply in an [[SNK Patents|SNK patent]].
* Jo(h)n Guso is credited as a programmer in several games.


<pre>
==Sound drivers==
CREDITS
SOFTWARE NORIYUKI HIGASHI
HARDWARE MOTOO YOKOYAMA TOSHIYA YAHARA
GRAPHICS OTIAI
SPECIAL  JON  GUSO
THANKS  CURRY SHIMIZU
SNK ALL STAFF
</pre>


[[Noriyuki Higashi]] is the infamous "Mr.Noric".
The [[CD hardware versions|CD1 and CD2]] system ROMs (FRONT-SP1 and TOP-SP1/SP2) include the [[Sound drivers list|"Ver 3.0 by Mr.Noric.1993/11/10 14:00"]] Z80 [[sound driver]].


[[Toshiya Yahara]] is cited as the inventor of the NeoGeo Pocket power supply in an [[SNK Patents|SNK patent]].
The [[CDZ]] version includes the "Ver 3.0 by MAKOTO.04/03/10 to SK" driver.


Graphic visualisation of a CDZ BIOS dump, with separated data blocks:<br>
<br clear=all>
[[File:cdzbiosgfx.png]]


=UniBIOS=
=UniBIOS=


Hacked MVS system ROM with various added functionalities such as cheats, CRC calculation, jukebox, [[68k exception handling|error handling]]. See [[Universe BIOS]].
Hacked MVS system ROM with various added functionalities such as cheats, [[debug DIPs]] settings, region and system switch, CRC checking, a jukebox, [[68k exception handling|error handling]]. See [[Universe BIOS]].


=Neopen BIOS=
=Neopen BIOS=

Latest revision as of 06:17, 9 January 2019

(Enlarge) Configuration and book keeping menus in the SP-2 MVS system ROM.

The system ROM (often called BIOS) is a ROM containing code for the 68k startup program, some lookup tables, and various generic functions which can or must be used by games. They are present in all NeoGeo hardware types in various versions. The NeoGeo CD system ROMs also contains graphics, sound, and Z80 code.

Original system ROMs have their nationality set by the byte at address $000401 (0=Japan, 1=US, 2=Euro), and their type set by the byte at $000400 (0=AES, $80=MVS).

Through-hole ROMs can be replaced by 27C1024 or TC571024D EPROMs.

Hashes

Copied from [MAME's source].

Ref. Version CRC32 SHA-1
SP-S Europe MVS (V1) C7F2FA45 09576FF20B4D6B365E78E6A5698EA450262697CD
SP-S2 Europe MVS (V2) 9036D879 4F5ED7105B7128794654CE82B51723E16E389543
SP-E US MVS (V1) 2723A5B5 5DBFF7531CF04886CDE3EF022FB5CA687573DCB8
SP-U2 US MVS (V2?) E72943DE 5C6BBA07D2EC8AC95776AA3511109F5E1E2E92EB
V2 US MVS (4-slot V2) 62F021F4 62D372269E1B3161C64AE21123655A0A22FFD1BB
ASIA-S3 Asia MVS (V3) 91B64BE3 720A3E20D26818632AEDF2C2FD16C54F213543E1
VS-BIOS Japan MVS (V3) F0E8F27D ECF01EDA815909F1FACEC62ABF3594EAA8D11075
SP-J2 Japan MVS (V2) ACEDE59C B6F97ACD282FD7E94D9426078A90F059B5E9DD91
SP1 Japan MVS (V1) 9FB0ABE4 18A987CE2229DF79A8CF6A84F968F0E42CE4E59D
SP-45 Asia MVS (V4.5) 03CC9F6A CDF1F49E3FF2BAC528C21ED28449CF35B7957DC1
JAPAN-J3 Japan MVS (V3) DFF6D41F E92910E20092577A4523A6B39D578A71D4DE7085
SP-1V1 Hotel unit (V1.3) 162F0EBE FE1C6DD3DFCF97D960065B1BB46C1E11CB7BF271
NEO-EPO Export AES D27A71F1 1B3B22092F30C4D1B2C15F04D1670EB1E9FBEA07
NEO-PO Japan AES 16D0C132 4E4A440CAE46F3889D20234AEBD7F8D5F522E22C
DEBUG Dev. Sys. 698EBB7D 081C49AA8CC7DAD5939833DC1B18338321EA0A07

Use

The system ROM is always mapped at $C00000.

See:

Home system

Size: 128KiB. Named NEO-P0 (Japan) or NEO-EP0 (Export).

MVS

Size: 128KiB. Often named "SP" for System Program. Many different versions.

CD/CDZ

File:Cdzbiosgfx.png
Graphic visualisation of the CDZ system ROM, highlighting the different data blocks.

On CD systems, the system ROM contains Z80 and 68k programs, ADPCM sound, and graphics which are loaded to the corresponding DRAMs at startup. There are no SFIX or SM1 ROMs in CD systems (but still a LO ROM).

Size: 512KiB.

  • FRONT-SP1 (Front loaders)
  • TOP-SP1 (Early top loaders using LC8953)
  • TOP-SP1-2 (Late top loaders using LC98000)
  • TOP-SPD (CDZ)

Hidden credits

The CD1 and CD2 system ROMs contain credits organized to be displayed on the fix layer (how can this be seen ?):

Sound drivers

The CD1 and CD2 system ROMs (FRONT-SP1 and TOP-SP1/SP2) include the "Ver 3.0 by Mr.Noric.1993/11/10 14:00" Z80 sound driver.

The CDZ version includes the "Ver 3.0 by MAKOTO.04/03/10 to SK" driver.


UniBIOS

Hacked MVS system ROM with various added functionalities such as cheats, debug DIPs settings, region and system switch, CRC checking, a jukebox, error handling. See Universe BIOS.

Neopen BIOS

Opensource AES/MVS system ROM in development. See Neopen BIOS.