summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine/nb1414m4.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/machine/nb1414m4.cpp')
-rw-r--r--src/mame/machine/nb1414m4.cpp21
1 files changed, 17 insertions, 4 deletions
diff --git a/src/mame/machine/nb1414m4.cpp b/src/mame/machine/nb1414m4.cpp
index 2fa74e2e71e..94ee100f87c 100644
--- a/src/mame/machine/nb1414m4.cpp
+++ b/src/mame/machine/nb1414m4.cpp
@@ -6,9 +6,14 @@ Nichibutsu 1414M4 device emulation
Written by Angelo Salese, based on researches by Tomasz Slanina with Legion
-This is some fancy MCU / blitter that copies text strings in various Nihon Bussan games;
+This is some fancy blitter DMA or MCU or even a discrete structure that copies text strings to a 8-bit text layer in
+various Nihon Bussan games;
TODO:
+- Identify what exactly this "device" is;
+- The overlying text layer should actually be a base device for this (and used where not applicable like galivan,
+ armedf and bigfightr);
+- Command triggering condition not understood (and diverges between galivan.cpp and armedf.cpp);
- where is the condition that makes "insert coin" text to properly blink?
- first byte meaning is completely unknown;
- Ninja Emaki triggers unknown commands 0x8000 & 0xff20;
@@ -21,9 +26,6 @@ Notes:
11-- ---- ---- ---- src -> dst copy, if destination != 0 fixed src, otherwise do a src -> dst
--xx xxxx xxxx xxxx destination offset in the VRAM tilemap
-- I'm sure that this is a shared device, that shares everything. All of the known differences are due of not
- understood features of the chip (some bytes in the ROM etc.)
-
********************************************************************************************************************/
#include "emu.h"
@@ -309,6 +311,17 @@ void nb1414m4_device::_0e00(uint16_t mcu_cmd, uint8_t *vram)
}
}
+/*****************************************************************************
+ DEVICE SETTERS
+*****************************************************************************/
+
+void nb1414m4_device::vblank_trigger()
+{
+ // TODO: use this for frame number synchronization instead of screen().frame_number()
+ // real HW references definitely syncs insert coin blinking after POST so whatever is the host actually
+ // have an interest over vblank signal.
+}
+
void nb1414m4_device::exec(uint16_t mcu_cmd, uint8_t *vram, uint16_t &scrollx, uint16_t &scrolly, tilemap_t *tilemap)
{
/* latch fg scroll values */