summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/unsp
diff options
context:
space:
mode:
author David Haywood <28625134+DavidHaywood@users.noreply.github.com>2020-01-11 16:48:23 +0000
committer ajrhacker <ajrhacker@users.noreply.github.com>2020-01-11 11:48:23 -0500
commite9d61d68cda9bd9e253762b23185cb2694d92403 (patch)
treeaeaeead1116be656d7afdd5fed9be35a9e13df42 /src/devices/cpu/unsp
parent0c783d89f126310fea85913384453ea52d9460c1 (diff)
new NOT WORKING (plug and play systems) (#6156)
* new NOT WORKING ---- 4 Player System - 10 in 1 [Sean Riddle, David Haywood] boots, several of the games are fully playable without sound, several have significant issues, helps provide evidence tho. * new NOT WORKING ---- Excite Bowling (Japan) [Sean Riddle, Peter Wilhelmsen] * a few sunplus bits (nw) * get y-flip out of the way (nw) * sunplus stuff (nw) * new NOT WORKING --- Exciting Stadium DX (Japan) [Sean Ruddle, Peter Wilhelmsen, ShouTime] * note updates (nw) * exciting -> excite (nw) * sunplus (nw) * sunplus improved logging (nw) * (nw) * notes based on other sunplus types (nw) * notes (nw) * (nw) * naming imrpovements (nw) * naming improvments (nw)
Diffstat (limited to 'src/devices/cpu/unsp')
-rw-r--r--src/devices/cpu/unsp/unsp_fxxx.cpp50
1 files changed, 46 insertions, 4 deletions
diff --git a/src/devices/cpu/unsp/unsp_fxxx.cpp b/src/devices/cpu/unsp/unsp_fxxx.cpp
index 8a62d05476b..eed523c5568 100644
--- a/src/devices/cpu/unsp/unsp_fxxx.cpp
+++ b/src/devices/cpu/unsp/unsp_fxxx.cpp
@@ -102,13 +102,55 @@ inline void unsp_device::execute_fxxx_001_group(uint16_t op)
if (d)
{
- logerror("%s ds:[%04x],%d\n", bitops[bitop], imm16, offset);
- unimplemented_opcode(op);
+ switch (bitop)
+ {
+ case 0x0: // tstb
+ logerror("tstb ds:[%04x],%d\n", imm16, offset);
+ unimplemented_opcode(op);
+ break;
+
+ case 0x1: // setb
+ logerror("setb ds:[%04x],%d\n", imm16, offset);
+ unimplemented_opcode(op);
+ break;
+
+ case 0x2: // clrb
+ logerror("clrb ds:[%04x],%d\n", imm16, offset);
+ unimplemented_opcode(op);
+ break;
+
+ case 0x3: // invb
+ logerror("invb ds:[%04x],%d\n", imm16, offset);
+ unimplemented_opcode(op);
+ break;
+ }
}
else
{
- logerror("%s [%04x],%d\n", bitops[bitop], imm16, offset);
- unimplemented_opcode(op);
+ switch (bitop)
+ {
+ case 0x0: // tstb
+ logerror("tstb [%04x],%d\n", imm16, offset);
+ unimplemented_opcode(op);
+ break;
+
+ case 0x1: // setb (bkrankp uses this)
+ {
+ uint16_t temp = read16(imm16);
+ temp |= (1 << offset);
+ write16(imm16, temp);
+ break;
+ }
+ case 0x2: // clrb
+ logerror("clrb [%04x],%d\n", imm16, offset);
+ unimplemented_opcode(op);
+ break;
+
+ case 0x3: // invb
+ logerror("invb [%04x],%d\n", imm16, offset);
+ unimplemented_opcode(op);
+ break;
+ }
}
return;