summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author cam900 <dbtlrchl@naver.com>2021-02-20 14:52:04 +0900
committer GitHub <noreply@github.com>2021-02-20 06:52:04 +0100
commit0e62fc43d07f5e01abaafcf2a765e0681b0c2172 (patch)
treef04baefd1b88c39fd2d960c06790c38c5706f31e
parent8dd6c849d5493ca9e662dae16a466854a5a1c71f (diff)
neogeo.cpp: Add notes for AES clock, regional difference (#7369)
* neogeo.cpp: Add notes for AES clock, regional difference neogeocd.cpp: Move value into driver class, Add notes for hardware region * neogeo.cpp: Fix spacing
-rw-r--r--src/mame/drivers/neogeo.cpp24
-rw-r--r--src/mame/drivers/neogeocd.cpp26
2 files changed, 25 insertions, 25 deletions
diff --git a/src/mame/drivers/neogeo.cpp b/src/mame/drivers/neogeo.cpp
index 156929fe2eb..de04b5f4c48 100644
--- a/src/mame/drivers/neogeo.cpp
+++ b/src/mame/drivers/neogeo.cpp
@@ -31,6 +31,8 @@
- Some raster effects are imperfect (off by a couple of lines)
* 68000 waitstates on ROM region access, determined by jumpers on cart
(garou train stage 3 background bug is probably related to this)
+ * AES Input clock is incorrect (24.167829MHz for NTSC systems, PAL is same?)
+ * PAL region AES behavior is not verified
Confirmed non-bugs:
@@ -726,7 +728,7 @@ public:
{
}
- void aes(machine_config &config);
+ void aes_ntsc(machine_config &config);
protected:
virtual void machine_start() override;
@@ -2141,8 +2143,8 @@ void aes_state::device_post_load()
m_bank_cartridge->set_base((uint8_t *)m_slots[m_curr_slot]->get_rom_base() + m_bank_base);
}
-
-void aes_state::aes(machine_config &config)
+// NTSC region
+void aes_state::aes_ntsc(machine_config &config)
{
neogeo_base(config);
neogeo_stereo(config);
@@ -2416,14 +2418,14 @@ ROM_END
-// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT
-CONS( 1990, neogeo, 0, 0, mv6f, neogeo_mvs6, mvs_led_el_state, empty_init, "SNK", "Neo-Geo MV-6F", MACHINE_IS_BIOS_ROOT | MACHINE_SUPPORTS_SAVE )
-CONS( 1990, ng_mv4f, neogeo, 0, mv4f, neogeo_mvs, mvs_led_el_state, empty_init, "SNK", "Neo-Geo MV-4F", MACHINE_SUPPORTS_SAVE )
-CONS( 1990, ng_mv2f, neogeo, 0, mv2f, neogeo_mvs, mvs_led_el_state, empty_init, "SNK", "Neo-Geo MV-2F", MACHINE_SUPPORTS_SAVE )
-CONS( 1990, ng_mv1, neogeo, 0, mv1, neogeo, mvs_led_state, empty_init, "SNK", "Neo-Geo MV-1", MACHINE_SUPPORTS_SAVE )
-CONS( 1990, ng_mv1f, ng_mv1, 0, mv1f, neogeo, mvs_led_state, empty_init, "SNK", "Neo-Geo MV-1F", MACHINE_SUPPORTS_SAVE )
-CONS( 1990, ng_mv1fz, ng_mv1, 0, mv1fz, neogeo, mvs_state, empty_init, "SNK", "Neo-Geo MV-1FZ", MACHINE_SUPPORTS_SAVE )
-CONS( 1990, aes, 0, 0, aes, aes, aes_state, empty_init, "SNK", "Neo-Geo AES", MACHINE_SUPPORTS_SAVE )
+// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT
+CONS( 1990, neogeo, 0, 0, mv6f, neogeo_mvs6, mvs_led_el_state, empty_init, "SNK", "Neo-Geo MV-6F", MACHINE_IS_BIOS_ROOT | MACHINE_SUPPORTS_SAVE )
+CONS( 1990, ng_mv4f, neogeo, 0, mv4f, neogeo_mvs, mvs_led_el_state, empty_init, "SNK", "Neo-Geo MV-4F", MACHINE_SUPPORTS_SAVE )
+CONS( 1990, ng_mv2f, neogeo, 0, mv2f, neogeo_mvs, mvs_led_el_state, empty_init, "SNK", "Neo-Geo MV-2F", MACHINE_SUPPORTS_SAVE )
+CONS( 1990, ng_mv1, neogeo, 0, mv1, neogeo, mvs_led_state, empty_init, "SNK", "Neo-Geo MV-1", MACHINE_SUPPORTS_SAVE )
+CONS( 1990, ng_mv1f, ng_mv1, 0, mv1f, neogeo, mvs_led_state, empty_init, "SNK", "Neo-Geo MV-1F", MACHINE_SUPPORTS_SAVE )
+CONS( 1990, ng_mv1fz, ng_mv1, 0, mv1fz, neogeo, mvs_state, empty_init, "SNK", "Neo-Geo MV-1FZ", MACHINE_SUPPORTS_SAVE )
+CONS( 1990, aes, 0, 0, aes_ntsc, aes, aes_state, empty_init, "SNK", "Neo-Geo AES (NTSC)", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/neogeocd.cpp b/src/mame/drivers/neogeocd.cpp
index 0421088043b..06ca0f2c2e6 100644
--- a/src/mame/drivers/neogeocd.cpp
+++ b/src/mame/drivers/neogeocd.cpp
@@ -39,9 +39,6 @@
#define NEOCD_REGION_JAPAN 0
-uint8_t NeoSystem = NEOCD_REGION_JAPAN;
-
-
class ngcd_state : public aes_base_state
{
public:
@@ -83,7 +80,7 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(aes_jp1);
// neoCD
-
+ uint8_t m_system_region;
int32_t m_active_transfer_area;
int32_t m_sprite_transfer_bank;
int32_t m_adpcm_transfer_bank;
@@ -127,7 +124,7 @@ public:
std::unique_ptr<uint8_t[]> m_sprite_ram;
std::unique_ptr<uint8_t[]> m_fix_ram;
- void neocd(machine_config &config);
+ void neocd_ntsc(machine_config &config);
void neocd_audio_io_map(address_map &map);
void neocd_audio_map(address_map &map);
void neocd_main_map(address_map &map);
@@ -193,7 +190,7 @@ uint16_t ngcd_state::control_r(offs_t offset)
return m_tempcdc->neocd_cdd_rx_r();
case 0x011C: // region
- return ~((0x10 | (NeoSystem & 3)) << 8);
+ return ~((0x10 | (m_system_region & 3)) << 8);
}
@@ -1035,8 +1032,8 @@ uint32_t ngcd_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap,
return 0;
}
-
-void ngcd_state::neocd(machine_config &config)
+// NTSC region
+void ngcd_state::neocd_ntsc(machine_config &config)
{
neogeo_base(config);
neogeo_stereo(config);
@@ -1110,17 +1107,18 @@ ROM_END
void ngcd_state::init_neocdz()
{
- NeoSystem = NEOCD_REGION_US;
+ m_system_region = NEOCD_REGION_US;
}
void ngcd_state::init_neocdzj()
{
- NeoSystem = NEOCD_REGION_JAPAN;
+ m_system_region = NEOCD_REGION_JAPAN;
}
-// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
-CONS( 1996, neocdz, 0, 0, neocd, neocd, ngcd_state, init_neocdz, "SNK", "Neo-Geo CDZ (US)", 0 ) // the CDZ is the newer model
-CONS( 1996, neocdzj, neocdz, 0, neocd, neocd, ngcd_state, init_neocdzj, "SNK", "Neo-Geo CDZ (Japan)", 0 )
+// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
+CONS( 1996, neocdz, 0, 0, neocd_ntsc, neocd, ngcd_state, init_neocdz, "SNK", "Neo-Geo CDZ (US)", 0 ) // the CDZ is the newer model
+CONS( 1996, neocdzj, neocdz, 0, neocd_ntsc, neocd, ngcd_state, init_neocdzj, "SNK", "Neo-Geo CDZ (Japan)", 0 )
-CONS( 1994, neocd, neocdz, 0, neocd, neocd, ngcd_state, empty_init, "SNK", "Neo-Geo CD", MACHINE_NOT_WORKING ) // older model, ignores disc protections?
+// NTSC region?
+CONS( 1994, neocd, neocdz, 0, neocd_ntsc, neocd, ngcd_state, empty_init, "SNK", "Neo-Geo CD (NTSC?)", MACHINE_NOT_WORKING ) // older model, ignores disc protections?