Previous 199869 Revisions Next

r20243 Sunday 13th January, 2013 at 12:51:53 UTC by Wilbert Pol
(MESS)sms.c: The Gam*Boy II seems to a bit more strict address descoding; at least the mirrors for I/O ports 3E and 3F do not seem to exist there. Fixes bublboky from the software list. (nw)
[hash]sms.xml
[src/mess/drivers]sms.c

trunk/hash/sms.xml
r20242r20243
952952      </part>
953953   </software>
954954
955   <software name="bublboky" supported="no">
955   <software name="bublboky">
956956      <description>Bubble Bobble (Kor, YM Soft)</description>
957957      <year>1990</year>
958958      <publisher>YM Soft</publisher>
959959      <info name="alt_title" value="파워 보글 보글 (Power Boggle Boggle, Box)" />
960960      <part name="cart" interface="sms_cart">
961         <feature name="pcb" value="korean_nobank" />
961962         <dataarea name="rom" size="32768">
962963            <rom name="power boggle boggle (kr).bin" size="32768" crc="6d309ac5" sha1="d7e67d15ccc12e9bf40611dc91a080a99716ca6e" offset="000000" />
963964         </dataarea>
trunk/src/mess/drivers/sms.c
r20242r20243
133133   AM_RANGE(0xf9, 0xf9) AM_MIRROR(0x06) AM_READ(sms_input_port_1_r)
134134ADDRESS_MAP_END
135135
136// It seems the Korean version does some more strict decoding on the I/O
137// addresses.
138// At least the mirrors for I/O ports $3E/$3F don't seem to exist there.
139// Leaving the mirrors breaks the Korean cartridge bublboky.
140static ADDRESS_MAP_START( sms_kor_io, AS_IO, 8, sms_state )
141   ADDRESS_MAP_GLOBAL_MASK(0xff)
142   ADDRESS_MAP_UNMAP_HIGH
143   AM_RANGE(0x3e, 0x3e)                 AM_WRITE(sms_bios_w)
144   AM_RANGE(0x3f, 0x3f)                 AM_WRITE(sms_io_control_w)
145   AM_RANGE(0x40, 0x7f)                 AM_READ(sms_count_r)
146   AM_RANGE(0x40, 0x7f)                 AM_DEVWRITE("segapsg", segapsg_device, write)
147   AM_RANGE(0x80, 0x80) AM_MIRROR(0x3e) AM_DEVREADWRITE("sms_vdp", sega315_5124_device, vram_read, vram_write)
148   AM_RANGE(0x81, 0x81) AM_MIRROR(0x3e) AM_DEVREADWRITE("sms_vdp", sega315_5124_device, register_read, register_write)
149   AM_RANGE(0xc0, 0xc0) AM_MIRROR(0x1e) AM_READ(sms_input_port_0_r)
150   AM_RANGE(0xc1, 0xc1) AM_MIRROR(0x1e) AM_READ(sms_input_port_1_r)
151   AM_RANGE(0xe0, 0xe0) AM_MIRROR(0x0e) AM_READ(sms_input_port_0_r)
152   AM_RANGE(0xe1, 0xe1) AM_MIRROR(0x0e) AM_READ(sms_input_port_1_r)
153   AM_RANGE(0xf0, 0xf0)                 AM_READWRITE(sms_input_port_0_r, sms_ym2413_register_port_0_w)
154   AM_RANGE(0xf1, 0xf1)                 AM_READWRITE(sms_input_port_1_r, sms_ym2413_data_port_0_w)
155   AM_RANGE(0xf2, 0xf2)                 AM_READWRITE(sms_fm_detect_r, sms_fm_detect_w)
156   AM_RANGE(0xf3, 0xf3)                 AM_READ(sms_input_port_1_r)
157   AM_RANGE(0xf4, 0xf4) AM_MIRROR(0x02) AM_READ(sms_input_port_0_r)
158   AM_RANGE(0xf5, 0xf5) AM_MIRROR(0x02) AM_READ(sms_input_port_1_r)
159   AM_RANGE(0xf8, 0xf8) AM_MIRROR(0x06) AM_READ(sms_input_port_0_r)
160   AM_RANGE(0xf9, 0xf9) AM_MIRROR(0x06) AM_READ(sms_input_port_1_r)
161ADDRESS_MAP_END
162
136163static ADDRESS_MAP_START( gg_io, AS_IO, 8, sms_state )
137164   ADDRESS_MAP_GLOBAL_MASK(0xff)
138165   ADDRESS_MAP_UNMAP_HIGH
r20242r20243
569596MACHINE_CONFIG_END
570597
571598static MACHINE_CONFIG_DERIVED( sms2_fm, sms2_ntsc )
599   MCFG_CPU_MODIFY("maincpu")
600   MCFG_CPU_IO_MAP(sms_kor_io)
572601
573602   MCFG_SOUND_ADD("ym2413", YM2413, XTAL_53_693175MHz/15)
574603   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team