mirror of
https://github.com/holub/mame
synced 2025-04-16 05:24:54 +03:00
- chexx.cpp: changed olihockey and clone to MACHINE_IMPERFECT_SOUND since they do produce some (bad) sounds
- cointek.cpp: minor update to the preliminary decryption - konamigx.cpp: corrected mtwinbee title
This commit is contained in:
parent
d47a1a6892
commit
b6af12a9d4
@ -87,7 +87,7 @@ appears to run on very similar hardware, with a AY8912 but no Digitalker.
|
||||
#include "chexx.lh"
|
||||
|
||||
|
||||
#define MAIN_CLOCK XTAL(4'000'000)
|
||||
namespace {
|
||||
|
||||
class chexx_state : public driver_device
|
||||
{
|
||||
@ -426,8 +426,7 @@ void chexx_state::update()
|
||||
m_digitalker->digitalker_0_cms_w(CLEAR_LINE);
|
||||
m_digitalker->digitalker_0_cs_w(CLEAR_LINE);
|
||||
|
||||
address_space &space = m_maincpu->space(AS_PROGRAM);
|
||||
m_digitalker->digitalker_data_w(space, 0, sample, 0);
|
||||
m_digitalker->digitalker_data_w(sample);
|
||||
|
||||
m_digitalker->digitalker_0_wr_w(ASSERT_LINE);
|
||||
m_digitalker->digitalker_0_wr_w(CLEAR_LINE);
|
||||
@ -438,11 +437,11 @@ void chexx_state::update()
|
||||
|
||||
void chexx_state::chexx(machine_config &config)
|
||||
{
|
||||
M6502(config, m_maincpu, MAIN_CLOCK/2);
|
||||
M6502(config, m_maincpu, XTAL(4'000'000) / 2);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &chexx_state::mem);
|
||||
|
||||
// via
|
||||
MOS6522(config, m_via, MAIN_CLOCK/4);
|
||||
MOS6522(config, m_via, XTAL(4'000'000) / 4);
|
||||
|
||||
m_via->readpa_handler().set(FUNC(chexx_state::via_a_in));
|
||||
m_via->readpb_handler().set(FUNC(chexx_state::via_b_in));
|
||||
@ -460,7 +459,7 @@ void chexx_state::chexx(machine_config &config)
|
||||
|
||||
// sound hardware
|
||||
SPEAKER(config, "mono").front_center();
|
||||
DIGITALKER(config, m_digitalker, MAIN_CLOCK);
|
||||
DIGITALKER(config, m_digitalker, XTAL(4'000'000));
|
||||
m_digitalker->add_route(ALL_OUTPUTS, "mono", 0.16);
|
||||
}
|
||||
|
||||
@ -469,7 +468,7 @@ void faceoffh_state::faceoffh(machine_config &config)
|
||||
chexx(config);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &faceoffh_state::mem);
|
||||
|
||||
AY8910(config, m_aysnd, MAIN_CLOCK/2);
|
||||
AY8910(config, m_aysnd, XTAL(4'000'000) / 2);
|
||||
m_aysnd->add_route(ALL_OUTPUTS, "mono", 0.30);
|
||||
}
|
||||
|
||||
@ -584,7 +583,10 @@ ROM_START( faceoffh )
|
||||
ROM_FILL( 0xe000, 0x2000, 0xff ) // unpopulated
|
||||
ROM_END
|
||||
|
||||
} // Anonymous namespace
|
||||
|
||||
|
||||
GAME( 1983, chexx83, 0, chexx, chexx83, chexx_state, empty_init, ROT270, "ICE", "Chexx (EM Bubble Hockey, 1983 1.1)", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_NO_SOUND )
|
||||
GAME( 1983, faceoffh, chexx83, faceoffh, chexx83, faceoffh_state, empty_init, ROT270, "SoftLogic (Entertainment Enterprises, Ltd. license)", "Face-Off (EM Bubble Hockey)", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_IMPERFECT_SOUND )
|
||||
GAME( 1985, olihockey, 0, chexx, chexx83, chexx_state, empty_init, ROT270, "Inor", "Olimpic Hockey (EM Bubble Hockey, set 1)", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_NO_SOUND )
|
||||
GAME( 1985, olihockeya, olihockey, chexx, chexx83, chexx_state, empty_init, ROT270, "Inor", "Olimpic Hockey (EM Bubble Hockey, set 2)", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_NO_SOUND )
|
||||
GAME( 1985, olihockey, 0, chexx, chexx83, chexx_state, empty_init, ROT270, "Inor", "Olimpic Hockey (EM Bubble Hockey, set 1)", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_IMPERFECT_SOUND )
|
||||
GAME( 1985, olihockeya, olihockey, chexx, chexx83, chexx_state, empty_init, ROT270, "Inor", "Olimpic Hockey (EM Bubble Hockey, set 2)", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_IMPERFECT_SOUND )
|
||||
|
@ -20,7 +20,11 @@ The daughter card has a big box on it labelled as follows:
|
||||
Mask Microcomputer
|
||||
CODE NUM
|
||||
|
||||
The daughter board is connected to the main board via 40 pin socket
|
||||
The daughter board is connected to the main board via 40 pin socket.
|
||||
|
||||
TODO:
|
||||
- decryption is only preliminary. The game puts some strings at 0xc000 and at 0xf800 then stops in a loop reading 0xf810;
|
||||
- after decryption is completed, everything else.
|
||||
*/
|
||||
|
||||
#include "emu.h"
|
||||
@ -64,6 +68,7 @@ void cointek_state::prg_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0xbfff).rom(); // banking?
|
||||
map(0xc000, 0xc7ff).ram();
|
||||
map(0xf800, 0xffff).ram();
|
||||
}
|
||||
|
||||
void cointek_state::io_map(address_map &map)
|
||||
@ -130,6 +135,7 @@ void cointek_state::cointek(machine_config &config)
|
||||
z80_device &audiocpu(Z80(config, "audiocpu", 12_MHz_XTAL / 3)); // divisor guessed
|
||||
audiocpu.set_addrmap(AS_PROGRAM, &cointek_state::audio_prg_map);
|
||||
audiocpu.set_addrmap(AS_IO, &cointek_state::audio_io_map);
|
||||
audiocpu.set_disable(); // TODO: disabled for now to avoid clogging the error log
|
||||
|
||||
I8255(config, "ppi1");
|
||||
I8255(config, "ppi2");
|
||||
@ -205,8 +211,9 @@ void cointek_state::init_unkct()
|
||||
{
|
||||
uint8_t *rom = memregion("maincpu")->base();
|
||||
|
||||
for (int i = 0; i < 0x8000; i++) // TODO: Is this all there is to it? Is the second ROM scrambled, too?
|
||||
rom[i] = bitswap<8>(rom[i], 7, 6, 3, 4, 5, 2, 1, 0);
|
||||
for (int i = 0; i < 0x10000; i++) // TODO: This is only enough to show some strings, but the encryption is conditional, possibly based on addresses. The second ROM is also conditionally scrambled.
|
||||
if (!(i & 0x1000))
|
||||
rom[i] = bitswap<8>(rom[i], 7, 6, 3, 4, 5, 2, 1, 0);
|
||||
}
|
||||
|
||||
} // Anonymous namespace
|
||||
|
@ -4039,7 +4039,7 @@ GAME( 1994, gokuparo, fantjour, gokuparo, gokuparo, konamigx_state, init_ko
|
||||
GAME( 1994, crzcross, konamigx, gokuparo, puzldama, konamigx_state, init_posthack, ROT0, "Konami", "Crazy Cross (ver EAA)", MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1994, puzldama, crzcross, gokuparo, puzldama, konamigx_state, init_posthack, ROT0, "Konami", "Taisen Puzzle-dama (ver JAA)", MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
GAME( 1995, mtwinbee, konamigx, tbyahhoo, gokuparo, konamigx_state, init_posthack, ROT0, "Konami", "Magical Twin Bee! (ver EAA)", MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, mtwinbee, konamigx, tbyahhoo, gokuparo, konamigx_state, init_posthack, ROT0, "Konami", "Magical Twin Bee (ver EAA)", MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, tbyahhoo, mtwinbee, tbyahhoo, gokuparo, konamigx_state, init_posthack, ROT0, "Konami", "Twin Bee Yahhoo! (ver JAA)", MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
||||
GAME( 1995, tkmmpzdm, konamigx, konamigx_6bpp, tokkae, konamigx_state, init_konamigx, ROT0, "Konami", "Tokimeki Memorial Taisen Puzzle-dama (ver JAB)", MACHINE_IMPERFECT_GRAPHICS )
|
||||
|
Loading…
Reference in New Issue
Block a user