diff --git a/hash/arb.xml b/hash/arb.xml index 8baf18687b3..7441470af7b 100644 --- a/hash/arb.xml +++ b/hash/arb.xml @@ -22,6 +22,21 @@ license:CC0 + + Avelan + 198? + AVE Micro Systems + + + + + + + + + + + Grand Master Series 4.0 1984 diff --git a/src/mame/drivers/ave_arb.cpp b/src/mame/drivers/ave_arb.cpp index 5d2273d959d..7fb17a2a34d 100644 --- a/src/mame/drivers/ave_arb.cpp +++ b/src/mame/drivers/ave_arb.cpp @@ -23,7 +23,7 @@ Known chess modules (*denotes not dumped yet): - Grand Master Series 4.0 Other games: -- *Avelan (checkers) +- Avelan (checkers) Newer modules included button label stickers for OPTIONS, Verify, Take Back, Clear. @@ -33,7 +33,7 @@ running at 16MHz. TODO: - verify gms40 module memory layout -- need to add checkers pieces and custom initial position when Avelan gets dumped +- gms40 and avelan rom labels ******************************************************************************/ @@ -100,6 +100,10 @@ private: void main_map(address_map &map); void v2_map(address_map &map); + // sensorboard + void init_board(int state); + bool m_altboard = false; + // cartridge DECLARE_DEVICE_IMAGE_LOAD_MEMBER(cart_load); u8 cartridge_r(offs_t offset); @@ -144,6 +148,22 @@ void arb_state::update_reset() I/O ******************************************************************************/ +// sensorboard + +void arb_state::init_board(int state) +{ + // different board setup for checkers + if (m_altboard) + for (int i = 0; i < 12; i++) + { + m_board->write_piece((i % 4) * 2 + ((i / 4) & 1), i / 4, 13); // white + m_board->write_piece((i % 4) * 2 + (~(i / 4) & 1), i / 4 + 5, 14); // black + } + else + m_board->preset_chess(state); +} + + // cartridge DEVICE_IMAGE_LOAD_MEMBER(arb_state::cart_load) @@ -158,6 +178,8 @@ DEVICE_IMAGE_LOAD_MEMBER(arb_state::cart_load) if (image.get_feature("ram")) m_maincpu->space(AS_PROGRAM).install_ram(0x0800, 0x0fff, 0x1000, m_extram); + m_altboard = bool(image.get_feature("altboard")); + return image_init_result::PASS; } @@ -279,7 +301,8 @@ void arb_state::v2(machine_config &config) NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); SENSORBOARD(config, m_board).set_type(sensorboard_device::MAGNETS); - m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess)); + m_board->init_cb().set(FUNC(arb_state::init_board)); + m_board->set_spawnpoints(12+2); // +2 checkers pieces m_board->set_delay(attotime::from_msec(100)); /* video hardware */ diff --git a/src/mame/drivers/mephisto_modular.cpp b/src/mame/drivers/mephisto_modular.cpp index f789c92b489..5fbdb7d45fd 100644 --- a/src/mame/drivers/mephisto_modular.cpp +++ b/src/mame/drivers/mephisto_modular.cpp @@ -421,7 +421,7 @@ void mmodular_state::alm16(machine_config &config) NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); MEPHISTO_SENSORS_BOARD(config, m_board); - subdevice("board:board")->set_spawnpoints(12+2); // 2 jokers + subdevice("board:board")->set_spawnpoints(12+2); // +2 jokers subdevice("board:board")->spawn_cb().set(FUNC(mmodular_state::spawn_cb)); subdevice("board:board")->set_nvram_enable(true); diff --git a/src/mame/drivers/n8080.cpp b/src/mame/drivers/n8080.cpp index c2a85a28150..b1c4af96929 100644 --- a/src/mame/drivers/n8080.cpp +++ b/src/mame/drivers/n8080.cpp @@ -13,8 +13,12 @@ Space Fever was initially produced with B&W video hardware. It was later sold (maybe upgraded too) featuring color graphics, known as "Color Space Fever". The other Space Fever hardware games were only sold with color graphics, but -in theory it should still be possible to run them on the older hardware. -For example, doing a ROM swap on the older Space Fever. +they run fine on the older B&W video hardware. For example, doing a ROM swap +on the older Space Fever. + +TODO: +- spacefev sound pitch for laser fire and enemy explosion is wrong, see: + https://www.youtube.com/watch?v=mGMUPNqlyuw ---------------------------------------------------------------------------- diff --git a/src/mame/layout/ave_arb.lay b/src/mame/layout/ave_arb.lay index b47777f432b..9e5932947ac 100644 --- a/src/mame/layout/ave_arb.lay +++ b/src/mame/layout/ave_arb.lay @@ -112,12 +112,12 @@ license:CC0 - - - - - - + + + + + + @@ -152,6 +152,8 @@ license:CC0 + + @@ -166,20 +168,47 @@ license:CC0 - - - - - - - + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -349,10 +378,10 @@ license:CC0 - + - + @@ -368,64 +397,70 @@ license:CC0 - - - + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - + + + - - - + + + - - - - - - - - - + + + + + + + + + - - - - + + + + - - - + + + @@ -438,10 +473,9 @@ license:CC0 - - - + + @@ -460,8 +494,7 @@ license:CC0 - - + @@ -470,12 +503,12 @@ license:CC0 - - - - - - + + + + + + diff --git a/src/mame/layout/fidel_dsc.lay b/src/mame/layout/fidel_dsc.lay index 12f80735c69..b971b307438 100644 --- a/src/mame/layout/fidel_dsc.lay +++ b/src/mame/layout/fidel_dsc.lay @@ -302,12 +302,29 @@ license:CC0 + + + + + + + + + + + + + + + + + - + @@ -315,40 +332,91 @@ license:CC0 + + + + + + + + + + + + + + + + + - + - + + + + + + + + + + - + + + + + + + + + - - + + - + + + + + + + + + + - + + + + + + + + + - - + + @@ -542,8 +610,7 @@ license:CC0 - - + @@ -572,8 +639,7 @@ license:CC0 - - + diff --git a/src/mame/layout/mephisto_alm32.lay b/src/mame/layout/mephisto_alm32.lay index fe82c2b9431..45e4e4c9b00 100644 --- a/src/mame/layout/mephisto_alm32.lay +++ b/src/mame/layout/mephisto_alm32.lay @@ -343,15 +343,6 @@ license:CC0 - - - - - - - - - @@ -361,6 +352,15 @@ license:CC0 + + + + + + + + +