mirror of
https://github.com/holub/mame
synced 2025-07-01 16:19:38 +03:00
mbee: added optional SN76489A, works with '128pepsgmod' sw-item.
This commit is contained in:
parent
2b56705512
commit
39ce71dda0
@ -5629,7 +5629,7 @@ At the time of writing (2021-06-04) any floppy image will work in any emulated d
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="128pepsgmod" supported="no"><!-- need SN device added -->
|
||||
<software name="128pepsgmod">
|
||||
<description>EPSGmod Files</description>
|
||||
<year>19??</year>
|
||||
<publisher><unknown></publisher>
|
||||
|
@ -129,6 +129,7 @@ from Brett Selwood and Andrew Davies.
|
||||
#include "emu.h"
|
||||
#include "includes/mbee.h"
|
||||
#include "formats/mbee_cas.h"
|
||||
#include "sound/sn76496.h"
|
||||
#include "speaker.h"
|
||||
|
||||
void mbee_state::mbee_mem(address_map &map)
|
||||
@ -288,6 +289,14 @@ void mbee_state::mbee128_io(address_map &map)
|
||||
map(0x50, 0x57).w(FUNC(mbee_state::port50_w));
|
||||
}
|
||||
|
||||
void mbee_state::mbee128p_io(address_map &map)
|
||||
{
|
||||
map.global_mask(0xff);
|
||||
map.unmap_value_high();
|
||||
mbee128_io(map);
|
||||
map(0x10, 0x13).w("sn1", FUNC(sn76489a_device::write));
|
||||
}
|
||||
|
||||
void mbee_state::mbee256_io(address_map &map)
|
||||
{
|
||||
map.unmap_value_high();
|
||||
@ -301,7 +310,7 @@ void mbee_state::mbee256_io(address_map &map)
|
||||
map(0x000b, 0x000b).mirror(0xff00).w(FUNC(mbee_state::port0b_w));
|
||||
map(0x000c, 0x000c).mirror(0xff00).r(m_crtc, FUNC(mc6845_device::status_r)).w(FUNC(mbee_state::m6545_index_w));
|
||||
map(0x000d, 0x000d).mirror(0xff00).r(m_crtc, FUNC(mc6845_device::register_r)).w(FUNC(mbee_state::m6545_data_w));
|
||||
// map(0x0010, 0x0013).mirror(0xff00); Optional SN76489AN audio chip (never used)
|
||||
map(0x0010, 0x0013).mirror(0xff00).w("sn1", FUNC(sn76489a_device::write));
|
||||
map(0x0018, 0x001b).mirror(0xff00).r(FUNC(mbee_state::port18_r));
|
||||
map(0x001c, 0x001f).mirror(0xff00).rw(FUNC(mbee_state::port1c_r), FUNC(mbee_state::port1c_w));
|
||||
map(0x0044, 0x0047).mirror(0xff00).rw(m_fdc, FUNC(wd2793_device::read), FUNC(wd2793_device::write));
|
||||
@ -836,7 +845,7 @@ void mbee_state::mbee128p(machine_config &config)
|
||||
{
|
||||
mbeeppc(config);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &mbee_state::mbee256_mem);
|
||||
m_maincpu->set_addrmap(AS_IO, &mbee_state::mbee128_io);
|
||||
m_maincpu->set_addrmap(AS_IO, &mbee_state::mbee128p_io);
|
||||
|
||||
WD2793(config, m_fdc, 4_MHz_XTAL / 2);
|
||||
m_fdc->intrq_wr_callback().set(FUNC(mbee_state::fdc_intrq_w));
|
||||
@ -845,6 +854,8 @@ void mbee_state::mbee128p(machine_config &config)
|
||||
FLOPPY_CONNECTOR(config, m_floppy0, mbee_floppies, "35dd", floppy_image_device::default_mfm_floppy_formats).enable_sound(true);
|
||||
FLOPPY_CONNECTOR(config, m_floppy1, mbee_floppies, "35dd", floppy_image_device::default_mfm_floppy_formats).enable_sound(true);
|
||||
|
||||
SN76489A(config, "sn1", 13.5_MHz_XTAL / 4).add_route(ALL_OUTPUTS, "mono", 0.50);
|
||||
|
||||
SOFTWARE_LIST(config, "flop_list").set_original("mbee_flop").set_filter("3");
|
||||
remove_carts(config);
|
||||
remove_quick(config);
|
||||
|
@ -140,6 +140,7 @@ private:
|
||||
|
||||
required_device<palette_device> m_palette;
|
||||
void mbee128_io(address_map &map);
|
||||
void mbee128p_io(address_map &map);
|
||||
void mbee256_io(address_map &map);
|
||||
void mbee256_mem(address_map &map);
|
||||
void mbee56_io(address_map &map);
|
||||
|
Loading…
Reference in New Issue
Block a user