From ebbba570ca6b5b07f12154196947716121386408 Mon Sep 17 00:00:00 2001
From: FlykeSpice <flykespice@gmail.com>
Date: Thu, 11 Jul 2024 21:41:39 -0400
Subject: [PATCH 1/9] namcos21_3d.cpp: Some cleanup & modernization

Removed duplicate code and modernized it to current MAME standards
---
 src/mame/namco/namcos21_3d.cpp | 275 +++++++++++++++------------------
 src/mame/namco/namcos21_3d.h   |  15 +-
 2 files changed, 127 insertions(+), 163 deletions(-)

diff --git a/src/mame/namco/namcos21_3d.cpp b/src/mame/namco/namcos21_3d.cpp
index 7e0d17dcc9464..fe0115c7d6bad 100644
--- a/src/mame/namco/namcos21_3d.cpp
+++ b/src/mame/namco/namcos21_3d.cpp
@@ -4,6 +4,9 @@
 #include "emu.h"
 #include "namcos21_3d.h"
 
+#include <algorithm>
+#include <utility>
+
 DEFINE_DEVICE_TYPE(NAMCOS21_3D, namcos21_3d_device, "namcos21_3d", "Namco System 21 3D Rasterizer")
 
 namcos21_3d_device::namcos21_3d_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
@@ -13,8 +16,7 @@ namcos21_3d_device::namcos21_3d_device(const machine_config &mconfig, const char
 	m_zzmult(0x100),
 	m_depth_reverse(false),
 	m_poly_frame_width(0),
-	m_poly_frame_height(0),
-	m_framebuffer_size_in_bytes(0)
+	m_poly_frame_height(0)
 {
 }
 
@@ -29,23 +31,25 @@ void namcos21_3d_device::device_reset()
 
 void namcos21_3d_device::allocate_poly_framebuffer()
 {
-	if (m_framebuffer_size_in_bytes == 0)
-		fatalerror("m_framebuffer_size_in_bytes == 0\n");
+	unsigned framebuffer_size = m_poly_frame_width*m_poly_frame_height;
+
+	if (framebuffer_size == 0)
+		fatalerror("framebuffer_size == 0\n");
 
-	m_mpPolyFrameBufferZ = std::make_unique<uint16_t[]>(m_framebuffer_size_in_bytes / 2);
-	m_mpPolyFrameBufferPens = std::make_unique<uint16_t[]>(m_framebuffer_size_in_bytes / 2);
+	m_mpPolyFrameBufferZ = std::make_unique<uint16_t[]>(framebuffer_size);
+	m_mpPolyFrameBufferPens = std::make_unique<uint16_t[]>(framebuffer_size);
 
-	m_mpPolyFrameBufferZ2 = std::make_unique<uint16_t[]>(m_framebuffer_size_in_bytes / 2);
-	m_mpPolyFrameBufferPens2 = std::make_unique<uint16_t[]>(m_framebuffer_size_in_bytes / 2);
+	m_mpPolyFrameBufferZ2 = std::make_unique<uint16_t[]>(framebuffer_size);
+	m_mpPolyFrameBufferPens2 = std::make_unique<uint16_t[]>(framebuffer_size);
 
 	swap_and_clear_poly_framebuffer();
 	swap_and_clear_poly_framebuffer();
 
-	save_pointer(NAME(m_mpPolyFrameBufferZ), m_framebuffer_size_in_bytes / 2);
-	save_pointer(NAME(m_mpPolyFrameBufferPens), m_framebuffer_size_in_bytes / 2);
+	save_pointer(NAME(m_mpPolyFrameBufferZ), framebuffer_size);
+	save_pointer(NAME(m_mpPolyFrameBufferPens), framebuffer_size);
 
-	save_pointer(NAME(m_mpPolyFrameBufferZ2), m_framebuffer_size_in_bytes / 2);
-	save_pointer(NAME(m_mpPolyFrameBufferPens2), m_framebuffer_size_in_bytes / 2);
+	save_pointer(NAME(m_mpPolyFrameBufferZ2), framebuffer_size);
+	save_pointer(NAME(m_mpPolyFrameBufferPens2), framebuffer_size);
 }
 
 void namcos21_3d_device::swap_and_clear_poly_framebuffer()
@@ -56,10 +60,7 @@ void namcos21_3d_device::swap_and_clear_poly_framebuffer()
 	m_mpPolyFrameBufferPens.swap(m_mpPolyFrameBufferPens2);
 
 	/* wipe work zbuffer */
-	for (int i = 0; i < m_poly_frame_width*m_poly_frame_height; i++)
-	{
-		m_mpPolyFrameBufferZ[i] = 0x7fff;
-	}
+	std::fill_n(m_mpPolyFrameBufferZ.get(), m_poly_frame_width*m_poly_frame_height, 0x7fff);
 }
 
 void namcos21_3d_device::copy_visible_poly_framebuffer(bitmap_ind16 &bitmap, const rectangle &clip, int zlo, int zhi)
