diff options
| author | 2025-10-28 20:49:07 -0400 | |
|---|---|---|
| committer | 2025-10-28 20:49:07 -0400 | |
| commit | d4da8ffff0179f1a739078128f6906d1c075b355 (patch) | |
| tree | f730ce271c3ca9661d7ea2ff7281be762fbcd37e | |
| parent | 36b4c6585ecf5980a4c00c269cec83a561fadc2f (diff) | |
skeleton/tamagotchi_pix.cpp: SoC identified
| -rw-r--r-- | src/mame/skeleton/tamagotchi_pix.cpp | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/mame/skeleton/tamagotchi_pix.cpp b/src/mame/skeleton/tamagotchi_pix.cpp index a1b724fc6c8..110a2d518d0 100644 --- a/src/mame/skeleton/tamagotchi_pix.cpp +++ b/src/mame/skeleton/tamagotchi_pix.cpp @@ -8,10 +8,10 @@ SONIX SN73231M1N-000 215EATB1e^^e3 (^^ are some kind of graphic) -unknown architecture +Dual-core ARM Cortex-M3 SoC (Sonix SNC7320 series) other sources mention that the Tamagotchi Pix uses a GeneralPlus GP32 (ARM) -series CPU, so are there mutliple hardware revisions or is that information +series CPU, so are there multiple hardware revisions or is that information incorrect? device has a camera @@ -20,6 +20,8 @@ device has a camera #include "emu.h" +#include "cpu/arm7/arm7.h" + #include "screen.h" #include "speaker.h" @@ -31,6 +33,7 @@ class tamagotchi_pix_state : public driver_device public: tamagotchi_pix_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag) + , m_maincpu(*this, "maincpu") , m_screen(*this, "screen") { } @@ -41,9 +44,12 @@ protected: virtual void machine_reset() override; private: + required_device<cpu_device> m_maincpu; required_device<screen_device> m_screen; uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); + + void mem_map(address_map &map); }; uint32_t tamagotchi_pix_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) @@ -51,9 +57,13 @@ uint32_t tamagotchi_pix_state::screen_update(screen_device &screen, bitmap_rgb32 return 0; } -void tamagotchi_pix_state::machine_start() +void tamagotchi_pix_state::mem_map(address_map &map) { + map(0x00000000, 0x007fffff).rom().region("maincpu", 0); +} +void tamagotchi_pix_state::machine_start() +{ } void tamagotchi_pix_state::machine_reset() @@ -65,7 +75,8 @@ INPUT_PORTS_END void tamagotchi_pix_state::tamapix(machine_config &config) { - // unknown CPU + ARM9(config, m_maincpu, 12'000'000); // not correct, needs a core with Thumb-2 support + m_maincpu->set_addrmap(AS_PROGRAM, &tamagotchi_pix_state::mem_map); SCREEN(config, m_screen, SCREEN_TYPE_LCD); m_screen->set_refresh_hz(60); |
