diff --git a/Arcade_MiST/Jaleco NaughtyBoy/meta/PopF.mra b/Arcade_MiST/Jaleco NaughtyBoy/meta/PopF.mra index 6f2ea438..f70b1523 100644 --- a/Arcade_MiST/Jaleco NaughtyBoy/meta/PopF.mra +++ b/Arcade_MiST/Jaleco NaughtyBoy/meta/PopF.mra @@ -8,7 +8,7 @@ NBoy - + diff --git a/Arcade_MiST/Konami Tutankham/Useful Information/jun.txt b/Arcade_MiST/Konami Tutankham/Useful Information/jun.txt new file mode 100644 index 00000000..b0665321 --- /dev/null +++ b/Arcade_MiST/Konami Tutankham/Useful Information/jun.txt @@ -0,0 +1,60 @@ +void tutankhm_state::main_map(address_map &map) +{ + map(0x0000, 0x7fff).ram().share(m_videoram); + + //0x8100 -> Custom 089 D9 Pin 15 + map(0x8100, 0x8100).mirror(0x000f).ram().share(m_scroll); + + /* a read here produces a 1-0-1 write to line 420 (084). + * This most likely resets some sort of timer implemented by the 084 custom chip + * which would on line 419 trigger a reset. + */ + //0x8720 -> Custom 084 F3 Pin 20 + map(0x8120, 0x8120).mirror(0x000f).r("watchdog", FUNC(watchdog_timer_device::reset_r)); + //0x8740 -> Custom 089 D9 Pin 11 - Unknown, not used + map(0x8160, 0x8160).mirror(0x000f).portr("DSW2"); // DSW2 (inverted bits) + map(0x8180, 0x8180).mirror(0x000f).portr("IN0"); // IN0 I/O: Coin slots, service, 1P/2P buttons + map(0x81a0, 0x81a0).mirror(0x000f).portr("IN1"); // IN1: Player 1 I/O + map(0x81c0, 0x81c0).mirror(0x000f).portr("IN2"); // IN2: Player 2 I/O + map(0x81e0, 0x81e0).mirror(0x000f).portr("DSW1"); // DSW1 (inverted bits) + map(0x8200, 0x8207).mirror(0x00f8).nopr().w("mainlatch", FUNC(ls259_device::write_d0)); + map(0x8300, 0x8300).mirror(0x00ff).w(FUNC(tutankhm_state::bankselect_w)); + map(0x8600, 0x8600).mirror(0x00ff).w(FUNC(tutankhm_state::sound_on_w)); + map(0x8700, 0x8700).mirror(0x00ff).w(m_timeplt_audio, FUNC(timeplt_audio_device::sound_data_w)); + + map(0x8800, 0x8fff).ram(); + map(0x9000, 0x9fff).bankr(m_mainbank); + map(0xa000, 0xffff).rom(); +} + +void junofrst_state::main_map(address_map &map) +{ + + map(0x8010, 0x8010).portr("DSW2"); + map(0x801c, 0x801c).r("watchdog", FUNC(watchdog_timer_device::reset_r)); + map(0x8020, 0x8020).portr("SYSTEM"); + map(0x8024, 0x8024).portr("P1"); + map(0x8028, 0x8028).portr("P2"); + map(0x802c, 0x802c).portr("DSW1"); + map(0x8030, 0x8037).w("mainlatch", FUNC(ls259_device::write_d0)); + map(0x8040, 0x8040).w(FUNC(junofrst_state::sh_irqtrigger_w)); + map(0x8050, 0x8050).w("soundlatch", FUNC(generic_latch_8_device::write)); + map(0x8060, 0x8060).w(FUNC(junofrst_state::bankselect_w)); + map(0x8070, 0x8073).w(FUNC(junofrst_state::blitter_w)); + map(0x8100, 0x8fff).ram(); + map(0x9000, 0x9fff).bankr(m_mainbank); + map(0xa000, 0xffff).rom(); +} + + +void junofrst_state::audio_map(address_map &map) +{ + map(0x0000, 0x0fff).rom(); + map(0x2000, 0x23ff).ram(); + map(0x3000, 0x3000).r("soundlatch", FUNC(generic_latch_8_device::read)); + map(0x4000, 0x4000).w("aysnd", FUNC(ay8910_device::address_w)); + map(0x4001, 0x4001).r("aysnd", FUNC(ay8910_device::data_r)); + map(0x4002, 0x4002).w("aysnd", FUNC(ay8910_device::data_w)); + map(0x5000, 0x5000).w("soundlatch2", FUNC(generic_latch_8_device::write)); + map(0x6000, 0x6000).w(FUNC(junofrst_state::i8039_irq_w)); +} \ No newline at end of file diff --git a/common/mra.exe b/common/mra.exe index e5d51c67..a9b06cc5 100644 Binary files a/common/mra.exe and b/common/mra.exe differ