From e06d39668c35e47b5259d6cb1ebf8014f4229660 Mon Sep 17 00:00:00 2001 From: AJR Date: Fri, 1 Nov 2019 16:29:30 -0400 Subject: [PATCH] New machines marked as NOT_WORKING ---------------------------------- DynamiDesk [Team Europe] --- src/mame/drivers/inteladv.cpp | 27 ++++++++++++++++++++++++--- src/mame/mame.lst | 1 + 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/mame/drivers/inteladv.cpp b/src/mame/drivers/inteladv.cpp index 99f3dc6bb8c..b83012b508f 100644 --- a/src/mame/drivers/inteladv.cpp +++ b/src/mame/drivers/inteladv.cpp @@ -34,6 +34,7 @@ public: { } void inteladv(machine_config &config); + void dyndesk(machine_config &config); protected: virtual void machine_start() override; @@ -41,10 +42,10 @@ protected: virtual void video_start() override; private: - uint32_t screen_update_inteladv(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + u32 screen_update_inteladv(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); void inteladv_main(address_map &map); - void inteladv(address_map &map); + void dyndesk_main(address_map &map); required_device m_maincpu; required_device m_palette; @@ -54,7 +55,7 @@ void inteladv_state::video_start() { } -uint32_t inteladv_state::screen_update_inteladv(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +u32 inteladv_state::screen_update_inteladv(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { bitmap.fill(0, cliprect); screen.priority().fill(0, cliprect); @@ -70,6 +71,14 @@ void inteladv_state::inteladv_main(address_map &map) map(0xf000, 0xffff).rom().region("maincpu", 0x3000); // boot and other vectors at 3FFx } +void inteladv_state::dyndesk_main(address_map &map) +{ + map(0x0000, 0x0fff).ram(); + map(0x4000, 0x5fff).rom().region("maincpu", 0x4000); // FIXME: this is banked + map(0xc000, 0xdfff).rom().region("maincpu", 0x4000); + map(0xffe0, 0xffff).rom().region("maincpu", 0x7fe0); // vectors are good for boot, but may also be banked +} + static INPUT_PORTS_START( inteladv ) INPUT_PORTS_END @@ -103,11 +112,22 @@ void inteladv_state::inteladv(machine_config &config) SPEAKER(config, "rspeaker").front_right(); } +void inteladv_state::dyndesk(machine_config &config) +{ + inteladv(config); + m_maincpu->set_addrmap(AS_PROGRAM, &inteladv_state::dyndesk_main); +} + ROM_START( inteladv ) ROM_REGION( 0x800000, "maincpu", 0 ) /* main program */ ROM_LOAD( "vtechinteladv.bin", 0x000000, 0x800000, CRC(e24dbbcb) SHA1(7cb7f25f5eb123ae4c46cd4529aafd95508b2210) ) ROM_END +ROM_START( dyndesk ) + ROM_REGION( 0x200000, "maincpu", 0 ) + ROM_LOAD( "27-07710-000.u2", 0x000000, 0x200000, CRC(092b0303) SHA1(e3a58cac9b0a1c68f1bdb5ea0af0b0dd223fb340) ) +ROM_END + ROM_START( cars2lap ) ROM_REGION( 0x200000, "maincpu", 0 ) // Flash dump contains some 65C02 code starting at $000D6A, but mostly appears to be custom bytecode or non-executable data banked in 32K blocks @@ -116,4 +136,5 @@ ROM_END // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS COMP( 1995, inteladv, 0, 0, inteladv, inteladv, inteladv_state, empty_init, "VTech", "Intelligence Advance E/R Lerncomputer", MACHINE_NOT_WORKING ) +COMP( 2003, dyndesk, 0, 0, dyndesk, inteladv, inteladv_state, empty_init, "VTech", "DynamiDesk", MACHINE_NOT_WORKING ) COMP( 2012, cars2lap, 0, 0, inteladv, inteladv, inteladv_state, empty_init, "VTech", "CARS 2 Laptop (Germany)", MACHINE_IS_SKELETON ) // might not belong here diff --git a/src/mame/mame.lst b/src/mame/mame.lst index b3b6bf18c28..ea4c7c23cee 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -16194,6 +16194,7 @@ instruct // @source:inteladv.cpp cars2lap // CARS 2 Laptop (Germany) +dyndesk inteladv @source:intellec4.cpp