summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ariedlmayer@gmail.com>2025-10-28 20:49:07 -0400
committer AJR <ariedlmayer@gmail.com>2025-10-28 20:49:07 -0400
commitd4da8ffff0179f1a739078128f6906d1c075b355 (patch)
treef730ce271c3ca9661d7ea2ff7281be762fbcd37e
parent36b4c6585ecf5980a4c00c269cec83a561fadc2f (diff)
skeleton/tamagotchi_pix.cpp: SoC identified
-rw-r--r--src/mame/skeleton/tamagotchi_pix.cpp19
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);