diff options
author | 2020-01-11 16:48:23 +0000 | |
---|---|---|
committer | 2020-01-11 11:48:23 -0500 | |
commit | e9d61d68cda9bd9e253762b23185cb2694d92403 (patch) | |
tree | aeaeead1116be656d7afdd5fed9be35a9e13df42 /src/devices/cpu/unsp | |
parent | 0c783d89f126310fea85913384453ea52d9460c1 (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.cpp | 50 |
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; |