diff options
Diffstat (limited to 'src/devices/bus/nes/pt554.cpp')
-rw-r--r-- | src/devices/bus/nes/pt554.cpp | 39 |
1 files changed, 17 insertions, 22 deletions
diff --git a/src/devices/bus/nes/pt554.cpp b/src/devices/bus/nes/pt554.cpp index db16ca42e37..fee133f6add 100644 --- a/src/devices/bus/nes/pt554.cpp +++ b/src/devices/bus/nes/pt554.cpp @@ -8,9 +8,6 @@ Here we emulate the following Bandai PT-554 PCB (a CNROM PCB + LPC / PARCOR speech synthesis chip) - TODO: - - emulate the mat controller - ***********************************************************************************************************/ @@ -20,22 +17,21 @@ #ifdef NES_PCB_DEBUG -#define VERBOSE 1 +#define VERBOSE (LOG_GENERAL) #else -#define VERBOSE 0 +#define VERBOSE (0) #endif - -#define LOG_MMC(x) do { if (VERBOSE) logerror x; } while (0) +#include "logmacro.h" //------------------------------------------------- // constructor //------------------------------------------------- -DEFINE_DEVICE_TYPE(NES_BANDAI_PT554, nes_bandai_pt554_device, "nes_bandai_pt554", "NES Cart Bandai BT-554 PCB") +DEFINE_DEVICE_TYPE(NES_BANDAI_PT554, nes_bandai_pt554_device, "nes_bandai_pt554", "NES Cart Bandai PT-554 PCB") -nes_bandai_pt554_device::nes_bandai_pt554_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) +nes_bandai_pt554_device::nes_bandai_pt554_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : nes_cnrom_device(mconfig, NES_BANDAI_PT554, tag, owner, clock) , m_samples(*this, "samples") { @@ -55,31 +51,30 @@ nes_bandai_pt554_device::nes_bandai_pt554_device(const machine_config &mconfig, with an Mitsubishi M50805 LPC / PARCOR speech synthesis chip with internal tables stored in ROM which have not yet been dumped. - iNES: mapper 3? + iNES: mapper 3 -------------------------------------------------*/ -void nes_bandai_pt554_device::write_m(offs_t offset, uint8_t data) +void nes_bandai_pt554_device::write_m(offs_t offset, u8 data) { - LOG_MMC(("Bandai PT-554 Sound write, data: %02x\n", data)); + LOG("Bandai PT-554 Sound write, data: %02x\n", data); + // the actual chip starts speech synthesis when SYNC is held low >18µs if (!BIT(data, 6)) m_samples->start(data & 0x07, data & 0x07); - else - m_samples->stop(data & 0x07); } static const char *const pt554_sample_names[] = { "*ftaerobi", - "00", - "01", - "02", - "03", - "04", - "05", - "06", - "07", + "00", // hello, let's go + "01", // rest + "02", // good + "03", // hai + "04", // four + "05", // three + "06", // two + "07", // one nullptr }; |