@@ -70,6 +71,7 @@ void namcos21_3d_device::copy_visible_poly_framebuffer(bitmap_ind16 &bitmap, con
 		uint16_t *const dest = &bitmap.pix(sy);
 		uint16_t const *const pPen = m_mpPolyFrameBufferPens2.get() + m_poly_frame_width * sy;
 		uint16_t const *const pZ = m_mpPolyFrameBufferZ2.get() + m_poly_frame_width * sy;
+
 		for (int sx = clip.left(); sx <= clip.right(); sx++)
 		{
 			int z = pZ[sx];
@@ -84,93 +86,79 @@ void namcos21_3d_device::copy_visible_poly_framebuffer(bitmap_ind16 &bitmap, con
 
 /*********************************************************************************************/
 
-#define SWAP(T,A,B) { const T *temp = A; A = B; B = temp; }
-
-void namcos21_3d_device::renderscanline_flat(const edge *e1, const edge *e2, int sy, unsigned color, int depthcueenable)
+void namcos21_3d_device::renderscanline_flat(const edge *e1, const edge *e2, unsigned sy, unsigned color, bool depthcueenable)
 {
 	if (e1->x > e2->x)
+		std::swap(e1, e2);
+
+	int x0 = (int)e1->x;
+	int x1 = (int)e2->x;
+	int w = x1 - x0;
+
+	if (!w)
+		return;
+
+	double z = e1->z;
+	double dz = (e2->z - e1->z) / w;
+
+	if (x0 < 0)
 	{
-		SWAP(edge, e1, e2);
+		z += -x0 * dz;
+		x0 = 0;
 	}
 
+	if (x1 > m_poly_frame_width - 1)
+		x1 = m_poly_frame_width - 1;
+
+	uint16_t *pDest = m_mpPolyFrameBufferPens.get() + sy * m_poly_frame_width;
+	uint16_t *pZBuf = m_mpPolyFrameBufferZ.get() + sy * m_poly_frame_width;
+
+	for (int x = x0; x < x1; x++)
 	{
-		uint16_t *pDest = m_mpPolyFrameBufferPens.get() + sy * m_poly_frame_width;
-		uint16_t *pZBuf = m_mpPolyFrameBufferZ.get() + sy * m_poly_frame_width;
-		int x0 = (int)e1->x;
-		int x1 = (int)e2->x;
-		int w = x1 - x0;
-		if (w)
+		uint16_t zz = (uint16_t)z;
+
+		if (zz < pZBuf[x])
 		{
-			double z = e1->z;
-			double dz = (e2->z - e1->z) / w;
-			int x, crop;
-			crop = -x0;
-			if (crop > 0)
-			{
-				z += crop * dz;
-				x0 = 0;
-			}
-			if (x1 > m_poly_frame_width - 1)
-			{
-				x1 = m_poly_frame_width - 1;
-			}
+			unsigned pen = color;
 
-			for (x = x0; x < x1; x++)
+			if (depthcueenable && zz > 0)
 			{
-				uint16_t zz = (uint16_t)z;
-				if (zz < pZBuf[x])
-				{
-					int pen = color;
-					if (depthcueenable && zz > 0)
-					{
-						int depth = 0;
-						if (m_depth_reverse)
-						{
-							depth = (zz >> m_zz_shift)*m_zzmult;
-							pen += depth;
-						}
-						else
-						{
-							depth = (zz >> m_zz_shift)*m_zzmult;
-							pen -= depth;
-						}
-					}
-					pDest[x] = pen;
-					pZBuf[x] = zz;
-				}
-				z += dz;
+				const unsigned depth = (zz >> m_zz_shift)*m_zzmult;
+
+				if (m_depth_reverse)
+					pen += depth;
+				else
+					pen -= depth;
 			}
+
+			pDest[x] = pen;
+			pZBuf[x] = zz;
 		}
+
+		z += dz;
 	}
 }
 
-void namcos21_3d_device::rendertri(const n21_vertex *v0, const n21_vertex *v1, const n21_vertex *v2, unsigned color, int depthcueenable)
+void namcos21_3d_device::rendertri(const n21_vertex *v0, const n21_vertex *v1, const n21_vertex *v2, unsigned color, bool depthcueenable)
 {
-	int dy, ystart, yend, crop;
-
 	/* first, sort so that v0->y <= v1->y <= v2->y */
-	for (;;)
 	{
 		if (v0->y > v1->y)
-		{
-			SWAP(n21_vertex, v0, v1);
-		}
-		else if (v1->y > v2->y)
-		{
-			SWAP(n21_vertex, v1, v2);
-		}
-		else
-		{
-			break;
-		}
+			std::swap(v0, v1);
+
+		if (v1->y > v2->y)
+			std::swap(v1, v2);
+
+		if (v0->y > v1->y)
+			std::swap(v0, v1);
 	}
 
-	ystart = v0->y;
-	yend = v2->y;
-	dy = yend - ystart;
+	int ystart = v0->y;
+	int yend = v2->y;
+	int dy = yend - ystart;
+
 	if (dy)
 	{
-		int y;
 		edge e1; /* short edge (top and bottom) */
 		edge e2; /* long (common) edge */
 
@@ -182,68 +170,40 @@ void namcos21_3d_device::rendertri(const n21_vertex *v0, const n21_vertex *v1, c
 
 		e2.x = v0->x;
 		e2.z = v0->z;
-		crop = -ystart;
-		if (crop > 0)
+
+		if (ystart < 0)
 		{
-			e2.x += dx2dy * crop;
-			e2.z += dz2dy * crop;
+			e2.x += dx2dy * -ystart;
+			e2.z += dz2dy * -ystart;
 		}
 
-		ystart = v0->y;
-		yend = v1->y;
-		dy = yend - ystart;
-		if (dy)
+		for (const auto& v_pair : {std::make_pair(v0, v1), std::make_pair(v1, v2)})
 		{
-			e1.x = v0->x;
-			e1.z = v0->z;
 
-			dx1dy = (v1->x - v0->x) / dy;
-			dz1dy = (v1->z - v0->z) / dy;
+			e1.x = v_pair.first->x;
+			e1.z = v_pair.first->z;
 
-			crop = -ystart;
-			if (crop > 0)
-			{
-				e1.x += dx1dy * crop;
-				e1.z += dz1dy * crop;
-				ystart = 0;
-			}
-			if (yend > m_poly_frame_height - 1) yend = m_poly_frame_height - 1;
+			ystart = v_pair.first->y;
+			yend = v_pair.second->y;
+			dy = yend - ystart;
 
-			for (y = ystart; y < yend; y++)
-			{
-				renderscanline_flat(&e1, &e2, y, color, depthcueenable);
+			if (!dy)
+				continue;
 
-				e2.x += dx2dy;
-				e2.z += dz2dy;
-
-				e1.x += dx1dy;
-				e1.z += dz1dy;
-			}
-		}
+			dx1dy = (v_pair.second->x - v_pair.first->x) / dy;
+			dz1dy = (v_pair.second->z - v_pair.first->z) / dy;
 
-		ystart = v1->y;
-		yend = v2->y;
-		dy = yend - ystart;
-		if (dy)
-		{
-			e1.x = v1->x;
-			e1.z = v1->z;
-
-			dx1dy = (v2->x - v1->x) / dy;
-			dz1dy = (v2->z - v1->z) / dy;
-
-			crop = -ystart;
-			if (crop > 0)
+			if (ystart < 0)
 			{
-				e1.x += dx1dy * crop;
-				e1.z += dz1dy * crop;
+				e1.x += dx1dy * -ystart;
+				e1.z += dz1dy * -ystart;
 				ystart = 0;
 			}
+
 			if (yend > m_poly_frame_height - 1)
-			{
 				yend = m_poly_frame_height - 1;
-			}
-			for (y = ystart; y < yend; y++)
+
+			for (int y = ystart; y < yend; y++)
 			{
 				renderscanline_flat(&e1, &e2, y, color, depthcueenable);
 
@@ -253,14 +213,15 @@ void namcos21_3d_device::rendertri(const n21_vertex *v0, const n21_vertex *v1, c
 				e1.x += dx1dy;
 				e1.z += dz1dy;
 			}
+
 		}
+
 	}
 }
 
-void namcos21_3d_device::draw_quad(int sx[4], int sy[4], int zcode[4], int color)
+void namcos21_3d_device::draw_quad(int sx[4], int sy[4], int zcode[4], unsigned color)
 {
-	n21_vertex a, b, c, d;
-	int depthcueenable = 1;
+	bool depthcueenable = true;
 	/*
 	    0x0000..0x1fff  sprite palettes (0x20 sets of 0x100 colors)
 	    0x2000..0x3fff  polygon palette bank0 (0x10 sets of 0x200 colors or 0x20 sets of 0x100 colors)
@@ -276,39 +237,45 @@ void namcos21_3d_device::draw_quad(int sx[4], int sy[4], int zcode[4], int color
 	}
 	else
 	{ /* map color code to hardware pen */
-		int code = color >> 8;
+		unsigned code = color >> 8;
 		if (code & 0x80)
 		{
-			color = color & 0xff;
+			color = 0x2100 | (color & 0xff);
 			// color = 0x3e00|color;
-			color = 0x2100 | color;
-			depthcueenable = 0;
+			depthcueenable = false;
 		}
 		else
 		{
-			color &= 0xff;
-			color = 0x3e00 | color;
+			color = 0x3e00 | (color & 0xff);
+
 			if ((code & 0x02) == 0)
-			{
 				color |= 0x100;
-			}
 		}
 	}
-	a.x = sx[0];
-	a.y = sy[0];
-	a.z = zcode[0];
-
-	b.x = sx[1];
-	b.y = sy[1];
-	b.z = zcode[1];
-
-	c.x = sx[2];
-	c.y = sy[2];
-	c.z = zcode[2];
 
-	d.x = sx[3];
-	d.y = sy[3];
-	d.z = zcode[3];
+	n21_vertex a = {
+		.x = (double)sx[0],
+		.y = (double)sy[0],
+		.z = (double)zcode[0]
+	};
+
+	n21_vertex b = {
+		.x = (double)sx[1],
+		.y = (double)sy[1],
+		.z = (double)zcode[1]
+	};
+
+	n21_vertex c = {
+		.x = (double)sx[2],
+		.y = (double)sy[2],
+		.z = (double)zcode[2]
+	};
+
+	n21_vertex d = {
+		.x = (double)sx[3],
+		.y = (double)sy[3],
+		.z = (double)zcode[3]
+	};
 
 	rendertri(&a, &b, &c, color, depthcueenable);
 	rendertri(&c, &d, &a, color, depthcueenable);
diff --git a/src/mame/namco/namcos21_3d.h b/src/mame/namco/namcos21_3d.h
index 0920c40a36698..b3400b9a10bec 100644
--- a/src/mame/namco/namcos21_3d.h
+++ b/src/mame/namco/namcos21_3d.h
@@ -12,14 +12,13 @@ class namcos21_3d_device : public device_t
 
 	// config
 	void set_fixed_palbase(int base) { m_fixed_palbase = base; }
-	void set_zz_shift_mult(int shift, int mult) { m_zz_shift = shift; m_zzmult = mult;  }
+	void set_zz_shift_mult(unsigned shift, unsigned mult) { m_zz_shift = shift; m_zzmult = mult;  }
 	void set_depth_reverse(bool reverse) { m_depth_reverse = reverse;  }
 
 	void set_framebuffer_size(int width, int height)
 	{
 		m_poly_frame_width = width;
 		m_poly_frame_height = height;
-		m_framebuffer_size_in_bytes = (sizeof(uint16_t)*m_poly_frame_width*m_poly_frame_height);
 	}
 
 	int get_width() { return m_poly_frame_width; }
@@ -28,7 +27,7 @@ class namcos21_3d_device : public device_t
 	void copy_visible_poly_framebuffer(bitmap_ind16 &bitmap, const rectangle &clip, int zlo, int zhi);
 	void swap_and_clear_poly_framebuffer();
 
-	void draw_quad(int sx[4], int sy[4], int zcode[4], int color);
+	void draw_quad(int sx[4], int sy[4], int zcode[4], unsigned color);
 
 protected:
 	// device-level overrides
@@ -48,8 +47,8 @@ class namcos21_3d_device : public device_t
 		double z;
 	};
 
-	void renderscanline_flat(const edge *e1, const edge *e2, int sy, unsigned color, int depthcueenable);
-	void rendertri(const n21_vertex *v0, const n21_vertex *v1, const n21_vertex *v2, unsigned color, int depthcueenable);
+	void renderscanline_flat(const edge *e1, const edge *e2, unsigned sy, unsigned color, bool depthcueenable);
+	void rendertri(const n21_vertex *v0, const n21_vertex *v1, const n21_vertex *v2, unsigned color, bool depthcueenable);
 	void allocate_poly_framebuffer();
 
 	std::unique_ptr<uint16_t[]> m_mpPolyFrameBufferPens;
@@ -58,12 +57,10 @@ class namcos21_3d_device : public device_t
 	std::unique_ptr<uint16_t[]> m_mpPolyFrameBufferZ2;
 
 	int m_fixed_palbase;
-	int m_zz_shift, m_zzmult;
+	unsigned m_zz_shift, m_zzmult;
 	bool m_depth_reverse;
 
-	int m_poly_frame_width;
-	int m_poly_frame_height;
-	int m_framebuffer_size_in_bytes;
+	int m_poly_frame_width, m_poly_frame_height;
 };
 
 DECLARE_DEVICE_TYPE(NAMCOS21_3D, namcos21_3d_device)

From 64d75fa23f1c217504aa80e1755419074020fde6 Mon Sep 17 00:00:00 2001
From: FlykeSpice <flykespice@gmail.com>
Date: Fri, 12 Jul 2024 11:53:42 -0400
Subject: [PATCH 2/9] namcos21_dsp.cpp: tidy

---
 src/mame/namco/namcos21_dsp.cpp | 106 ++++++++++++++++----------------
 src/mame/namco/namcos21_dsp.h   |   2 +-
 2 files changed, 55 insertions(+), 53 deletions(-)

diff --git a/src/mame/namco/namcos21_dsp.cpp b/src/mame/namco/namcos21_dsp.cpp
index 49ee6e38777af..9bd2832a8f961 100644
--- a/src/mame/namco/namcos21_dsp.cpp
+++ b/src/mame/namco/namcos21_dsp.cpp
@@ -65,21 +65,22 @@ void namcos21_dsp_device::device_reset()
 
 uint16_t namcos21_dsp_device::winrun_dspcomram_r(offs_t offset)
 {
-	int bank = 1-(m_winrun_dspcomram_control[0x4/2]&1);
-	uint16_t *mem = &m_winrun_dspcomram[0x1000*bank];
+	unsigned bank = !BIT(m_winrun_dspcomram_control[0x4/2], 0);
+	uint16_t *mem = &m_winrun_dspcomram[0x1000 * bank];
+
 	return mem[offset];
 }
 void namcos21_dsp_device::winrun_dspcomram_w(offs_t offset, uint16_t data, uint16_t mem_mask)
 {
-	int bank = 1-(m_winrun_dspcomram_control[0x4/2]&1);
-	uint16_t *mem = &m_winrun_dspcomram[0x1000*bank];
+	unsigned bank = !BIT(m_winrun_dspcomram_control[0x4/2], 0);
+	uint16_t *mem = &m_winrun_dspcomram[0x1000 * bank];
+
 	COMBINE_DATA( &mem[offset] );
 }
 
 uint16_t namcos21_dsp_device::winrun_cuskey_r()
 {
-	int pc = m_dsp->pc();
-	switch( pc )
+	switch (m_dsp->pc())
 	{
 	case 0x0064: /* winrun91 */
 		return 0xFEBB;
@@ -94,6 +95,7 @@ uint16_t namcos21_dsp_device::winrun_cuskey_r()
 	default:
 		break;
 	}
+
 	return 0;
 }
 
@@ -103,47 +105,47 @@ void namcos21_dsp_device::winrun_cuskey_w(uint16_t data)
 
 void namcos21_dsp_device::winrun_flush_poly()
 {
-	if( m_winrun_poly_index>0 )
-	{
-		const uint16_t *pSource = m_winrun_poly_buf;
-		uint16_t color;
-		int sx[4], sy[4], zcode[4];
-		int j;
-		color = *pSource++;
-		if( color&0x8000 )
-		{ /* direct-draw */
-			for( j=0; j<4; j++ )
-			{
-				sx[j] = m_poly_frame_width/2  + (int16_t)*pSource++;
-				sy[j] = m_poly_frame_height/2 + (int16_t)*pSource++;
-				zcode[j] = *pSource++;
-			}
-			m_renderer->draw_quad(sx, sy, zcode, color&0x7fff);
+	if (m_winrun_poly_index == 0)
+		return;
+
+	const uint16_t *pSource = m_winrun_poly_buf;
+	uint16_t color = *pSource++;
+	int sx[4], sy[4], zcode[4];
+
+	if (BIT(color, 15))
+	{ /* direct-draw */
+		for (int j=0; j<4; j++)
+		{
+			sx[j] = m_poly_frame_width/2  + (int16_t)*pSource++;
+			sy[j] = m_poly_frame_height/2 + (int16_t)*pSource++;
+			zcode[j] = *pSource++;
 		}
-		else
+
+		m_renderer->draw_quad(sx, sy, zcode, color&0x7fff);
+	}
+	else
+	{
+		uint8_t code;
+		unsigned quad_idx = color*6;
+		do
 		{
-			int quad_idx = color*6;
-			for(;;)
+			code = m_pointram[quad_idx++];
+			color = m_pointram[quad_idx++];
+
+			for (int j=0; j<4; j++)
 			{
-				uint8_t code = m_pointram[quad_idx++];
-				color = m_pointram[quad_idx++];
-				for( j=0; j<4; j++ )
-				{
-					uint8_t vi = m_pointram[quad_idx++];
-					sx[j] = m_poly_frame_width/2  + (int16_t)pSource[vi*3+0];
-					sy[j] = m_poly_frame_height/2 + (int16_t)pSource[vi*3+1];
-					zcode[j] = pSource[vi*3+2];
-				}
-				m_renderer->draw_quad(sx, sy, zcode, color&0x7fff);
-				if( code&0x80 )
-				{ /* end-of-quadlist marker */
-					break;
-				}
+				uint8_t vi = m_pointram[quad_idx++];
+				sx[j] = m_poly_frame_width/2  + (int16_t)pSource[vi*3+0];
+				sy[j] = m_poly_frame_height/2 + (int16_t)pSource[vi*3+1];
+				zcode[j] = pSource[vi*3+2];
 			}
-		}
-		m_winrun_poly_index = 0;
+
+			m_renderer->draw_quad(sx, sy, zcode, color&0x7fff);
+		} while (!BIT(code, 7)); //Reached end-of-quadlist marker?
 	}
-} /* winrun_flushpoly */
+
+	m_winrun_poly_index = 0;
+}
 
 uint16_t namcos21_dsp_device::winrun_poly_reset_r()
 {
@@ -153,14 +155,10 @@ uint16_t namcos21_dsp_device::winrun_poly_reset_r()
 
 void namcos21_dsp_device::winrun_dsp_render_w(uint16_t data)
 {
-	if( m_winrun_poly_index<WINRUN_MAX_POLY_PARAM )
-	{
+	if (m_winrun_poly_index<WINRUN_MAX_POLY_PARAM)
 		m_winrun_poly_buf[m_winrun_poly_index++] = data;
-	}
 	else
-	{
 		logerror( "WINRUN_POLY_OVERFLOW\n" );
-	}
 }
 
 void namcos21_dsp_device::winrun_dsp_pointrom_addr_w(offs_t offset, uint16_t data)
@@ -182,7 +180,7 @@ uint16_t namcos21_dsp_device::winrun_dsp_pointrom_data_r()
 
 void namcos21_dsp_device::winrun_dsp_complete_w(uint16_t data)
 {
-	if( data )
+	if (data)
 	{
 		winrun_flush_poly();
 		m_dsp->pulse_input_line(INPUT_LINE_RESET, attotime::zero);
@@ -198,7 +196,8 @@ uint16_t namcos21_dsp_device::winrun_table_r(offs_t offset)
 void namcos21_dsp_device::winrun_dspbios_w(offs_t offset, uint16_t data, uint16_t mem_mask)
 {
 	COMBINE_DATA( &m_winrun_dspbios[offset] );
-	if( offset==0xfff ) // is this the real trigger?
+
+	if (offset==0xfff) // is this the real trigger?
 	{
 		m_winrun_dsp_alive = 1;
 		m_dsp->resume(SUSPEND_REASON_HALT);
@@ -212,15 +211,17 @@ void namcos21_dsp_device::winrun_dspbios_w(offs_t offset, uint16_t data, uint16_
 
 uint16_t namcos21_dsp_device::winrun_68k_dspcomram_r(offs_t offset)
 {
-	int bank = m_winrun_dspcomram_control[0x4/2]&1;
+	unsigned bank = BIT(m_winrun_dspcomram_control[0x4/2], 0);
 	uint16_t *mem = &m_winrun_dspcomram[0x1000*bank];
+
 	return mem[offset];
 }
 
 void namcos21_dsp_device::winrun_68k_dspcomram_w(offs_t offset, uint16_t data, uint16_t mem_mask)
 {
-	int bank = m_winrun_dspcomram_control[0x4/2]&1;
+	unsigned bank = BIT(m_winrun_dspcomram_control[0x4/2], 0);
 	uint16_t *mem = &m_winrun_dspcomram[0x1000*bank];
+
 	COMBINE_DATA( &mem[offset] );
 }
 
@@ -260,6 +261,7 @@ void namcos21_dsp_device::winrun_dsp_io(address_map &map)
 void namcos21_dsp_device::device_add_mconfig(machine_config &config)
 {
 	tms32025_device& dsp(TMS32025(config, m_dsp, 24000000*2)); /* 48 MHz? overclocked */
+
 	dsp.set_addrmap(AS_PROGRAM, &namcos21_dsp_device::winrun_dsp_program);
 	dsp.set_addrmap(AS_DATA, &namcos21_dsp_device::winrun_dsp_data);
 	dsp.set_addrmap(AS_IO, &namcos21_dsp_device::winrun_dsp_io);
@@ -282,7 +284,7 @@ uint16_t namcos21_dsp_device::pointram_data_r()
 
 void namcos21_dsp_device::pointram_data_w(offs_t offset, uint16_t data, uint16_t mem_mask)
 {
-	if( ACCESSING_BITS_0_7 )
+	if (ACCESSING_BITS_0_7)
 	{
 		m_pointram[m_pointram_idx++] = data;
 		m_pointram_idx &= (PTRAM_SIZE-1);
diff --git a/src/mame/namco/namcos21_dsp.h b/src/mame/namco/namcos21_dsp.h
index 5d6dfebfa1d13..7028f3cc09585 100644
--- a/src/mame/namco/namcos21_dsp.h
+++ b/src/mame/namco/namcos21_dsp.h
@@ -55,7 +55,7 @@ class namcos21_dsp_device : public device_t
 	uint16_t m_winrun_dspcomram_control[8]{};
 	std::unique_ptr<uint16_t[]> m_winrun_dspcomram;
 	uint16_t m_winrun_poly_buf[WINRUN_MAX_POLY_PARAM]{};
-	int m_winrun_poly_index = 0;
+	unsigned m_winrun_poly_index = 0;
 	uint32_t m_winrun_pointrom_addr = 0;
 	int m_winrun_dsp_alive = 0;
 

From ad1545c737b5f531acfec9aca9abba7427a8c32b Mon Sep 17 00:00:00 2001
From: FlykeSpice <flykespice@gmail.com>
Date: Fri, 12 Jul 2024 11:55:51 -0400
Subject: [PATCH 3/9] namcos21.cpp: tidy

---
 src/mame/namco/namcos21.cpp | 45 ++++++++++++++++++++-----------------
 1 file changed, 25 insertions(+), 20 deletions(-)

diff --git a/src/mame/namco/namcos21.cpp b/src/mame/namco/namcos21.cpp
index f54550b1d2809..9f28c95aa5564 100644
--- a/src/mame/namco/namcos21.cpp
+++ b/src/mame/namco/namcos21.cpp
@@ -432,11 +432,12 @@ void namcos21_state::winrun_gpu_register_w(offs_t offset, uint16_t data, uint16_
 
 void namcos21_state::winrun_gpu_videoram_w(offs_t offset, uint16_t data)
 {
-	int color = data>>8;
-	int mask  = data&0xff;
-	for( int i=0; i<8; i++ )
+	uint8_t color = data>>8;
+	uint8_t mask  = data&0xff;
+
+	for (int i=0; i<8; i++)
 	{
-		if( mask&(0x01<<i) )
+		if (BIT(mask, i))
 		{
 			m_gpu_videoram[(offset+i)&0x7ffff] = color;
 			m_gpu_maskram[(offset+i)&0x7ffff] = mask;
@@ -454,29 +455,32 @@ void namcos21_state::winrun_bitmap_draw(bitmap_ind16 &bitmap, const rectangle &c
 	uint8_t const *const videoram = m_gpu_videoram.get();
 	//printf("%d %d (%d %d) - %04x %04x %04x|%04x %04x\n",cliprect.top(),cliprect.bottom(),m_screen->vpos(),m_gpu_intc->get_posirq_line(),m_winrun_gpu_register[0],m_winrun_gpu_register[2/2],m_winrun_gpu_register[4/2],m_winrun_gpu_register[0xa/2],m_winrun_gpu_register[0xc/2]);
 
-	int const yscroll = -cliprect.top()+(int16_t)m_winrun_gpu_register[0x2/2];
-	int const xscroll = 0;//m_winrun_gpu_register[0xc/2] >> 7;
-	int const base = 0x1000+0x100*(m_winrun_color&0xf);
-	for( int sy=cliprect.top(); sy<=cliprect.bottom(); sy++ )
+	int const yscroll = -cliprect.top() + (int16_t)m_winrun_gpu_register[0x2/2];
+	int const xscroll = 0; //m_winrun_gpu_register[0xc/2] >> 7;
+	int const base = 0x1000 + 0x100 * (m_winrun_color&0xf);
+
+	for (int sy=cliprect.top(); sy<=cliprect.bottom(); sy++)
 	{
-		uint8_t const *const pSource = &videoram[((yscroll+sy)&0x3ff)*0x200];
+		uint8_t const *const pSource = &videoram[((yscroll+sy) & 0x3ff) * 0x200];
 		uint16_t *const pDest = &bitmap.pix(sy);
-		for( int sx=cliprect.left(); sx<=cliprect.right(); sx++ )
+
+		for (int sx=cliprect.left(); sx<=cliprect.right(); sx++)
 		{
 			int const pen = pSource[(sx+xscroll) & 0x1ff];
+
 			switch( pen )
 			{
 			case 0xff:
 				break;
 			// TODO: additive blending? winrun car select uses register [0xc] for a xscroll value
 			case 0x00:
-				pDest[sx] = (pDest[sx]&0x1fff)+0x4000;
+				pDest[sx] = (pDest[sx] & 0x1fff) + 0x4000;
 				break;
 			case 0x01:
-				pDest[sx] = (pDest[sx]&0x1fff)+0x6000;
+				pDest[sx] = (pDest[sx] & 0x1fff) + 0x6000;
 				break;
 			default:
-				pDest[sx] = base|pen;
+				pDest[sx] = base | pen;
 				break;
 			}
 		}
@@ -490,6 +494,7 @@ uint32_t namcos21_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
 
 	m_namcos21_3d->copy_visible_poly_framebuffer(bitmap, cliprect, 0x7fc0, 0x7ffe);
 	m_namcos21_3d->copy_visible_poly_framebuffer(bitmap, cliprect, 0, 0x7fbf);
+
 	winrun_bitmap_draw(bitmap,cliprect);
 
 	//popmessage("%04x %04x %04x|%04x %04x",m_winrun_gpu_register[0],m_winrun_gpu_register[2/2],m_winrun_gpu_register[4/2],m_winrun_gpu_register[0xa/2],m_winrun_gpu_register[0xc/2]);
@@ -507,10 +512,9 @@ uint32_t namcos21_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
 [[maybe_unused]] void namcos21_state::video_enable_w(offs_t offset, uint16_t data, uint16_t mem_mask)
 {
 	COMBINE_DATA( &m_video_enable ); /* 0x40 = enable */
-	if( m_video_enable!=0 && m_video_enable!=0x40 )
-	{
+
+	if (m_video_enable!=0 && m_video_enable!=0x40)
 		logerror( "unexpected video_enable_w=0x%x\n", m_video_enable );
-	}
 }
 
 /***********************************************************/
@@ -631,6 +635,7 @@ void namcos21_state::c140_map(address_map &map)
 void namcos21_state::configure_c65_namcos21(machine_config &config)
 {
 	NAMCOC65(config, m_c65, 2048000);
+
 	m_c65->in_pb_callback().set_ioport("MCUB");
 	m_c65->in_pc_callback().set_ioport("MCUC");
 	m_c65->in_ph_callback().set_ioport("MCUH");
@@ -788,7 +793,7 @@ void namcos21_state::sound_bankselect_w(uint8_t data)
 
 void namcos21_state::sound_reset_w(uint8_t data)
 {
-	if (data & 0x01)
+	if (BIT(data, 0))
 	{
 		/* Resume execution */
 		m_audiocpu->set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
@@ -803,9 +808,9 @@ void namcos21_state::sound_reset_w(uint8_t data)
 
 void namcos21_state::system_reset_w(uint8_t data)
 {
-	reset_all_subcpus(data & 1 ? CLEAR_LINE : ASSERT_LINE);
+	reset_all_subcpus(BIT(data, 0) ? CLEAR_LINE : ASSERT_LINE);
 
-	if (data & 0x01)
+	if (BIT(data, 0))
 		m_maincpu->yield();
 }
 
@@ -857,7 +862,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(namcos21_state::screen_scanline)
 	int scanline = param;
 	//  int cur_posirq = get_posirq_scanline()*2;
 
-	if (scanline == 240 * 2)
+	if (scanline == (240 * 2))
 	{
 		m_master_intc->vblank_irq_trigger();
 		m_slave_intc->vblank_irq_trigger();

From a61fa3d86a7d50ed4439b943bf7f67a63ac1355f Mon Sep 17 00:00:00 2001
From: FlykeSpice <flykespice@gmail.com>
Date: Fri, 12 Jul 2024 11:56:58 -0400
Subject: [PATCH 4/9] namcos21_de.cpp: tidy

---
 src/mame/namco/namcos21_de.cpp | 33 +++++++++++++++------------------
 1 file changed, 15 insertions(+), 18 deletions(-)

diff --git a/src/mame/namco/namcos21_de.cpp b/src/mame/namco/namcos21_de.cpp
index 6012310ab866d..5c36c817b3b93 100644
--- a/src/mame/namco/namcos21_de.cpp
+++ b/src/mame/namco/namcos21_de.cpp
@@ -217,28 +217,26 @@ void namco_de_pcbstack_device::device_add_mconfig(machine_config &config)
 uint32_t namco_de_pcbstack_device::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
 {
 	//uint8_t *videoram = m_gpu_videoram.get();
-	int pivot = 3;
-	int pri;
+	const int pivot = 3;
+
 	bitmap.fill(0xff, cliprect );
 	screen.priority().fill(0, cliprect);
-	m_c355spr->build_sprite_list_and_render_sprites(cliprect); // TODO : buffered?
 
+	m_c355spr->build_sprite_list_and_render_sprites(cliprect); // TODO : buffered?
 	m_c355spr->draw(screen, bitmap, cliprect, 2 );
-	m_c355spr->draw(screen, bitmap, cliprect, 14 );   //driver's eyes
+	m_c355spr->draw(screen, bitmap, cliprect, 14);   //driver's eyes
 
 	m_namcos21_3d->copy_visible_poly_framebuffer(bitmap, cliprect, 0x7fc0, 0x7ffe);
 
-	m_c355spr->draw(screen, bitmap, cliprect, 0 );
-	m_c355spr->draw(screen, bitmap, cliprect, 1 );
+	m_c355spr->draw(screen, bitmap, cliprect, 0);
+	m_c355spr->draw(screen, bitmap, cliprect, 1);
 
 	m_namcos21_3d->copy_visible_poly_framebuffer(bitmap, cliprect, 0, 0x7fbf);
 
-	for (pri = pivot; pri < 8; pri++)
-	{
+	for (int pri = pivot; pri < 8; pri++)
 		m_c355spr->draw(screen, bitmap, cliprect, pri);
-	}
 
-	m_c355spr->draw(screen, bitmap, cliprect, 15 );   //driver's eyes
+	m_c355spr->draw(screen, bitmap, cliprect, 15);   //driver's eyes
 
 	return 0;
 
@@ -252,10 +250,9 @@ uint16_t namco_de_pcbstack_device::video_enable_r()
 void namco_de_pcbstack_device::video_enable_w(offs_t offset, uint16_t data, uint16_t mem_mask)
 {
 	COMBINE_DATA( &m_video_enable ); /* 0x40 = enable */
-	if( m_video_enable!=0 && m_video_enable!=0x40 )
-	{
-		logerror( "unexpected video_enable_w=0x%x\n", m_video_enable );
-	}
+
+	if (m_video_enable!=0 && m_video_enable!=0x40)
+		logerror( "unexpected video_enable_w=0x%x\n", m_video_enable);
 }
 
 /***********************************************************/
@@ -390,7 +387,7 @@ void namco_de_pcbstack_device::sound_bankselect_w(uint8_t data)
 
 void namco_de_pcbstack_device::sound_reset_w(uint8_t data)
 {
-	if (data & 0x01)
+	if (BIT(data, 0))
 	{
 		/* Resume execution */
 		m_audiocpu->set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
@@ -405,9 +402,9 @@ void namco_de_pcbstack_device::sound_reset_w(uint8_t data)
 
 void namco_de_pcbstack_device::system_reset_w(uint8_t data)
 {
-	reset_all_subcpus(data & 1 ? CLEAR_LINE : ASSERT_LINE);
+	reset_all_subcpus(BIT(data, 0) ? CLEAR_LINE : ASSERT_LINE);
 
-	if (data & 0x01)
+	if (BIT(data, 0))
 		m_maincpu->yield();
 }
 
@@ -433,7 +430,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(namco_de_pcbstack_device::screen_scanline)
 	int scanline = param;
 //  int cur_posirq = get_posirq_scanline()*2;
 
-	if(scanline == 240*2)
+	if (scanline == (240*2))
 	{
 		m_master_intc->vblank_irq_trigger();
 		m_slave_intc->vblank_irq_trigger();

From 1bf894f89eee5bf526750a9a05280f18308998ca Mon Sep 17 00:00:00 2001
From: FlykeSpice <flykespice@gmail.com>
Date: Fri, 12 Jul 2024 11:59:13 -0400
Subject: [PATCH 5/9] namcos21_dsp_c67.cpp: Some cleanup & better formatting

---
 src/mame/namco/namcos21_c67.cpp     |  40 ++-
 src/mame/namco/namcos21_dsp_c67.cpp | 399 +++++++++++++++-------------
 src/mame/namco/namcos21_dsp_c67.h   |   2 +-
 3 files changed, 240 insertions(+), 201 deletions(-)

diff --git a/src/mame/namco/namcos21_c67.cpp b/src/mame/namco/namcos21_c67.cpp
index 927cb1fef69b7..87ecdc204eca9 100644
--- a/src/mame/namco/namcos21_c67.cpp
+++ b/src/mame/namco/namcos21_c67.cpp
@@ -371,26 +371,25 @@ class namcos21_c67_state : public driver_device
 uint32_t namcos21_c67_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
 {
 	//uint8_t *videoram = m_gpu_videoram.get();
-	int pivot = 3;
-	int pri;
-	bitmap.fill(0xff, cliprect );
+	const int pivot = 3;
+
+	bitmap.fill(0xff, cliprect);
 	screen.priority().fill(0, cliprect);
-	m_c355spr->build_sprite_list_and_render_sprites(cliprect); // TODO : buffered?
 
-	m_c355spr->draw(screen, bitmap, cliprect, 2 );
+	m_c355spr->build_sprite_list_and_render_sprites(cliprect); // TODO : buffered?
+	m_c355spr->draw(screen, bitmap, cliprect, 2);
 
 	m_namcos21_3d->copy_visible_poly_framebuffer(bitmap, cliprect, 0x7fc0, 0x7ffe);
 
-	m_c355spr->draw(screen, bitmap, cliprect, 0 );
-	m_c355spr->draw(screen, bitmap, cliprect, 1 );
+	m_c355spr->draw(screen, bitmap, cliprect, 0);
+	m_c355spr->draw(screen, bitmap, cliprect, 1);
 
 	m_namcos21_3d->copy_visible_poly_framebuffer(bitmap, cliprect, 0, 0x7fbf);
 
 	/* draw high priority 2d sprites */
-	for( pri=pivot; pri<8; pri++ )
-	{
-		m_c355spr->draw(screen, bitmap, cliprect, pri );
-	}
+	for (int pri=pivot; pri<8; pri++)
+		m_c355spr->draw(screen, bitmap, cliprect, pri);
+
 	return 0;
 }
 
@@ -402,10 +401,9 @@ uint16_t namcos21_c67_state::video_enable_r()
 void namcos21_c67_state::video_enable_w(offs_t offset, uint16_t data, uint16_t mem_mask)
 {
 	COMBINE_DATA( &m_video_enable ); /* 0x40 = enable */
-	if( m_video_enable!=0 && m_video_enable!=0x40 )
-	{
+
+	if (m_video_enable!=0 && m_video_enable!=0x40)
 		logerror( "unexpected video_enable_w=0x%x\n", m_video_enable );
-	}
 }
 
 /***********************************************************/
@@ -700,7 +698,7 @@ void namcos21_c67_state::sound_bankselect_w(uint8_t data)
 
 void namcos21_c67_state::sound_reset_w(uint8_t data)
 {
-	if (data & 0x01)
+	if (BIT(data, 0))
 	{
 		/* Resume execution */
 		m_audiocpu->set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
@@ -712,17 +710,15 @@ void namcos21_c67_state::sound_reset_w(uint8_t data)
 		m_audiocpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
 	}
 
-	if (data & 0x04)
-	{
+	if (BIT(data, 2))
 		m_namcos21_dsp_c67->reset_kickstart();
-	}
 }
 
 void namcos21_c67_state::system_reset_w(uint8_t data)
 {
-	reset_all_subcpus(data & 1 ? CLEAR_LINE : ASSERT_LINE);
+	reset_all_subcpus(BIT(data, 0) ? CLEAR_LINE : ASSERT_LINE);
 
-	if (data & 0x01)
+	if (BIT(data, 0))
 		m_maincpu->yield();
 }
 
@@ -748,7 +744,7 @@ void namcos21_c67_state::machine_reset()
 	/* Initialise the bank select in the sound CPU */
 	m_audiobank->set_entry(0); /* Page in bank 0 */
 
-	m_audiocpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE );
+	m_audiocpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
 
 	/* Place CPU2 & CPU3 into the reset condition */
 	reset_all_subcpus(ASSERT_LINE);
@@ -773,7 +769,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(namcos21_c67_state::screen_scanline)
 	int scanline = param;
 //  int cur_posirq = get_posirq_scanline()*2;
 
-	if(scanline == 240*2)
+	if(scanline == (240*2))
 	{
 		m_master_intc->vblank_irq_trigger();
 		m_slave_intc->vblank_irq_trigger();
diff --git a/src/mame/namco/namcos21_dsp_c67.cpp b/src/mame/namco/namcos21_dsp_c67.cpp
index 6e4b5567f62e3..d10980e995ca5 100644
--- a/src/mame/namco/namcos21_dsp_c67.cpp
+++ b/src/mame/namco/namcos21_dsp_c67.cpp
@@ -71,11 +71,7 @@ void namcos21_dsp_c67_device::device_reset()
 	m_poly_frame_height = m_renderer->get_height();
 
 	/* DSP startup hacks */
-	m_mbNeedsKickstart = 20;
-	if (m_gametype == NAMCOS21_CYBERSLED)
-	{
-		m_mbNeedsKickstart = 200;
-	}
+	m_mbNeedsKickstart = (m_gametype == NAMCOS21_CYBERSLED) ? 200 : 20;
 
 	/* Wipe the framebuffers */
 	m_renderer->swap_and_clear_poly_framebuffer();
@@ -120,12 +116,12 @@ void namcos21_dsp_c67_device::reset_dsps(int state)
 void namcos21_dsp_c67_device::reset_kickstart()
 {
 	//printf( "dspkick=0x%x\n", data );
-	namcos21_kickstart_hacks(1);
+	namcos21_kickstart_hacks(true);
 }
 
 void namcos21_dsp_c67_device::device_add_mconfig(machine_config &config)
 {
-	namco_c67_device& dspmaster(NAMCO_C67(config, m_c67master, 24000000)); /* 24 MHz? overclocked */
+	namco_c67_device& dspmaster(NAMCO_C67(config, m_c67master, 24'000'000)); /* 24 MHz? overclocked */
 	dspmaster.set_addrmap(AS_PROGRAM, &namcos21_dsp_c67_device::master_dsp_program);
 	dspmaster.set_addrmap(AS_DATA, &namcos21_dsp_c67_device::master_dsp_data);
 	dspmaster.set_addrmap(AS_IO, &namcos21_dsp_c67_device::master_dsp_io);
@@ -135,7 +131,7 @@ void namcos21_dsp_c67_device::device_add_mconfig(machine_config &config)
 
 	for (int i = 0; i < 4; i++)
 	{
-		namco_c67_device& dspslave(NAMCO_C67(config, m_c67slave[i], 24000000)); /* 24 MHz? overclocked */
+		namco_c67_device& dspslave(NAMCO_C67(config, m_c67slave[i], 24'000'000)); /* 24 MHz? overclocked */
 		dspslave.set_addrmap(AS_PROGRAM, &namcos21_dsp_c67_device::slave_dsp_program);
 		dspslave.set_addrmap(AS_DATA, &namcos21_dsp_c67_device::slave_dsp_data);
 		dspslave.set_addrmap(AS_IO, &namcos21_dsp_c67_device::slave_dsp_io);
@@ -144,10 +140,10 @@ void namcos21_dsp_c67_device::device_add_mconfig(machine_config &config)
 		dspslave.xf_out_cb().set(FUNC(namcos21_dsp_c67_device::slave_XF_output_w));
 
 		// the emulation currently only uses one slave DSP clocked at 4x the normal rate instead of the master splitting the workload across the 4 slaves
-		if (i!=0)
+		if (i != 0)
 			dspslave.set_disable();
 		else
-			dspslave.set_clock(24000000*4);
+			dspslave.set_clock(24'000'000*4);
 	}
 }
 
@@ -159,9 +155,10 @@ void namcos21_dsp_c67_device::dspcuskey_w(uint16_t data)
 uint16_t namcos21_dsp_c67_device::dspcuskey_r()
 {
 	uint16_t result = 0;
-	if( m_gametype == NAMCOS21_SOLVALOU )
+
+	if (m_gametype == NAMCOS21_SOLVALOU)
 	{
-		switch( m_c67master->pc() )
+		switch (m_c67master->pc())
 		{
 		case 0x805e: result = 0x0000; break;
 		case 0x805f: result = 0xfeba; break;
@@ -172,9 +169,9 @@ uint16_t namcos21_dsp_c67_device::dspcuskey_r()
 			break;
 		}
 	}
-	else if( m_gametype == NAMCOS21_CYBERSLED )
+	else if (m_gametype == NAMCOS21_CYBERSLED)
 	{
-		switch( m_c67master->pc() )
+		switch (m_c67master->pc())
 		{
 		case 0x8061: result = 0xfe95; break;
 		case 0x8069: result = 0xffff; break;
@@ -183,9 +180,9 @@ uint16_t namcos21_dsp_c67_device::dspcuskey_r()
 			break;
 		}
 	}
-	else if( m_gametype == NAMCOS21_AIRCOMBAT )
+	else if (m_gametype == NAMCOS21_AIRCOMBAT)
 	{
-		switch( m_c67master->pc() )
+		switch (m_c67master->pc())
 		{
 		case 0x8062: result = 0xfeb9; break;
 		case 0x806a: result = 0xffff; break;
@@ -194,121 +191,138 @@ uint16_t namcos21_dsp_c67_device::dspcuskey_r()
 			break;
 		}
 	}
+
 	return result;
 }
 
 void namcos21_dsp_c67_device::transmit_word_to_slave(uint16_t data)
 {
 	unsigned offs = m_mpDspState->slaveInputStart+m_mpDspState->slaveBytesAvailable++;
+
 	m_mpDspState->slaveInputBuffer[offs%DSP_BUF_MAX] = data;
-	if (ENABLE_LOGGING) logerror( "+%04x(#%04x)\n", data, m_mpDspState->slaveBytesAvailable );
+
+	if (ENABLE_LOGGING)
+		logerror("+%04x(#%04x)\n", data, m_mpDspState->slaveBytesAvailable);
+
 	m_mpDspState->slaveActive = 1;
-	if( m_mpDspState->slaveBytesAvailable >= DSP_BUF_MAX )
-	{
+
+	if (m_mpDspState->slaveBytesAvailable >= DSP_BUF_MAX)
 		fatalerror( "IDC overflow\n" );
-	}
 }
 
 void namcos21_dsp_c67_device::transfer_dsp_data()
 {
 	uint16_t addr = m_mpDspState->masterSourceAddr;
 	bool const mode = BIT(addr, 15);
+
 	addr &= 0x7fff;
-	if (addr)
+	if (!addr)
+		return;
+
+	while (true)
 	{
-		for (;;)
+		uint16_t const old = addr;
+		uint16_t const code = m_dspram16[addr++];
+
+		if (code == 0xffff)
 		{
-			uint16_t const old = addr;
-			uint16_t const code = m_dspram16[addr++];
-			if (code == 0xffff)
+			if (mode)
 			{
-				if (mode)
-				{
-					addr = m_dspram16[addr];
-					m_mpDspState->masterSourceAddr = addr;
-					if (ENABLE_LOGGING) logerror("LOOP:0x%04x\n", addr);
-					addr &= 0x7fff;
-					if (old == addr)
-					{
-						return;
-					}
-				}
-				else
-				{
-					m_mpDspState->masterSourceAddr = 0;
+				addr = m_dspram16[addr];
+				m_mpDspState->masterSourceAddr = addr;
+
+				if (ENABLE_LOGGING)
+					logerror("LOOP:0x%04x\n", addr);
+
+				addr &= 0x7fff;
+				if (old == addr)
 					return;
-				}
 			}
-			else if (!mode)
+			else
 			{
-				// direct data transfer
-				if (ENABLE_LOGGING) logerror("DATA TFR(0x%x)\n", code);
-				transmit_word_to_slave(code);
-				for (int i = 0; i < code; i++)
-				{
-					uint16_t const data = m_dspram16[addr++];
-					transmit_word_to_slave(data);
-				}
+				m_mpDspState->masterSourceAddr = 0;
+				return;
+			}
+		}
+		else if (!mode)
+		{
+			// direct data transfer
+			if (ENABLE_LOGGING)
+				logerror("DATA TFR(0x%x)\n", code);
+
+			transmit_word_to_slave(code);
+
+			for (int i = 0; i < code; i++)
+			{
+				uint16_t const data = m_dspram16[addr++];
+				transmit_word_to_slave(data);
 			}
-			else if (code == 0x18 || code == 0x1a)
+		}
+		else if (code == 0x18 || code == 0x1a)
+		{
+			if (ENABLE_LOGGING)
+				logerror("HEADER TFR(0x%x)\n", code);
+
+			transmit_word_to_slave(code + 1);
+
+			for (int i = 0; i < code; i++)
 			{
-				if (ENABLE_LOGGING) logerror("HEADER TFR(0x%x)\n", code);
-				transmit_word_to_slave(code + 1);
-				for (int i = 0; i < code; i++)
-				{
-					uint16_t const data = m_dspram16[addr++];
-					transmit_word_to_slave(data);
-				}
+				uint16_t const data = m_dspram16[addr++];
+				transmit_word_to_slave(data);
 			}
-			else
+		}
+		else
+		{
+			if (ENABLE_LOGGING)
+				logerror("OBJ TFR(0x%x)\n", code);
+
+			int32_t masterAddr = read_pointrom_data(code);
+			uint16_t const len = m_dspram16[addr++];
+
+			while (true)
 			{
-				if (ENABLE_LOGGING) logerror("OBJ TFR(0x%x)\n", code);
-				int32_t masterAddr = read_pointrom_data(code);
-				uint16_t const len = m_dspram16[addr++];
-				for (;;)
+				int subAddr = read_pointrom_data(masterAddr++);
+
+				if (subAddr == 0xffffff)
+					break;
+
+				uint16_t const primWords = (uint16_t)read_pointrom_data(subAddr++);
+				// TODO: this function causes an IDC overflow in Solvalou, something else failed prior to that?
+				// In Header TFR when bad parameters happens there's a suspicious 0x000f 0x0003 as first two words,
+				// maybe it's supposed to have a different length there ...
+				// cfr: object code 0x17 in service mode
+				if (primWords > 2)
 				{
-					int subAddr = read_pointrom_data(masterAddr++);
-					if (subAddr == 0xffffff)
-					{
-						break;
+					transmit_word_to_slave(0); // pad1
+					transmit_word_to_slave(len + 1);
+
+					for (int i = 0; i < len; i++)
+					{ // transform
+						transmit_word_to_slave(m_dspram16[addr + i]);
 					}
-					else
+
+					transmit_word_to_slave(0); // pad2
+					transmit_word_to_slave(primWords + 1);
+					
+					for (int i = 0; i < primWords; i++)
 					{
-						int const primWords = (uint16_t)read_pointrom_data(subAddr++);
-						// TODO: this function causes an IDC overflow in Solvalou, something else failed prior to that?
-						// In Header TFR when bad parameters happens there's a suspicious 0x000f 0x0003 as first two words,
-						// maybe it's supposed to have a different length there ...
-						// cfr: object code 0x17 in service mode
-						if (primWords > 2)
-						{
-							transmit_word_to_slave(0); // pad1
-							transmit_word_to_slave(len + 1);
-							for (int i = 0; i < len; i++)
-							{ // transform
-								transmit_word_to_slave(m_dspram16[addr + i]);
-							}
-							transmit_word_to_slave(0); // pad2
-							transmit_word_to_slave(primWords + 1);
-							for (int i = 0; i < primWords; i++)
-							{
-								transmit_word_to_slave((uint16_t)read_pointrom_data(subAddr + i));
-							}
-						}
-						else
-						{
-							if (ENABLE_LOGGING) logerror("TFR NOP?\n");
-						}
+						transmit_word_to_slave((uint16_t)read_pointrom_data(subAddr + i));
 					}
-				} // for (;;)
-				addr += len;
+				}
+				else if (ENABLE_LOGGING)
+				{
+					logerror("TFR NOP?\n");
+				}
 			}
-		} // for(;;)
+
+			addr += len;
+		}
 	}
 }
 
 
 
-void namcos21_dsp_c67_device::namcos21_kickstart_hacks(int internal)
+void namcos21_dsp_c67_device::namcos21_kickstart_hacks(bool internal)
 {
 	/* patch dsp watchdog */
 	switch (m_gametype)
@@ -316,24 +330,33 @@ void namcos21_dsp_c67_device::namcos21_kickstart_hacks(int internal)
 	case namcos21_dsp_c67_device::NAMCOS21_AIRCOMBAT:
 		m_master_dsp_ram[0x008e] = 0x808f;
 		break;
+
 	case namcos21_dsp_c67_device::NAMCOS21_SOLVALOU:
 		m_master_dsp_ram[0x008b] = 0x808c;
 		break;
+
 	default:
 		break;
 	}
+
 	if (internal)
 	{
-		if (m_mbNeedsKickstart == 0) return;
+		if (m_mbNeedsKickstart == 0)
+			return;
+
 		m_mbNeedsKickstart--;
-		if (m_mbNeedsKickstart) return;
+		
+		if (m_mbNeedsKickstart)
+			return;
 	}
 
 	m_renderer->swap_and_clear_poly_framebuffer();
+
 	m_mpDspState->masterSourceAddr = 0;
 	m_mpDspState->slaveOutputSize = 0;
 	m_mpDspState->masterFinished = 0;
 	m_mpDspState->slaveActive = 0;
+	
 	m_c67master->set_input_line(0, HOLD_LINE);
 	m_c67slave[0]->pulse_input_line(INPUT_LINE_RESET, attotime::zero);
 }
@@ -341,30 +364,35 @@ void namcos21_dsp_c67_device::namcos21_kickstart_hacks(int internal)
 uint16_t namcos21_dsp_c67_device::read_word_from_slave_input()
 {
 	uint16_t data = 0;
-	if( m_mpDspState->slaveBytesAvailable>0 )
+
+	if (m_mpDspState->slaveBytesAvailable > 0)
 	{
 		data = m_mpDspState->slaveInputBuffer[m_mpDspState->slaveInputStart++];
+
 		m_mpDspState->slaveInputStart %= DSP_BUF_MAX;
 		m_mpDspState->slaveBytesAvailable--;
-		if( m_mpDspState->slaveBytesAdvertised>0 )
-		{
+		
+		if (m_mpDspState->slaveBytesAdvertised > 0)
 			m_mpDspState->slaveBytesAdvertised--;
-		}
-		if (ENABLE_LOGGING) logerror( "%s:-%04x(0x%04x)\n", machine().describe_context(), data, m_mpDspState->slaveBytesAvailable );
+
+		if (ENABLE_LOGGING)
+			logerror( "%s:-%04x(0x%04x)\n", machine().describe_context(), data, m_mpDspState->slaveBytesAvailable );
 	}
+
 	return data;
 }
 
 uint16_t namcos21_dsp_c67_device::get_input_bytes_advertised_for_slave()
 {
-	if( m_mpDspState->slaveBytesAdvertised < m_mpDspState->slaveBytesAvailable )
+	if (m_mpDspState->slaveBytesAdvertised < m_mpDspState->slaveBytesAvailable)
 	{
 		m_mpDspState->slaveBytesAdvertised++;
 	}
-	else if( m_mpDspState->slaveActive && m_mpDspState->masterFinished && m_mpDspState->masterSourceAddr )
+	else if(m_mpDspState->slaveActive && m_mpDspState->masterFinished && m_mpDspState->masterSourceAddr)
 	{
-		namcos21_kickstart_hacks(0);
+		namcos21_kickstart_hacks(false);
 	}
+
 	return m_mpDspState->slaveBytesAdvertised;
 }
 
@@ -379,7 +407,9 @@ void namcos21_dsp_c67_device::dspram16_hack_w(offs_t offset, uint16_t data, uint
 
 	if (m_mpDspState->masterSourceAddr && offset == 1 + (m_mpDspState->masterSourceAddr & 0x7fff))
 	{
-		if (ENABLE_LOGGING) logerror("IDC-CONTINUE\n");
+		if (ENABLE_LOGGING)
+			logerror("IDC-CONTINUE\n");
+
 		transfer_dsp_data();
 	}
 	else if (m_gametype == NAMCOS21_SOLVALOU && offset == 0x103)
@@ -395,7 +425,9 @@ void namcos21_dsp_c67_device::dspram16_w(offs_t offset, uint16_t data, uint16_t
 
 	if (m_mpDspState->masterSourceAddr && offset == 1 + (m_mpDspState->masterSourceAddr & 0x7fff))
 	{
-		if (ENABLE_LOGGING) logerror("IDC-CONTINUE\n");
+		if (ENABLE_LOGGING)
+			logerror("IDC-CONTINUE\n");
+
 		transfer_dsp_data();
 	}
 }
@@ -411,29 +443,34 @@ int32_t namcos21_dsp_c67_device::read_pointrom_data(unsigned offset)
 uint16_t namcos21_dsp_c67_device::dsp_port0_r()
 {
 	int32_t data = read_pointrom_data(m_pointrom_idx++);
+
 	m_mPointRomMSB = (uint8_t)(data>>16);
 	m_mbPointRomDataAvailable = 1;
+
 	return (uint16_t)data;
 }
 
 void namcos21_dsp_c67_device::dsp_port0_w(uint16_t data)
 { /* unused? */
-	if (ENABLE_LOGGING) logerror( "PTRAM_LO(0x%04x)\n", data );
+	if (ENABLE_LOGGING)
+		logerror("PTRAM_LO(0x%04x)\n", data);
 }
 
 uint16_t namcos21_dsp_c67_device::dsp_port1_r()
 {
-	if( m_mbPointRomDataAvailable )
+	if (m_mbPointRomDataAvailable)
 	{
 		m_mbPointRomDataAvailable = 0;
 		return m_mPointRomMSB;
 	}
+
 	return 0x8000; /* IDC ack? */
 }
 
 void namcos21_dsp_c67_device::dsp_port1_w(uint16_t data)
 { /* unused? */
-	if (ENABLE_LOGGING) logerror( "PTRAM_HI(0x%04x)\n", data );
+	if (ENABLE_LOGGING)
+		logerror("PTRAM_HI(0x%04x)\n", data);
 }
 
 uint16_t namcos21_dsp_c67_device::dsp_port2_r()
@@ -443,7 +480,9 @@ uint16_t namcos21_dsp_c67_device::dsp_port2_r()
 
 void namcos21_dsp_c67_device::dsp_port2_w(uint16_t data)
 {
-	if (ENABLE_LOGGING) logerror( "IDC ADDR INIT(0x%04x)\n", data );
+	if (ENABLE_LOGGING)
+		logerror("IDC ADDR INIT(0x%04x)\n", data);
+
 	m_mpDspState->masterSourceAddr = data;
 	transfer_dsp_data();
 }
@@ -455,8 +494,8 @@ uint16_t namcos21_dsp_c67_device::dsp_port3_idc_rcv_enable_r()
 
 void namcos21_dsp_c67_device::dsp_port3_w(uint16_t data)
 {
-	m_pointrom_idx<<=16;
-	m_pointrom_idx|=data;
+	m_pointrom_idx <<= 16;
+	m_pointrom_idx |= data;
 }
 
 void namcos21_dsp_c67_device::dsp_port4_w(uint16_t data)
@@ -471,11 +510,12 @@ uint16_t namcos21_dsp_c67_device::dsp_port8_r()
 
 void namcos21_dsp_c67_device::dsp_port8_w(uint16_t data)
 {
-	if (ENABLE_LOGGING) logerror( "port8_w(%d)\n", data );
-	if( data )
-	{
+	if (ENABLE_LOGGING)
+		logerror("port8_w(%d)\n", data);
+
+	if (data)
 		m_mpDspState->masterFinished = 1;
-	}
+
 	m_irq_enable = data;
 }
 
@@ -506,40 +546,39 @@ uint16_t namcos21_dsp_c67_device::dsp_portb_r()
 
 void namcos21_dsp_c67_device::dsp_portb_w(uint16_t data)
 {
-	if( data==0 )
+	if (data==0)
 	{ /* only 0->1 transition triggers */
 		return;
 	}
-	if( m_mpDspState->masterDirectDrawSize == 13 )
+
+	if (m_mpDspState->masterDirectDrawSize == 13)
 	{
-		int i;
 		int sx[4], sy[4], zcode[4];
-		int color  = m_mpDspState->masterDirectDrawBuffer[0];
-		for( i=0; i<4; i++ )
+		uint16_t color  = m_mpDspState->masterDirectDrawBuffer[0];
+
+		for (int i=0; i<4; i++)
 		{
 			sx[i] = m_poly_frame_width/2 + (int16_t)m_mpDspState->masterDirectDrawBuffer[i*3+1];
 			sy[i] = m_poly_frame_height/2 + (int16_t)m_mpDspState->masterDirectDrawBuffer[i*3+2];
 			zcode[i] = m_mpDspState->masterDirectDrawBuffer[i*3+3];
 		}
-		if( color&0x8000 )
-		{
+
+		if (BIT(color, 15))
 			m_renderer->draw_quad(sx, sy, zcode, color);
-		}
 		else
-		{
-			logerror( "indirection used w/ direct draw?\n" );
-		}
+			logerror("indirection used w/ direct draw?\n");
 	}
-	else if( m_mpDspState->masterDirectDrawSize )
+	else if (m_mpDspState->masterDirectDrawSize)
 	{
-		logerror( "unexpected masterDirectDrawSize=%d!\n",m_mpDspState->masterDirectDrawSize );
+		logerror("unexpected masterDirectDrawSize=%d!\n", m_mpDspState->masterDirectDrawSize);
 	}
+
 	m_mpDspState->masterDirectDrawSize = 0;
 }
 
 void namcos21_dsp_c67_device::dsp_portc_w(uint16_t data)
 {
-	if( m_mpDspState->masterDirectDrawSize < DSP_BUF_MAX )
+	if (m_mpDspState->masterDirectDrawSize < DSP_BUF_MAX)
 	{
 		m_mpDspState->masterDirectDrawBuffer[m_mpDspState->masterDirectDrawSize++] = data;
 	}
@@ -556,7 +595,8 @@ uint16_t namcos21_dsp_c67_device::dsp_portf_r()
 
 void namcos21_dsp_c67_device::dsp_xf_w(uint16_t data)
 {
-	if (ENABLE_LOGGING) logerror("xf(%d)\n",data);
+	if (ENABLE_LOGGING)
+		logerror("xf(%d)\n",data);
 }
 
 void namcos21_dsp_c67_device::master_dsp_program(address_map &map)
@@ -589,60 +629,62 @@ void namcos21_dsp_c67_device::master_dsp_io(address_map &map)
 
 void namcos21_dsp_c67_device::render_slave_output(uint16_t data)
 {
-	if( m_mpDspState->slaveOutputSize >= 4096 )
-	{
-		fatalerror( "SLAVE OVERFLOW (0x%x)\n",m_mpDspState->slaveOutputBuffer[0]  );
-	}
+	if (m_mpDspState->slaveOutputSize >= 4096)
+		fatalerror("SLAVE OVERFLOW (0x%x)\n", m_mpDspState->slaveOutputBuffer[0]);
 
 	/* append word to slave output buffer */
 	m_mpDspState->slaveOutputBuffer[m_mpDspState->slaveOutputSize++] = data;
 
+	uint16_t *pSource = m_mpDspState->slaveOutputBuffer;
+	uint16_t count = *pSource++;
+
+	if (count && m_mpDspState->slaveOutputSize > count)
 	{
-		uint16_t *pSource = m_mpDspState->slaveOutputBuffer;
-		uint16_t count = *pSource++;
-		if( count && m_mpDspState->slaveOutputSize > count )
+		uint16_t color = *pSource++;
+		int sx[4], sy[4], zcode[4];
+
+		if (BIT(color, 15))
 		{
-			uint16_t color = *pSource++;
-			int sx[4], sy[4],zcode[4];
-			int j;
-			if( color&0x8000 )
+			if (count != 13) 
+				logerror("?!direct-draw(%d)\n", count);
+
+			for(int j=0; j<4; j++)
 			{
-				if( count!=13 ) logerror( "?!direct-draw(%d)\n", count );
-				for( j=0; j<4; j++ )
-				{
-					sx[j] = m_poly_frame_width/2 + (int16_t)pSource[3*j+0];
-					sy[j] = m_poly_frame_height/2 + (int16_t)pSource[3*j+1];
-					zcode[j] = pSource[3*j+2];
-				}
-				m_renderer->draw_quad(sx, sy, zcode, color&0x7fff);
+				sx[j] = m_poly_frame_width/2 + (int16_t)pSource[3*j+0];
+				sy[j] = m_poly_frame_height/2 + (int16_t)pSource[3*j+1];
+				zcode[j] = pSource[3*j+2];
 			}
-			else
+
+			m_renderer->draw_quad(sx, sy, zcode, color&0x7fff);
+		}
+		else
+		{
+			uint8_t code;
+			int quad_idx = color*6;
+
+			do
 			{
-				int quad_idx = color*6;
-				for(;;)
+				code = m_pointram[quad_idx++];
+				color = m_pointram[quad_idx++] | (code<<8);
+
+				for(int j=0; j<4; j++)
 				{
-					uint8_t code = m_pointram[quad_idx++];
-					color = m_pointram[quad_idx++]|(code<<8);
-					for( j=0; j<4; j++ )
-					{
-						uint8_t vi = m_pointram[quad_idx++];
-						sx[j] = m_poly_frame_width/2  + (int16_t)pSource[vi*3+0];
-						sy[j] = m_poly_frame_height/2 + (int16_t)pSource[vi*3+1];
-						zcode[j] = pSource[vi*3+2];
-					}
-					m_renderer->draw_quad(sx, sy, zcode, color&0x7fff);
-					if( code&0x80 )
-					{ /* end-of-quadlist marker */
-						break;
-					}
+					uint8_t vi = m_pointram[quad_idx++];
+
+					sx[j] = m_poly_frame_width/2  + (int16_t)pSource[vi*3+0];
+					sy[j] = m_poly_frame_height/2 + (int16_t)pSource[vi*3+1];
+					zcode[j] = pSource[vi*3+2];
 				}
-			}
-			m_mpDspState->slaveOutputSize = 0;
-		}
-		else if( count==0 )
-		{
-			fatalerror( "RenderSlaveOutput\n" );
+
+				m_renderer->draw_quad(sx, sy, zcode, color&0x7fff);
+			} while (!BIT(code, 7)); //Reached end-of-quadlist marker?
 		}
+
+		m_mpDspState->slaveOutputSize = 0;
+	}
+	else if (count == 0)
+	{
+		fatalerror( "RenderSlaveOutput\n" );
 	}
 }
 
@@ -675,7 +717,8 @@ void namcos21_dsp_c67_device::slave_port3_w(uint16_t data)
 
 void namcos21_dsp_c67_device::slave_XF_output_w(uint16_t data)
 {
-	if (ENABLE_LOGGING) logerror( "%s :slaveXF(%d)\n", machine().describe_context(), data );
+	if (ENABLE_LOGGING)
+		logerror("%s :slaveXF(%d)\n", machine().describe_context(), data);
 }
 
 uint16_t namcos21_dsp_c67_device::slave_portf_r()
@@ -773,14 +816,14 @@ void namcos21_dsp_c67_device::pointram_data_w(offs_t offset, uint16_t data, uint
 
 uint16_t namcos21_dsp_c67_device::namcos21_depthcue_r(offs_t offset)
 {
-	int bank = (m_pointram_control&0x20)?1:0;
+	unsigned bank = BIT(m_pointram_control, 5);
 	return m_depthcue[bank][offset];
 }
 void namcos21_dsp_c67_device::namcos21_depthcue_w(offs_t offset, uint16_t data, uint16_t mem_mask)
 {
-	if( ACCESSING_BITS_0_7 )
+	if (ACCESSING_BITS_0_7)
 	{
-		int bank = (m_pointram_control&0x20)?1:0;
+		unsigned bank = BIT(m_pointram_control, 5);
 		m_depthcue[bank][offset] = data;
 //      if( (offset&0xf)==0 ) logerror( "\n depthcue: " );
 //      logerror( " %02x", data );
diff --git a/src/mame/namco/namcos21_dsp_c67.h b/src/mame/namco/namcos21_dsp_c67.h
index b52a78c056080..9ab8a19e9065a 100644
--- a/src/mame/namco/namcos21_dsp_c67.h
+++ b/src/mame/namco/namcos21_dsp_c67.h
@@ -112,7 +112,7 @@ class namcos21_dsp_c67_device : public device_t
 	uint16_t get_input_bytes_advertised_for_slave();
 	void render_slave_output(uint16_t data);
 
-	void namcos21_kickstart_hacks(int internal);
+	void namcos21_kickstart_hacks(bool internal);
 
 	void dspcuskey_w(uint16_t data);
 	uint16_t dspcuskey_r();

From 486326f86ecea4f6536b2247cea30f70f9cf9378 Mon Sep 17 00:00:00 2001
From: FlykeSpice <flykespice@gmail.com>
Date: Fri, 12 Jul 2024 18:37:28 -0400
Subject: [PATCH 6/9] More consistency & address PR feedback

---
 src/mame/namco/namcos21.cpp         | 35 ++++++++++++---------------
 src/mame/namco/namcos21_3d.cpp      | 15 ++++--------
 src/mame/namco/namcos21_c67.cpp     |  6 ++---
 src/mame/namco/namcos21_de.cpp      |  6 ++---
 src/mame/namco/namcos21_dsp.cpp     | 32 ++++++++++++-------------
 src/mame/namco/namcos21_dsp_c67.cpp | 37 ++++++++++++++---------------
 6 files changed, 59 insertions(+), 72 deletions(-)

diff --git a/src/mame/namco/namcos21.cpp b/src/mame/namco/namcos21.cpp
index 9f28c95aa5564..427ab67529a60 100644
--- a/src/mame/namco/namcos21.cpp
+++ b/src/mame/namco/namcos21.cpp
@@ -416,7 +416,7 @@ uint16_t namcos21_state::winrun_gpu_color_r()
 
 void namcos21_state::winrun_gpu_color_w(offs_t offset, uint16_t data, uint16_t mem_mask)
 {
-	COMBINE_DATA( &m_winrun_color );
+	COMBINE_DATA(&m_winrun_color);
 }
 
 uint16_t namcos21_state::winrun_gpu_register_r(offs_t offset)
@@ -426,28 +426,28 @@ uint16_t namcos21_state::winrun_gpu_register_r(offs_t offset)
 
 void namcos21_state::winrun_gpu_register_w(offs_t offset, uint16_t data, uint16_t mem_mask)
 {
-	COMBINE_DATA( &m_winrun_gpu_register[offset] );
+	COMBINE_DATA(&m_winrun_gpu_register[offset]);
 	m_screen->update_partial(m_screen->vpos());
 }
 
 void namcos21_state::winrun_gpu_videoram_w(offs_t offset, uint16_t data)
 {
-	uint8_t color = data>>8;
-	uint8_t mask  = data&0xff;
+	uint8_t color = data >> 8;
+	uint8_t mask  = data & 0xff;
 
 	for (int i=0; i<8; i++)
 	{
 		if (BIT(mask, i))
 		{
-			m_gpu_videoram[(offset+i)&0x7ffff] = color;
-			m_gpu_maskram[(offset+i)&0x7ffff] = mask;
+			m_gpu_videoram[(offset+i) & 0x7ffff] = color;
+			m_gpu_maskram[(offset+i) & 0x7ffff] = mask;
 		}
 	}
 }
 
 uint16_t namcos21_state::winrun_gpu_videoram_r(offs_t offset)
 {
-	return (m_gpu_videoram[offset]<<8) | m_gpu_maskram[offset];
+	return (m_gpu_videoram[offset] << 8) | m_gpu_maskram[offset];
 }
 
 void namcos21_state::winrun_bitmap_draw(bitmap_ind16 &bitmap, const rectangle &cliprect)
@@ -457,18 +457,15 @@ void namcos21_state::winrun_bitmap_draw(bitmap_ind16 &bitmap, const rectangle &c
 
 	int const yscroll = -cliprect.top() + (int16_t)m_winrun_gpu_register[0x2/2];
 	int const xscroll = 0; //m_winrun_gpu_register[0xc/2] >> 7;
-	int const base = 0x1000 + 0x100 * (m_winrun_color&0xf);
-
+	int const base = 0x1000 + 0x100 * (m_winrun_color & 0xf);
 	for (int sy=cliprect.top(); sy<=cliprect.bottom(); sy++)
 	{
 		uint8_t const *const pSource = &videoram[((yscroll+sy) & 0x3ff) * 0x200];
 		uint16_t *const pDest = &bitmap.pix(sy);
-
 		for (int sx=cliprect.left(); sx<=cliprect.right(); sx++)
 		{
 			int const pen = pSource[(sx+xscroll) & 0x1ff];
-
-			switch( pen )
+			switch (pen)
 			{
 			case 0xff:
 				break;
@@ -490,12 +487,11 @@ void namcos21_state::winrun_bitmap_draw(bitmap_ind16 &bitmap, const rectangle &c
 
 uint32_t namcos21_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
 {
-	bitmap.fill(0xff, cliprect );
+	bitmap.fill(0xff, cliprect);
 
 	m_namcos21_3d->copy_visible_poly_framebuffer(bitmap, cliprect, 0x7fc0, 0x7ffe);
 	m_namcos21_3d->copy_visible_poly_framebuffer(bitmap, cliprect, 0, 0x7fbf);
-
-	winrun_bitmap_draw(bitmap,cliprect);
+	winrun_bitmap_draw(bitmap, cliprect);
 
 	//popmessage("%04x %04x %04x|%04x %04x",m_winrun_gpu_register[0],m_winrun_gpu_register[2/2],m_winrun_gpu_register[4/2],m_winrun_gpu_register[0xa/2],m_winrun_gpu_register[0xc/2]);
 
@@ -511,10 +507,10 @@ uint32_t namcos21_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
 
 [[maybe_unused]] void namcos21_state::video_enable_w(offs_t offset, uint16_t data, uint16_t mem_mask)
 {
-	COMBINE_DATA( &m_video_enable ); /* 0x40 = enable */
+	COMBINE_DATA(&m_video_enable); /* 0x40 = enable */
 
 	if (m_video_enable!=0 && m_video_enable!=0x40)
-		logerror( "unexpected video_enable_w=0x%x\n", m_video_enable );
+		logerror("unexpected video_enable_w=0x%x\n", m_video_enable);
 }
 
 /***********************************************************/
@@ -528,9 +524,9 @@ uint16_t namcos21_state::dpram_word_r(offs_t offset)
 
 void namcos21_state::dpram_word_w(offs_t offset, uint16_t data, uint16_t mem_mask)
 {
-	if( ACCESSING_BITS_0_7 )
+	if (ACCESSING_BITS_0_7)
 	{
-		m_dpram[offset] = data&0xff;
+		m_dpram[offset] = data & 0xff;
 	}
 }
 
@@ -635,7 +631,6 @@ void namcos21_state::c140_map(address_map &map)
 void namcos21_state::configure_c65_namcos21(machine_config &config)
 {
 	NAMCOC65(config, m_c65, 2048000);
-
 	m_c65->in_pb_callback().set_ioport("MCUB");
 	m_c65->in_pc_callback().set_ioport("MCUC");
 	m_c65->in_ph_callback().set_ioport("MCUH");
diff --git a/src/mame/namco/namcos21_3d.cpp b/src/mame/namco/namcos21_3d.cpp
index fe0115c7d6bad..d45df7191cb61 100644
--- a/src/mame/namco/namcos21_3d.cpp
+++ b/src/mame/namco/namcos21_3d.cpp
@@ -31,7 +31,7 @@ void namcos21_3d_device::device_reset()
 
 void namcos21_3d_device::allocate_poly_framebuffer()
 {
-	unsigned framebuffer_size = m_poly_frame_width*m_poly_frame_height;
+	unsigned framebuffer_size = m_poly_frame_width * m_poly_frame_height;
 
 	if (framebuffer_size == 0)
 		fatalerror("framebuffer_size == 0\n");
@@ -71,15 +71,12 @@ void namcos21_3d_device::copy_visible_poly_framebuffer(bitmap_ind16 &bitmap, con
 		uint16_t *const dest = &bitmap.pix(sy);
 		uint16_t const *const pPen = m_mpPolyFrameBufferPens2.get() + m_poly_frame_width * sy;
 		uint16_t const *const pZ = m_mpPolyFrameBufferZ2.get() + m_poly_frame_width * sy;
-
 		for (int sx = clip.left(); sx <= clip.right(); sx++)
 		{
 			int z = pZ[sx];
 			//if( pZ[sx]!=0x7fff )
 			if (z >= zlo && z <= zhi)
-			{
 				dest[sx] = pPen[sx];
-			}
 		}
 	}
 }
@@ -112,7 +109,6 @@ void namcos21_3d_device::renderscanline_flat(const edge *e1, const edge *e2, uns
 
 	uint16_t *pDest = m_mpPolyFrameBufferPens.get() + sy * m_poly_frame_width;
 	uint16_t *pZBuf = m_mpPolyFrameBufferZ.get() + sy * m_poly_frame_width;
-
 	for (int x = x0; x < x1; x++)
 	{
 		uint16_t zz = (uint16_t)z;
@@ -123,7 +119,7 @@ void namcos21_3d_device::renderscanline_flat(const edge *e1, const edge *e2, uns
 
 			if (depthcueenable && zz > 0)
 			{
-				const unsigned depth = (zz >> m_zz_shift)*m_zzmult;
+				const unsigned depth = (zz >> m_zz_shift) * m_zzmult;
 
 				if (m_depth_reverse)
 					pen += depth;
@@ -170,7 +166,6 @@ void namcos21_3d_device::rendertri(const n21_vertex *v0, const n21_vertex *v1, c
 
 		e2.x = v0->x;
 		e2.z = v0->z;
-
 		if (ystart < 0)
 		{
 			e2.x += dx2dy * -ystart;
@@ -213,9 +208,7 @@ void namcos21_3d_device::rendertri(const n21_vertex *v0, const n21_vertex *v1, c
 				e1.x += dx1dy;
 				e1.z += dz1dy;
 			}
-
 		}
-
 	}
 }
 
@@ -238,7 +231,7 @@ void namcos21_3d_device::draw_quad(int sx[4], int sy[4], int zcode[4], unsigned
 	else
 	{ /* map color code to hardware pen */
 		unsigned code = color >> 8;
-		if (code & 0x80)
+		if (BIT(code, 7))
 		{
 			color = 0x2100 | (color & 0xff);
 			// color = 0x3e00|color;
@@ -248,7 +241,7 @@ void namcos21_3d_device::draw_quad(int sx[4], int sy[4], int zcode[4], unsigned
 		{
 			color = 0x3e00 | (color & 0xff);
 
-			if ((code & 0x02) == 0)
+			if (!BIT(code, 1))
 				color |= 0x100;
 		}
 	}
diff --git a/src/mame/namco/namcos21_c67.cpp b/src/mame/namco/namcos21_c67.cpp
index 87ecdc204eca9..5fcce0f743dd4 100644
--- a/src/mame/namco/namcos21_c67.cpp
+++ b/src/mame/namco/namcos21_c67.cpp
@@ -400,10 +400,10 @@ uint16_t namcos21_c67_state::video_enable_r()
 
 void namcos21_c67_state::video_enable_w(offs_t offset, uint16_t data, uint16_t mem_mask)
 {
-	COMBINE_DATA( &m_video_enable ); /* 0x40 = enable */
+	COMBINE_DATA(&m_video_enable); /* 0x40 = enable */
 
 	if (m_video_enable!=0 && m_video_enable!=0x40)
-		logerror( "unexpected video_enable_w=0x%x\n", m_video_enable );
+		logerror("unexpected video_enable_w=0x%x\n", m_video_enable);
 }
 
 /***********************************************************/
@@ -417,7 +417,7 @@ uint16_t namcos21_c67_state::dpram_word_r(offs_t offset)
 
 void namcos21_c67_state::dpram_word_w(offs_t offset, uint16_t data, uint16_t mem_mask)
 {
-	if( ACCESSING_BITS_0_7 )
+	if (ACCESSING_BITS_0_7 )
 	{
 		m_dpram[offset] = data&0xff;
 	}
diff --git a/src/mame/namco/namcos21_de.cpp b/src/mame/namco/namcos21_de.cpp
index 5c36c817b3b93..a0cacbecdc2ad 100644
--- a/src/mame/namco/namcos21_de.cpp
+++ b/src/mame/namco/namcos21_de.cpp
@@ -249,10 +249,10 @@ uint16_t namco_de_pcbstack_device::video_enable_r()
 
 void namco_de_pcbstack_device::video_enable_w(offs_t offset, uint16_t data, uint16_t mem_mask)
 {
-	COMBINE_DATA( &m_video_enable ); /* 0x40 = enable */
+	COMBINE_DATA(&m_video_enable); /* 0x40 = enable */
 
 	if (m_video_enable!=0 && m_video_enable!=0x40)
-		logerror( "unexpected video_enable_w=0x%x\n", m_video_enable);
+		logerror("unexpected video_enable_w=0x%x\n", m_video_enable);
 }
 
 /***********************************************************/
@@ -382,7 +382,7 @@ void namco_de_pcbstack_device::driveyes_slave_map(address_map &map)
 
 void namco_de_pcbstack_device::sound_bankselect_w(uint8_t data)
 {
-	m_audiobank->set_entry(data>>4);
+	m_audiobank->set_entry(data >> 4);
 }
 
 void namco_de_pcbstack_device::sound_reset_w(uint8_t data)
diff --git a/src/mame/namco/namcos21_dsp.cpp b/src/mame/namco/namcos21_dsp.cpp
index 9bd2832a8f961..c5efe3b968eb9 100644
--- a/src/mame/namco/namcos21_dsp.cpp
+++ b/src/mame/namco/namcos21_dsp.cpp
@@ -62,20 +62,20 @@ void namcos21_dsp_device::device_reset()
 	m_suspend_timer->adjust(attotime::zero);
 }
 
-
 uint16_t namcos21_dsp_device::winrun_dspcomram_r(offs_t offset)
 {
-	unsigned bank = !BIT(m_winrun_dspcomram_control[0x4/2], 0);
+	unsigned bank = BIT(~m_winrun_dspcomram_control[0x4/2], 0);
 	uint16_t *mem = &m_winrun_dspcomram[0x1000 * bank];
 
 	return mem[offset];
 }
+
 void namcos21_dsp_device::winrun_dspcomram_w(offs_t offset, uint16_t data, uint16_t mem_mask)
 {
-	unsigned bank = !BIT(m_winrun_dspcomram_control[0x4/2], 0);
+	unsigned bank = BIT(~m_winrun_dspcomram_control[0x4/2], 0);
 	uint16_t *mem = &m_winrun_dspcomram[0x1000 * bank];
 
-	COMBINE_DATA( &mem[offset] );
+	COMBINE_DATA(&mem[offset]);
 }
 
 uint16_t namcos21_dsp_device::winrun_cuskey_r()
@@ -121,7 +121,7 @@ void namcos21_dsp_device::winrun_flush_poly()
 			zcode[j] = *pSource++;
 		}
 
-		m_renderer->draw_quad(sx, sy, zcode, color&0x7fff);
+		m_renderer->draw_quad(sx, sy, zcode, color & 0x7fff);
 	}
 	else
 	{
@@ -135,12 +135,12 @@ void namcos21_dsp_device::winrun_flush_poly()
 			for (int j=0; j<4; j++)
 			{
 				uint8_t vi = m_pointram[quad_idx++];
-				sx[j] = m_poly_frame_width/2  + (int16_t)pSource[vi*3+0];
-				sy[j] = m_poly_frame_height/2 + (int16_t)pSource[vi*3+1];
-				zcode[j] = pSource[vi*3+2];
+				sx[j] = m_poly_frame_width/2  + (int16_t)pSource[vi*3 + 0];
+				sy[j] = m_poly_frame_height/2 + (int16_t)pSource[vi*3 + 1];
+				zcode[j] = pSource[vi*3 + 2];
 			}
 
-			m_renderer->draw_quad(sx, sy, zcode, color&0x7fff);
+			m_renderer->draw_quad(sx, sy, zcode, color & 0x7fff);
 		} while (!BIT(code, 7)); //Reached end-of-quadlist marker?
 	}
 
@@ -158,12 +158,12 @@ void namcos21_dsp_device::winrun_dsp_render_w(uint16_t data)
 	if (m_winrun_poly_index<WINRUN_MAX_POLY_PARAM)
 		m_winrun_poly_buf[m_winrun_poly_index++] = data;
 	else
-		logerror( "WINRUN_POLY_OVERFLOW\n" );
+		logerror("WINRUN_POLY_OVERFLOW\n");
 }
 
 void namcos21_dsp_device::winrun_dsp_pointrom_addr_w(offs_t offset, uint16_t data)
 {
-	if( offset==0 )
+	if(offset==0)
 	{ /* port 8 */
 		m_winrun_pointrom_addr = data;
 	}
@@ -195,7 +195,7 @@ uint16_t namcos21_dsp_device::winrun_table_r(offs_t offset)
 
 void namcos21_dsp_device::winrun_dspbios_w(offs_t offset, uint16_t data, uint16_t mem_mask)
 {
-	COMBINE_DATA( &m_winrun_dspbios[offset] );
+	COMBINE_DATA(&m_winrun_dspbios[offset]);
 
 	if (offset==0xfff) // is this the real trigger?
 	{
@@ -222,7 +222,7 @@ void namcos21_dsp_device::winrun_68k_dspcomram_w(offs_t offset, uint16_t data, u
 	unsigned bank = BIT(m_winrun_dspcomram_control[0x4/2], 0);
 	uint16_t *mem = &m_winrun_dspcomram[0x1000*bank];
 
-	COMBINE_DATA( &mem[offset] );
+	COMBINE_DATA(&mem[offset]);
 }
 
 uint16_t namcos21_dsp_device::winrun_dspcomram_control_r(offs_t offset)
@@ -232,7 +232,7 @@ uint16_t namcos21_dsp_device::winrun_dspcomram_control_r(offs_t offset)
 
 void namcos21_dsp_device::winrun_dspcomram_control_w(offs_t offset, uint16_t data, uint16_t mem_mask)
 {
-	COMBINE_DATA( &m_winrun_dspcomram_control[offset] );
+	COMBINE_DATA(&m_winrun_dspcomram_control[offset]);
 }
 
 
@@ -273,7 +273,7 @@ void namcos21_dsp_device::device_add_mconfig(machine_config &config)
 
 void namcos21_dsp_device::pointram_control_w(offs_t offset, uint16_t data, uint16_t mem_mask)
 {
-	COMBINE_DATA( &m_pointram_control );
+	COMBINE_DATA(&m_pointram_control);
 	m_pointram_idx = 0; /* HACK */
 }
 
@@ -287,6 +287,6 @@ void namcos21_dsp_device::pointram_data_w(offs_t offset, uint16_t data, uint16_t
 	if (ACCESSING_BITS_0_7)
 	{
 		m_pointram[m_pointram_idx++] = data;
-		m_pointram_idx &= (PTRAM_SIZE-1);
+		m_pointram_idx &= (PTRAM_SIZE - 1);
 	}
 }
diff --git a/src/mame/namco/namcos21_dsp_c67.cpp b/src/mame/namco/namcos21_dsp_c67.cpp
index d10980e995ca5..45063cefbf940 100644
--- a/src/mame/namco/namcos21_dsp_c67.cpp
+++ b/src/mame/namco/namcos21_dsp_c67.cpp
@@ -165,7 +165,7 @@ uint16_t namcos21_dsp_c67_device::dspcuskey_r()
 		case 0x8067: result = 0xffff; break;
 		case 0x806e: result = 0x0145; break;
 		default:
-			logerror( "unk cuskey_r; pc=0x%x\n", m_c67master->pc() );
+			logerror("unk cuskey_r; pc=0x%x\n", m_c67master->pc());
 			break;
 		}
 	}
@@ -207,7 +207,7 @@ void namcos21_dsp_c67_device::transmit_word_to_slave(uint16_t data)
 	m_mpDspState->slaveActive = 1;
 
 	if (m_mpDspState->slaveBytesAvailable >= DSP_BUF_MAX)
-		fatalerror( "IDC overflow\n" );
+		fatalerror("IDC overflow\n");
 }
 
 void namcos21_dsp_c67_device::transfer_dsp_data()
@@ -376,7 +376,7 @@ uint16_t namcos21_dsp_c67_device::read_word_from_slave_input()
 			m_mpDspState->slaveBytesAdvertised--;
 
 		if (ENABLE_LOGGING)
-			logerror( "%s:-%04x(0x%04x)\n", machine().describe_context(), data, m_mpDspState->slaveBytesAvailable );
+			logerror("%s:-%04x(0x%04x)\n", machine().describe_context(), data, m_mpDspState->slaveBytesAvailable);
 	}
 
 	return data;
@@ -584,7 +584,7 @@ void namcos21_dsp_c67_device::dsp_portc_w(uint16_t data)
 	}
 	else
 	{
-		logerror( "portc overflow\n" );
+		logerror("portc overflow\n");
 	}
 }
 
@@ -650,33 +650,32 @@ void namcos21_dsp_c67_device::render_slave_output(uint16_t data)
 
 			for(int j=0; j<4; j++)
 			{
-				sx[j] = m_poly_frame_width/2 + (int16_t)pSource[3*j+0];
-				sy[j] = m_poly_frame_height/2 + (int16_t)pSource[3*j+1];
-				zcode[j] = pSource[3*j+2];
+				sx[j] = m_poly_frame_width/2 + (int16_t)pSource[j*3 + 0];
+				sy[j] = m_poly_frame_height/2 + (int16_t)pSource[j*3 + 1];
+				zcode[j] = pSource[j*3 + 2];
 			}
 
-			m_renderer->draw_quad(sx, sy, zcode, color&0x7fff);
+			m_renderer->draw_quad(sx, sy, zcode, color & 0x7fff);
 		}
 		else
 		{
 			uint8_t code;
-			int quad_idx = color*6;
+			int quad_idx = color * 6;
 
 			do
 			{
 				code = m_pointram[quad_idx++];
-				color = m_pointram[quad_idx++] | (code<<8);
+				color = m_pointram[quad_idx++] | (code << 8);
 
 				for(int j=0; j<4; j++)
 				{
 					uint8_t vi = m_pointram[quad_idx++];
-
-					sx[j] = m_poly_frame_width/2  + (int16_t)pSource[vi*3+0];
-					sy[j] = m_poly_frame_height/2 + (int16_t)pSource[vi*3+1];
-					zcode[j] = pSource[vi*3+2];
+					sx[j] = m_poly_frame_width/2  + (int16_t)pSource[vi*3 + 0];
+					sy[j] = m_poly_frame_height/2 + (int16_t)pSource[vi*3 + 1];
+					zcode[j] = pSource[vi*3 + 2];
 				}
 
-				m_renderer->draw_quad(sx, sy, zcode, color&0x7fff);
+				m_renderer->draw_quad(sx, sy, zcode, color & 0x7fff);
 			} while (!BIT(code, 7)); //Reached end-of-quadlist marker?
 		}
 
@@ -684,7 +683,7 @@ void namcos21_dsp_c67_device::render_slave_output(uint16_t data)
 	}
 	else if (count == 0)
 	{
-		fatalerror( "RenderSlaveOutput\n" );
+		fatalerror("RenderSlaveOutput\n");
 	}
 }
 
@@ -766,7 +765,7 @@ void namcos21_dsp_c67_device::slave_dsp_io(address_map &map)
 void namcos21_dsp_c67_device::pointram_control_w(offs_t offset, uint16_t data, uint16_t mem_mask)
 {
 //  uint16_t prev = m_pointram_control;
-	COMBINE_DATA( &m_pointram_control );
+	COMBINE_DATA(&m_pointram_control);
 
 	/* m_pointram_control&0x20 : bank for depthcue data */
 #if 0
@@ -804,12 +803,12 @@ uint16_t namcos21_dsp_c67_device::pointram_data_r()
 
 void namcos21_dsp_c67_device::pointram_data_w(offs_t offset, uint16_t data, uint16_t mem_mask)
 {
-	if( ACCESSING_BITS_0_7 )
+	if (ACCESSING_BITS_0_7)
 	{
 //      if( (m_pointram_idx%6)==0 ) logerror("\n" );
 //      logerror( " %02x", data );
 		m_pointram[m_pointram_idx++] = data;
-		m_pointram_idx &= (PTRAM_SIZE-1);
+		m_pointram_idx &= (PTRAM_SIZE - 1);
 	}
 }
 

From 1b340f3973d3419bf0605f16791b0336c017cb66 Mon Sep 17 00:00:00 2001
From: FlykeSpice <flykespice@gmail.com>
Date: Fri, 12 Jul 2024 19:41:09 -0400
Subject: [PATCH 7/9] Oops, missed a few spots

---
 src/mame/namco/namcos21_dsp.cpp | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/mame/namco/namcos21_dsp.cpp b/src/mame/namco/namcos21_dsp.cpp
index c5efe3b968eb9..e7cb2d34de908 100644
--- a/src/mame/namco/namcos21_dsp.cpp
+++ b/src/mame/namco/namcos21_dsp.cpp
@@ -163,7 +163,7 @@ void namcos21_dsp_device::winrun_dsp_render_w(uint16_t data)
 
 void namcos21_dsp_device::winrun_dsp_pointrom_addr_w(offs_t offset, uint16_t data)
 {
-	if(offset==0)
+	if (offset==0)
 	{ /* port 8 */
 		m_winrun_pointrom_addr = data;
 	}
@@ -261,7 +261,6 @@ void namcos21_dsp_device::winrun_dsp_io(address_map &map)
 void namcos21_dsp_device::device_add_mconfig(machine_config &config)
 {
 	tms32025_device& dsp(TMS32025(config, m_dsp, 24000000*2)); /* 48 MHz? overclocked */
-
 	dsp.set_addrmap(AS_PROGRAM, &namcos21_dsp_device::winrun_dsp_program);
 	dsp.set_addrmap(AS_DATA, &namcos21_dsp_device::winrun_dsp_data);
 	dsp.set_addrmap(AS_IO, &namcos21_dsp_device::winrun_dsp_io);

From 94c1c88c4b4e6cdcc603b3860f292a40310181cc Mon Sep 17 00:00:00 2001
From: FlykeSpice <flykespice@gmail.com>
Date: Mon, 12 Aug 2024 23:42:58 -0400
Subject: [PATCH 8/9] Tidbits

---
 src/mame/namco/namcos21_c67.cpp     | 2 +-
 src/mame/namco/namcos21_de.cpp      | 2 +-
 src/mame/namco/namcos21_dsp_c67.cpp | 2 --
 3 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/mame/namco/namcos21_c67.cpp b/src/mame/namco/namcos21_c67.cpp
index 5fcce0f743dd4..99e4c7a6a94f4 100644
--- a/src/mame/namco/namcos21_c67.cpp
+++ b/src/mame/namco/namcos21_c67.cpp
@@ -371,7 +371,6 @@ class namcos21_c67_state : public driver_device
 uint32_t namcos21_c67_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
 {
 	//uint8_t *videoram = m_gpu_videoram.get();
-	const int pivot = 3;
 
 	bitmap.fill(0xff, cliprect);
 	screen.priority().fill(0, cliprect);
@@ -387,6 +386,7 @@ uint32_t namcos21_c67_state::screen_update(screen_device &screen, bitmap_ind16 &
 	m_namcos21_3d->copy_visible_poly_framebuffer(bitmap, cliprect, 0, 0x7fbf);
 
 	/* draw high priority 2d sprites */
+	const int pivot = 3;
 	for (int pri=pivot; pri<8; pri++)
 		m_c355spr->draw(screen, bitmap, cliprect, pri);
 
diff --git a/src/mame/namco/namcos21_de.cpp b/src/mame/namco/namcos21_de.cpp
index a0cacbecdc2ad..40c13d61aae5e 100644
--- a/src/mame/namco/namcos21_de.cpp
+++ b/src/mame/namco/namcos21_de.cpp
@@ -217,7 +217,6 @@ void namco_de_pcbstack_device::device_add_mconfig(machine_config &config)
 uint32_t namco_de_pcbstack_device::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
 {
 	//uint8_t *videoram = m_gpu_videoram.get();
-	const int pivot = 3;
 
 	bitmap.fill(0xff, cliprect );
 	screen.priority().fill(0, cliprect);
@@ -233,6 +232,7 @@ uint32_t namco_de_pcbstack_device::screen_update(screen_device &screen, bitmap_i
 
 	m_namcos21_3d->copy_visible_poly_framebuffer(bitmap, cliprect, 0, 0x7fbf);
 
+	const int pivot = 3;
 	for (int pri = pivot; pri < 8; pri++)
 		m_c355spr->draw(screen, bitmap, cliprect, pri);
 
diff --git a/src/mame/namco/namcos21_dsp_c67.cpp b/src/mame/namco/namcos21_dsp_c67.cpp
index 45063cefbf940..be9058ff305ec 100644
--- a/src/mame/namco/namcos21_dsp_c67.cpp
+++ b/src/mame/namco/namcos21_dsp_c67.cpp
@@ -278,11 +278,9 @@ void namcos21_dsp_c67_device::transfer_dsp_data()
 
 			int32_t masterAddr = read_pointrom_data(code);
 			uint16_t const len = m_dspram16[addr++];
-
 			while (true)
 			{
 				int subAddr = read_pointrom_data(masterAddr++);
-
 				if (subAddr == 0xffffff)
 					break;
 

From 3a5fc98af2851952d30ae0ad0fbd3f0d80905cc8 Mon Sep 17 00:00:00 2001
From: FlykeSpice <flykespice@gmail.com>
Date: Wed, 20 Nov 2024 21:59:32 -0400
Subject: [PATCH 9/9] Add missing ATTR_COLD to cold startup functions & more
 tidy

---
 src/mame/namco/namcos21.cpp     |  8 ++++----
 src/mame/namco/namcos21_3d.cpp  | 12 ++++++------
 src/mame/namco/namcos21_3d.h    |  8 ++++----
 src/mame/namco/namcos21_c67.cpp | 16 ++++++++--------
 src/mame/namco/namcos21_de.cpp  | 10 +++++-----
 src/mame/namco/namcos21_dsp.cpp |  2 +-
 src/mame/namco/namcos21_dsp.h   |  6 +++---
 7 files changed, 31 insertions(+), 31 deletions(-)

diff --git a/src/mame/namco/namcos21.cpp b/src/mame/namco/namcos21.cpp
index 427ab67529a60..f5dc191915c24 100644
--- a/src/mame/namco/namcos21.cpp
+++ b/src/mame/namco/namcos21.cpp
@@ -325,8 +325,7 @@ class namcos21_state : public driver_device
 		m_namcos21_dsp(*this, "namcos21dsp")
 	{ }
 
-	void configure_c148_standard(machine_config &config);
-	void winrun(machine_config &config);
+	void winrun(machine_config &config) ATTR_COLD;
 
 protected:
 	virtual void machine_start() override ATTR_COLD;
@@ -390,7 +389,8 @@ class namcos21_state : public driver_device
 
 	void winrun_bitmap_draw(bitmap_ind16 &bitmap, const rectangle &cliprect);
 
-	void configure_c65_namcos21(machine_config &config);
+	void configure_c65_namcos21(machine_config &config) ATTR_COLD;
+	void configure_c148_standard(machine_config &config) ATTR_COLD;
 
 	void winrun_master_map(address_map &map) ATTR_COLD;
 	void winrun_slave_map(address_map &map) ATTR_COLD;
@@ -630,7 +630,7 @@ void namcos21_state::c140_map(address_map &map)
 
 void namcos21_state::configure_c65_namcos21(machine_config &config)
 {
-	NAMCOC65(config, m_c65, 2048000);
+	NAMCOC65(config, m_c65, 2'048'000);
 	m_c65->in_pb_callback().set_ioport("MCUB");
 	m_c65->in_pc_callback().set_ioport("MCUC");
 	m_c65->in_ph_callback().set_ioport("MCUH");
diff --git a/src/mame/namco/namcos21_3d.cpp b/src/mame/namco/namcos21_3d.cpp
index d45df7191cb61..6f98e2c81f1ea 100644
--- a/src/mame/namco/namcos21_3d.cpp
+++ b/src/mame/namco/namcos21_3d.cpp
@@ -83,7 +83,7 @@ void namcos21_3d_device::copy_visible_poly_framebuffer(bitmap_ind16 &bitmap, con
 
 /*********************************************************************************************/
 
-void namcos21_3d_device::renderscanline_flat(const edge *e1, const edge *e2, unsigned sy, unsigned color, bool depthcueenable)
+void namcos21_3d_device::renderscanline_flat(const edge *e1, const edge *e2, unsigned sy, uint16_t color, bool depthcueenable)
 {
 	if (e1->x > e2->x)
 		std::swap(e1, e2);
@@ -115,11 +115,11 @@ void namcos21_3d_device::renderscanline_flat(const edge *e1, const edge *e2, uns
 
 		if (zz < pZBuf[x])
 		{
-			unsigned pen = color;
+			uint16_t pen = color;
 
 			if (depthcueenable && zz > 0)
 			{
-				const unsigned depth = (zz >> m_zz_shift) * m_zzmult;
+				const uint16_t depth = (zz >> m_zz_shift) * m_zzmult;
 
 				if (m_depth_reverse)
 					pen += depth;
@@ -135,7 +135,7 @@ void namcos21_3d_device::renderscanline_flat(const edge *e1, const edge *e2, uns
 	}
 }
 
-void namcos21_3d_device::rendertri(const n21_vertex *v0, const n21_vertex *v1, const n21_vertex *v2, unsigned color, bool depthcueenable)
+void namcos21_3d_device::rendertri(const n21_vertex *v0, const n21_vertex *v1, const n21_vertex *v2, uint16_t color, bool depthcueenable)
 {
 	/* first, sort so that v0->y <= v1->y <= v2->y */
 	{
@@ -212,7 +212,7 @@ void namcos21_3d_device::rendertri(const n21_vertex *v0, const n21_vertex *v1, c
 	}
 }
 
-void namcos21_3d_device::draw_quad(int sx[4], int sy[4], int zcode[4], unsigned color)
+void namcos21_3d_device::draw_quad(int sx[4], int sy[4], int zcode[4], uint16_t color)
 {
 	bool depthcueenable = true;
 	/*
@@ -230,7 +230,7 @@ void namcos21_3d_device::draw_quad(int sx[4], int sy[4], int zcode[4], unsigned
 	}
 	else
 	{ /* map color code to hardware pen */
-		unsigned code = color >> 8;
+		uint8_t code = color >> 8;
 		if (BIT(code, 7))
 		{
 			color = 0x2100 | (color & 0xff);
diff --git a/src/mame/namco/namcos21_3d.h b/src/mame/namco/namcos21_3d.h
index b3400b9a10bec..53f6b7bad1b46 100644
--- a/src/mame/namco/namcos21_3d.h
+++ b/src/mame/namco/namcos21_3d.h
@@ -27,7 +27,7 @@ class namcos21_3d_device : public device_t
 	void copy_visible_poly_framebuffer(bitmap_ind16 &bitmap, const rectangle &clip, int zlo, int zhi);
 	void swap_and_clear_poly_framebuffer();
 
-	void draw_quad(int sx[4], int sy[4], int zcode[4], unsigned color);
+	void draw_quad(int sx[4], int sy[4], int zcode[4], uint16_t color);
 
 protected:
 	// device-level overrides
@@ -47,9 +47,9 @@ class namcos21_3d_device : public device_t
 		double z;
 	};
 
-	void renderscanline_flat(const edge *e1, const edge *e2, unsigned sy, unsigned color, bool depthcueenable);
-	void rendertri(const n21_vertex *v0, const n21_vertex *v1, const n21_vertex *v2, unsigned color, bool depthcueenable);
-	void allocate_poly_framebuffer();
+	void renderscanline_flat(const edge *e1, const edge *e2, unsigned sy, uint16_t color, bool depthcueenable);
+	void rendertri(const n21_vertex *v0, const n21_vertex *v1, const n21_vertex *v2, uint16_t color, bool depthcueenable);
+	void allocate_poly_framebuffer() ATTR_COLD;
 
 	std::unique_ptr<uint16_t[]> m_mpPolyFrameBufferPens;
 	std::unique_ptr<uint16_t[]> m_mpPolyFrameBufferZ;
diff --git a/src/mame/namco/namcos21_c67.cpp b/src/mame/namco/namcos21_c67.cpp
index 99e4c7a6a94f4..cbb4f494ed24d 100644
--- a/src/mame/namco/namcos21_c67.cpp
+++ b/src/mame/namco/namcos21_c67.cpp
@@ -299,14 +299,13 @@ class namcos21_c67_state : public driver_device
 		m_namcos21_dsp_c67(*this, "namcos21dsp_c67")
 	{ }
 
-	void configure_c148_standard(machine_config &config);
-	void namcos21(machine_config &config);
-	void cybsled(machine_config &config);
-	void solvalou(machine_config &config);
-	void aircomb(machine_config &config);
-	void starblad(machine_config &config);
+	void namcos21(machine_config &config) ATTR_COLD;
+	void cybsled(machine_config &config) ATTR_COLD;
+	void solvalou(machine_config &config) ATTR_COLD;
+	void aircomb(machine_config &config) ATTR_COLD;
+	void starblad(machine_config &config) ATTR_COLD;
 
-	void init_solvalou();
+	void init_solvalou() ATTR_COLD;
 
 protected:
 	virtual void machine_start() override ATTR_COLD;
@@ -357,7 +356,8 @@ class namcos21_c67_state : public driver_device
 
 	uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
 
-	void configure_c68_namcos21(machine_config &config);
+	void configure_c68_namcos21(machine_config &config) ATTR_COLD;
+	void configure_c148_standard(machine_config &config) ATTR_COLD;
 
 	void common_map(address_map &map) ATTR_COLD;
 	void master_map(address_map &map) ATTR_COLD;
diff --git a/src/mame/namco/namcos21_de.cpp b/src/mame/namco/namcos21_de.cpp
index 40c13d61aae5e..004dfa237b6b2 100644
--- a/src/mame/namco/namcos21_de.cpp
+++ b/src/mame/namco/namcos21_de.cpp
@@ -60,7 +60,6 @@ class namco_de_pcbstack_device : public device_t
 	// construction/destruction
 	namco_de_pcbstack_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
 
-	void configure_c148_standard(machine_config &config);
 
 protected:
 	virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
@@ -114,7 +113,8 @@ class namco_de_pcbstack_device : public device_t
 
 	uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
 
-	void configure_c68_namcos21(machine_config &config);
+	void configure_c68_namcos21(machine_config &config) ATTR_COLD;
+	void configure_c148_standard(machine_config &config) ATTR_COLD;
 
 	void driveyes_common_map(address_map &map) ATTR_COLD;
 	void driveyes_master_map(address_map &map) ATTR_COLD;
@@ -162,7 +162,7 @@ void namco_de_pcbstack_device::device_add_mconfig(machine_config &config)
 	M68000(config, m_slave, 49.152_MHz_XTAL / 4); /* Slave */
 	m_slave->set_addrmap(AS_PROGRAM, &namco_de_pcbstack_device::driveyes_slave_map);
 
-	MC6809E(config, m_audiocpu, 3072000); /* Sound */
+	MC6809E(config, m_audiocpu, 3'072'000); /* Sound */
 	m_audiocpu->set_addrmap(AS_PROGRAM, &namco_de_pcbstack_device::sound_map);
 	m_audiocpu->set_periodic_int(FUNC(namco_de_pcbstack_device::irq0_line_hold), attotime::from_hz(2*60));
 
@@ -218,7 +218,7 @@ uint32_t namco_de_pcbstack_device::screen_update(screen_device &screen, bitmap_i
 {
 	//uint8_t *videoram = m_gpu_videoram.get();
 
-	bitmap.fill(0xff, cliprect );
+	bitmap.fill(0xff, cliprect);
 	screen.priority().fill(0, cliprect);
 
 	m_c355spr->build_sprite_list_and_render_sprites(cliprect); // TODO : buffered?
@@ -315,7 +315,7 @@ void namco_de_pcbstack_device::c140_map(address_map &map)
 
 void namco_de_pcbstack_device::configure_c68_namcos21(machine_config &config)
 {
-	NAMCOC68(config, m_c68, 8000000);
+	NAMCOC68(config, m_c68, 8'000'000);
 	m_c68->in_pb_callback().set_ioport("MCUB");
 	m_c68->in_pc_callback().set_ioport("MCUC");
 	m_c68->in_ph_callback().set_ioport("MCUH");
diff --git a/src/mame/namco/namcos21_dsp.cpp b/src/mame/namco/namcos21_dsp.cpp
index e7cb2d34de908..414433bb026a0 100644
--- a/src/mame/namco/namcos21_dsp.cpp
+++ b/src/mame/namco/namcos21_dsp.cpp
@@ -260,7 +260,7 @@ void namcos21_dsp_device::winrun_dsp_io(address_map &map)
 
 void namcos21_dsp_device::device_add_mconfig(machine_config &config)
 {
-	tms32025_device& dsp(TMS32025(config, m_dsp, 24000000*2)); /* 48 MHz? overclocked */
+	tms32025_device& dsp(TMS32025(config, m_dsp, 24'000'000*2)); /* 48 MHz? overclocked */
 	dsp.set_addrmap(AS_PROGRAM, &namcos21_dsp_device::winrun_dsp_program);
 	dsp.set_addrmap(AS_DATA, &namcos21_dsp_device::winrun_dsp_data);
 	dsp.set_addrmap(AS_IO, &namcos21_dsp_device::winrun_dsp_io);
diff --git a/src/mame/namco/namcos21_dsp.h b/src/mame/namco/namcos21_dsp.h
index 7028f3cc09585..7cc176ae14043 100644
--- a/src/mame/namco/namcos21_dsp.h
+++ b/src/mame/namco/namcos21_dsp.h
@@ -8,13 +8,13 @@
 #include "cpu/tms32025/tms32025.h"
 #include "namcos21_3d.h"
 
-#define WINRUN_MAX_POLY_PARAM (1+256*3)
-
-#define PTRAM_SIZE 0x20000
 
 class namcos21_dsp_device : public device_t
 {
 public:
+	static constexpr unsigned PTRAM_SIZE = 0x20000;
+	static constexpr unsigned WINRUN_MAX_POLY_PARAM = 1*256*3;
+
 	namcos21_dsp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
 
 	// config