summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/spg2xx.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/spg2xx.h')
-rw-r--r--src/devices/machine/spg2xx.h56
1 files changed, 28 insertions, 28 deletions
diff --git a/src/devices/machine/spg2xx.h b/src/devices/machine/spg2xx.h
index c4967efdaf8..e851531693f 100644
--- a/src/devices/machine/spg2xx.h
+++ b/src/devices/machine/spg2xx.h
@@ -9,6 +9,30 @@
- I2C
- SPI
+ Known SunPlus SPG2xx/u'nSP-based systems:
+
+ D - SPG240 - Radica Skateboarder (Sunplus QL8041C die)
+ ND - SPG243 - Some form of Leapfrog "edutainment" system
+ ND - SPG243 - Star Wars: Clone Wars
+ ND - SPG243 - Toy Story
+ ND - SPG243 - Animal Art Studio
+ ND - SPG243 - Finding Nemo
+ D - SPG243 - The Batman
+ D - SPG243 - Wall-E
+ D - SPG243 - KenSingTon / Siatronics / Jungle Soft Vii
+ Partial D - SPG200 - VTech V.Smile
+ ND - unknown - Zone 40
+ D - SPG243 - Zone 60
+ D - SPG243 - Wireless 60
+ ND - unknown - Wireless Air 60
+ ND - Likely many more
+
+ Also on this hardware:
+
+ name PCB ID ROM width TSOP pads ROM size SEEPROM die markings
+ Radica Play TV Football 2 L7278 x16 48 not dumped no Sunplus
+ Dream Life ? x16 48 not dumped no Sunplus
+
**********************************************************************/
#ifndef MAME_MACHINE_SPG2XX_H
@@ -20,8 +44,6 @@
#include "sound/okiadpcm.h"
#include "screen.h"
-#define SPG2XX_VISUAL_AUDIO_DEBUG (0)
-
class spg2xx_device : public device_t, public device_sound_interface
{
public:
@@ -48,10 +70,6 @@ public:
void uart_rx(uint8_t data);
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
-#if SPG2XX_VISUAL_AUDIO_DEBUG
- void advance_debug_pos();
- uint32_t debug_screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
-#endif
DECLARE_WRITE_LINE_MEMBER(vblank);
protected:
@@ -438,6 +456,10 @@ protected:
uint16_t m_audio_curr_beat_base_count;
uint16_t m_io_regs[0x200];
+ uint8_t m_uart_rx_fifo[8];
+ uint8_t m_uart_rx_fifo_start;
+ uint8_t m_uart_rx_fifo_end;
+ uint8_t m_uart_rx_fifo_count;
bool m_uart_rx_available;
uint16_t m_video_regs[0x100];
@@ -472,12 +494,6 @@ protected:
required_shared_ptr<uint16_t> m_paletteram;
required_shared_ptr<uint16_t> m_spriteram;
-#if SPG2XX_VISUAL_AUDIO_DEBUG
- std::unique_ptr<uint8_t[]> m_audio_debug_buffer;
- uint16_t m_audio_debug_x;
- required_device<screen_device> m_audio_screen;
-#endif
-
static const uint32_t s_rampdown_frame_counts[8];
static const uint32_t s_envclk_frame_counts[16];
};
@@ -485,20 +501,12 @@ protected:
class spg24x_device : public spg2xx_device
{
public:
-#if SPG2XX_VISUAL_AUDIO_DEBUG
- template <typename T, typename U, typename V>
- spg24x_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&cpu_tag, U &&screen_tag, V &&debug_screen_tag)
-#else
template <typename T, typename U>
spg24x_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&cpu_tag, U &&screen_tag)
-#endif
: spg24x_device(mconfig, tag, owner, clock)
{
m_cpu.set_tag(std::forward<T>(cpu_tag));
m_screen.set_tag(std::forward<U>(screen_tag));
-#if SPG2XX_VISUAL_AUDIO_DEBUG
- m_audio_screen.set_tag(std::forward<V>(debug_screen_tag));
-#endif
}
spg24x_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
@@ -507,20 +515,12 @@ public:
class spg28x_device : public spg2xx_device
{
public:
-#if SPG2XX_VISUAL_AUDIO_DEBUG
- template <typename T, typename U, typename V>
- spg28x_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&cpu_tag, U &&screen_tag, V &&debug_screen_tag)
-#else
template <typename T, typename U>
spg28x_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&cpu_tag, U &&screen_tag)
-#endif
: spg28x_device(mconfig, tag, owner, clock)
{
m_cpu.set_tag(std::forward<T>(cpu_tag));
m_screen.set_tag(std::forward<U>(screen_tag));
-#if SPG2XX_VISUAL_AUDIO_DEBUG
- m_audio_screen.set_tag(std::forward<V>(debug_screen_tag));
-#endif
}
spg28x_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);