trunk/hash/sms.xml
| r20242 | r20243 | |
| 952 | 952 | </part> |
| 953 | 953 | </software> |
| 954 | 954 | |
| 955 | | <software name="bublboky" supported="no"> |
| 955 | <software name="bublboky"> |
| 956 | 956 | <description>Bubble Bobble (Kor, YM Soft)</description> |
| 957 | 957 | <year>1990</year> |
| 958 | 958 | <publisher>YM Soft</publisher> |
| 959 | 959 | <info name="alt_title" value="파워 보글 보글 (Power Boggle Boggle, Box)" /> |
| 960 | 960 | <part name="cart" interface="sms_cart"> |
| 961 | <feature name="pcb" value="korean_nobank" /> |
| 961 | 962 | <dataarea name="rom" size="32768"> |
| 962 | 963 | <rom name="power boggle boggle (kr).bin" size="32768" crc="6d309ac5" sha1="d7e67d15ccc12e9bf40611dc91a080a99716ca6e" offset="000000" /> |
| 963 | 964 | </dataarea> |
trunk/src/mess/drivers/sms.c
| r20242 | r20243 | |
| 133 | 133 | AM_RANGE(0xf9, 0xf9) AM_MIRROR(0x06) AM_READ(sms_input_port_1_r) |
| 134 | 134 | ADDRESS_MAP_END |
| 135 | 135 | |
| 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. |
| 140 | static 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) |
| 161 | ADDRESS_MAP_END |
| 162 | |
| 136 | 163 | static ADDRESS_MAP_START( gg_io, AS_IO, 8, sms_state ) |
| 137 | 164 | ADDRESS_MAP_GLOBAL_MASK(0xff) |
| 138 | 165 | ADDRESS_MAP_UNMAP_HIGH |
| r20242 | r20243 | |
| 569 | 596 | MACHINE_CONFIG_END |
| 570 | 597 | |
| 571 | 598 | static MACHINE_CONFIG_DERIVED( sms2_fm, sms2_ntsc ) |
| 599 | MCFG_CPU_MODIFY("maincpu") |
| 600 | MCFG_CPU_IO_MAP(sms_kor_io) |
| 572 | 601 | |
| 573 | 602 | MCFG_SOUND_ADD("ym2413", YM2413, XTAL_53_693175MHz/15) |
| 574 | 603 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) |