Previous 199869 Revisions Next

r33278 Saturday 8th November, 2014 at 10:32:05 UTC by Sergey Svishchev
mikrosha: add cartslot and one ROM cart
[hash]mikrosha_cart.xml*
[src/mess/drivers]mikrosha.c

trunk/hash/mikrosha_cart.xml
r0r241790
1<?xml version="1.0"?>
2<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
3<softwarelist name="mikrosha_cart" description="Mikrosha cartridges">
4
5   <software name="micron">
6      <description>BASIC-Micron, ED.Micron, Assembler</description>
7      <year>19??</year>
8      <publisher>&lt;unknown&gt;</publisher>
9      <part name="cart" interface="mikrosha_cart">
10         <dataarea name="rom" size="16384">
11            <rom name="micron.rom" size="16384" crc="42ac7739" sha1="ca7ac6e0f38d54274db14d1dd4141722908b2d8b" offset="0" />
12         </dataarea>
13      </part>
14   </software>
15
16</softwarelist>
trunk/src/mess/drivers/mikrosha.c
r241789r241790
2121{
2222public:
2323   mikrosha_state(const machine_config &mconfig, device_type type, const char *tag)
24      : radio86_state(mconfig, type, tag) { }
24      : radio86_state(mconfig, type, tag),
25      m_cart(*this, "cartslot")
26      { }
2527   DECLARE_WRITE_LINE_MEMBER(mikrosha_pit_out2);
2628   I8275_DRAW_CHARACTER_MEMBER(display_pixels);
29   DECLARE_MACHINE_RESET(mikrosha);
30
31protected:
32   required_device<generic_slot_device> m_cart;
2733};
2834
35MACHINE_RESET_MEMBER(mikrosha_state,mikrosha)
36{
37   if (m_cart->exists())
38      m_maincpu->space(AS_PROGRAM).install_read_handler(0x8000, 0x8000+m_cart->get_rom_size()-1, read8_delegate(FUNC(generic_slot_device::read_rom),(generic_slot_device*)m_cart));
39   radio86_state::machine_reset();
40}
2941
3042/* Address maps */
3143static ADDRESS_MAP_START(mikrosha_mem, AS_PROGRAM, 8, mikrosha_state )
3244   AM_RANGE( 0x0000, 0x0fff ) AM_RAMBANK("bank1") // First bank
3345   AM_RANGE( 0x1000, 0x7fff ) AM_RAM // RAM
34   AM_RANGE( 0x8000, 0xbfff ) AM_READ(radio_cpu_state_r) // Not connected
3546   AM_RANGE( 0xc000, 0xc003 ) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write) AM_MIRROR(0x07fc)
3647   AM_RANGE( 0xc800, 0xc803 ) AM_DEVREADWRITE("ppi8255_2", i8255_device, read, write) AM_MIRROR(0x07fc)
3748   AM_RANGE( 0xd000, 0xd001 ) AM_DEVREADWRITE("i8275", i8275_device, read, write) AM_MIRROR(0x07fe) // video
r241789r241790
189200   MCFG_CPU_PROGRAM_MAP(mikrosha_mem)
190201   MCFG_CPU_IO_MAP(mikrosha_io)
191202
192   MCFG_MACHINE_RESET_OVERRIDE(mikrosha_state, radio86 )
203   MCFG_MACHINE_RESET_OVERRIDE(mikrosha_state, mikrosha)
193204
194205   MCFG_DEVICE_ADD("ppi8255_1", I8255, 0)
195206   MCFG_I8255_IN_PORTA_CB(READ8(radio86_state, radio86_8255_portb_r2))
r241789r241790
238249   MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_ENABLED)
239250   MCFG_CASSETTE_INTERFACE("mikrosha_cass")
240251
252   MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "mikrosha_cart")
253   MCFG_GENERIC_EXTENSIONS("bin,rom")
254
241255   MCFG_SOFTWARE_LIST_ADD("cass_list","mikrosha")
256   MCFG_SOFTWARE_LIST_ADD("cart_list","mikrosha_cart")
242257MACHINE_CONFIG_END
243258
244259


Previous 199869 Revisions Next


© 1997-2024 The MAME Team