diff options
Diffstat (limited to 'src/mame/drivers/skyfox.cpp')
-rw-r--r-- | src/mame/drivers/skyfox.cpp | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/mame/drivers/skyfox.cpp b/src/mame/drivers/skyfox.cpp index 9914d127034..27e9099ac1a 100644 --- a/src/mame/drivers/skyfox.cpp +++ b/src/mame/drivers/skyfox.cpp @@ -12,7 +12,11 @@ Sound: YM2203C x 2 Other: 2 HM6116LP-3 (one on each board) 1 KM6264L-15 (on bottom board) -To Do: The background rendering is entirely guesswork +TODO: +- The background rendering is entirely guesswork; +- DMA trigger happens at vpos 24 with legacy video parameters, + needs H/VSync PCB calculations, also notice that 62.65 Hz comes from the + bootleg and may be different for original; 2008-07 Verified Dip locations and recommended settings with manual @@ -35,6 +39,7 @@ Verified Dip locations and recommended settings with manual WRITE8_MEMBER(skyfox_state::output_w) { + // TODO: untangle switch (offset) { case 0: @@ -44,9 +49,6 @@ WRITE8_MEMBER(skyfox_state::output_w) case 1: m_soundlatch->write(data); break; - - default: - break; } } @@ -56,11 +58,14 @@ void skyfox_state::skyfox_map(address_map &map) map(0xc000, 0xcfff).ram(); map(0xd000, 0xd3ff).ram().share("spriteram"); map(0xd400, 0xd4ff).ram().share("bgram"); // For background stars + // TODO: verify if A11 is unconnected map(0xd500, 0xdfff).ram(); map(0xe000, 0xe000).portr("INPUTS"); map(0xe001, 0xe001).portr("DSW0"); map(0xe002, 0xe002).portr("DSW1"); - map(0xe008, 0xe00f).w(FUNC(skyfox_state::output_w)); + map(0xe008, 0xe009).w(FUNC(skyfox_state::output_w)); +// map(0xe00a, 0xe00e) // POST only? + map(0xe00f, 0xe00f).nopw(); // DMA trigger map(0xf001, 0xf001).portr("DSW2"); } @@ -203,8 +208,6 @@ GFXDECODE_END ***************************************************************************/ -/* Scroll the background on every vblank (guess). */ - void skyfox_state::machine_start() { save_item(NAME(m_bg_ctrl)); @@ -220,12 +223,14 @@ void skyfox_state::skyfox(machine_config &config) /* basic machine hardware */ Z80(config, m_maincpu, XTAL(8'000'000)/2); /* Verified at 4MHz */ m_maincpu->set_addrmap(AS_PROGRAM, &skyfox_state::skyfox_map); - + // IM0, never enables ei opcode + Z80(config, m_audiocpu, XTAL(14'318'181)/8); /* Verified at 1.789772MHz */ m_audiocpu->set_addrmap(AS_PROGRAM, &skyfox_state::skyfox_sound_map); /* video hardware */ SCREEN(config, m_screen, SCREEN_TYPE_RASTER); + // TODO: legacy screen configuration with no vblank irq m_screen->set_refresh_hz(62.65); m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */); m_screen->set_size(512, 256); |