branches/kale/src/mess/drivers/merlin.c
| r244615 | r244616 | |
| 21 | 21 | let's assume for now that the ROM contents is identical) |
| 22 | 22 | - Master Merlin |
| 23 | 23 | |
| 24 | | Another sequel, called Split Second, looks like different hardware. |
| 25 | 24 | |
| 26 | | |
| 27 | | TODO: |
| 28 | | - accurate speaker levels (tone pitch sounds good though) |
| 29 | | - is the rom dump good? |
| 30 | | |
| 31 | 25 | ***************************************************************************/ |
| 32 | 26 | |
| 33 | 27 | #include "emu.h" |
| r244615 | r244616 | |
| 161 | 155 | save_item(NAME(m_o)); |
| 162 | 156 | } |
| 163 | 157 | |
| 158 | static const INT16 speaker_levels[] = { 0, 10922, 21845, 32767 }; |
| 164 | 159 | |
| 165 | | static const UINT16 merlin_output_pla[0x20] = |
| 166 | | { |
| 167 | | /* O output PLA configuration currently unknown */ |
| 168 | | 0x01, 0x10, 0x30, 0x70, 0x02, 0x12, 0x32, 0x72, |
| 169 | | 0x04, 0x14, 0x34, 0x74, 0x08, 0x18, 0x38, 0x78, |
| 170 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 171 | | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 |
| 172 | | }; |
| 173 | 160 | |
| 174 | | static const INT16 speaker_levels[] = { 0, 32767, 0, 32767 }; // unknown too, due to output_pla being unknown |
| 175 | | |
| 176 | | |
| 177 | 161 | static MACHINE_CONFIG_START( merlin, merlin_state ) |
| 178 | 162 | |
| 179 | 163 | /* basic machine hardware */ |
| 180 | 164 | MCFG_CPU_ADD("maincpu", TMS1100, MASTER_CLOCK) |
| 181 | | MCFG_TMS1XXX_OUTPUT_PLA(merlin_output_pla) |
| 182 | 165 | MCFG_TMS1XXX_READ_K_CB(READ8(merlin_state, read_k)) |
| 183 | 166 | MCFG_TMS1XXX_WRITE_O_CB(WRITE16(merlin_state, write_o)) |
| 184 | 167 | MCFG_TMS1XXX_WRITE_R_CB(WRITE16(merlin_state, write_r)) |
| r244615 | r244616 | |
| 204 | 187 | |
| 205 | 188 | ROM_START( merlin ) |
| 206 | 189 | ROM_REGION( 0x800, "maincpu", 0 ) |
| 207 | | // This rom needs verification, that's why it is marked as a bad dump |
| 208 | | // We had to change one byte in the original dump at offset 0x096 from |
| 209 | | // 0x5E to 0x1E to make 'Music Machine' working. |
| 210 | | // The hashes below are from the manually changed dump |
| 211 | | ROM_LOAD( "mp3404", 0x0000, 0x800, BAD_DUMP CRC(7515a75d) SHA1(76ca3605d3fde1df62f79b9bb1f534c2a2ae0229) ) |
| 190 | ROM_LOAD( "mp3404", 0x0000, 0x800, CRC(7515a75d) SHA1(76ca3605d3fde1df62f79b9bb1f534c2a2ae0229) ) |
| 212 | 191 | |
| 213 | 192 | ROM_REGION( 867, "maincpu:mpla", 0 ) |
| 214 | | ROM_LOAD( "tms1100_default_mpla.pla", 0, 867, BAD_DUMP CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) ) // not verified |
| 193 | ROM_LOAD( "tms1100_merlin_mpla.pla", 0, 867, CRC(03574895) SHA1(04407cabfb3adee2ee5e4218612cb06c12c540f4) ) |
| 215 | 194 | ROM_REGION( 365, "maincpu:opla", 0 ) |
| 216 | | ROM_LOAD( "tms1100_merlin_opla.pla", 0, 365, NO_DUMP ) |
| 195 | ROM_LOAD( "tms1100_merlin_opla.pla", 0, 365, CRC(3921b074) SHA1(12bd58e4d6676eb8c7059ef53598279e4f1a32ea) ) |
| 217 | 196 | ROM_END |
| 218 | 197 | |
| 219 | 198 | |