summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/devices/cpu/tms1000/tms0980.cpp2
-rw-r--r--src/devices/cpu/tms1000/tms1100.h18
-rw-r--r--src/devices/cpu/tms1000/tms1400.cpp8
-rw-r--r--src/mame/handheld/hh_tms1k.cpp10
4 files changed, 22 insertions, 16 deletions
diff --git a/src/devices/cpu/tms1000/tms0980.cpp b/src/devices/cpu/tms1000/tms0980.cpp
index 5ebc720a6f7..664adb877ed 100644
--- a/src/devices/cpu/tms1000/tms0980.cpp
+++ b/src/devices/cpu/tms1000/tms0980.cpp
@@ -163,7 +163,7 @@ void tms0980_cpu_device::read_opcode()
{
debugger_instruction_hook(m_rom_address);
m_opcode = m_program->read_word(m_rom_address) & 0x1ff;
- m_c4 = bitswap<8>(m_opcode,7,6,5,4,0,1,2,3) & 0xf; // opcode operand is bitswapped for most opcodes
+ m_c4 = bitswap<4>(m_opcode,0,1,2,3); // opcode operand is bitswapped for most opcodes
m_fixed = m_fixed_decode[m_opcode];
m_micro = read_micro();
diff --git a/src/devices/cpu/tms1000/tms1100.h b/src/devices/cpu/tms1000/tms1100.h
index 3855a3958b4..4121a25f64e 100644
--- a/src/devices/cpu/tms1000/tms1100.h
+++ b/src/devices/cpu/tms1000/tms1100.h
@@ -43,15 +43,15 @@
K1 7 | | 34 R5
K2 8 | | 33 R4
K4 9 | | 32 R3
- K8 10 | TMS1300 | 31 R1
- INIT 11 | | 30 R0
- O7 12 | | 29 Vss
- NC 13 | | 28 OSC2
- NC 14 | | 27 OSC1
- NC 15 | | 26 O0
- O6 16 | | 25 O1
- O5 17 | | 24 O2
- O4 18 | | 23 NC
+ K8 10 | TMS1300 | 31 R2
+ INIT 11 | TMS1370 | 30 R1
+ O7 12 | | 29 R0
+ NC 13 | | 28 Vss
+ NC 14 | | 27 OSC2
+ NC 15 | | 26 OSC1
+ O6 16 | | 25 O0
+ O5 17 | | 24 O1
+ O4 18 | | 23 O2
O3 19 | | 22 NC
NC 20 |___________| 21 NC
diff --git a/src/devices/cpu/tms1000/tms1400.cpp b/src/devices/cpu/tms1000/tms1400.cpp
index 26f7a612d05..64eb906a2d1 100644
--- a/src/devices/cpu/tms1000/tms1400.cpp
+++ b/src/devices/cpu/tms1000/tms1400.cpp
@@ -5,12 +5,14 @@
TMS1000 family - TMS1400, TMS1470, TMS1475, TMS1600, TMS1670
TMS1400 follows the TMS1100, it doubles the ROM size again (4 chapters of 16 pages), and adds a 3-level callstack
-- rotate the view and mirror the OR-mask to get the proper layout of the mpla, the default is identical to tms1100
+- rotate the view and mirror the OR-mask to get the proper layout of the mpla, the default is identical to TMS1100
- the opla size is increased from 20 to 32 terms
+TMS1475 adds more R pins (indexed from X MSB)
+- opla OR order appears to be flipped: O7-O0
+
TMS1600 adds more I/O to the TMS1400, input pins are doubled with added L1,2,4,8
-- rotate the view and mirror the OR-mask to get the proper layout of the mpla, the default is identical to tms1100
-- the opla size is increased from 20 to 32 terms
+- mpla and opla are the same as TMS1400
TODO:
- emulate TMS1600 L-pins
diff --git a/src/mame/handheld/hh_tms1k.cpp b/src/mame/handheld/hh_tms1k.cpp
index c0114fee6c1..2a31fe0ae6c 100644
--- a/src/mame/handheld/hh_tms1k.cpp
+++ b/src/mame/handheld/hh_tms1k.cpp
@@ -117,7 +117,7 @@ on Joerg Woerner's datamath.org: http://www.datamath.org/IC_List.htm
@MP2110 TMS1370 1980, Gakken Invader/Tandy Fire Away
@MP2139 TMS1370 1981, Gakken Galaxy Invader 1000/Tandy Cosmic 1000 Fire Away
@MP2726 TMS1040 1979, Tomy Break Up
- *MP2788 TMS1070? 1980, Bandai Flight Time (? note: VFD-capable)
+ *MP2788 TMS1040? 1980, Bandai Flight Time (? note: VFD-capable)
@MP3005 TMS1730 1989, Tiger Copy Cat (model 7-522)
@MP3200 TMS1000 1978, Parker Brothers Electronic Master Mind
@MP3201 TMS1000 1977, Milton Bradley Electronic Battleship (1977, model 4750A)
@@ -14191,7 +14191,7 @@ void tdracula_state::write_r(u32 data)
void tdracula_state::write_o(u16 data)
{
// O0-O7: VFD plate
- m_plate = (m_plate & ~0xff) | bitswap<8>(data,0,1,2,3,4,5,6,7);
+ m_plate = (m_plate & ~0xff) | data;
update_display();
}
@@ -14253,7 +14253,7 @@ ROM_START( tdracula )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1100_common2_micro.pla", 0, 867, CRC(7cc90264) SHA1(c6e1cf1ffb178061da9e31858514f7cd94e86990) )
ROM_REGION( 557, "maincpu:opla", 0 )
- ROM_LOAD( "tms1400_tdracula_output.pla", 0, 557, CRC(52e2258e) SHA1(3dcbef72d2309aeb2375041522acd1a879b9e881) )
+ ROM_LOAD( "tms1400_tdracula_output.pla", 0, 557, CRC(54408672) SHA1(8fdc6910a27c22c1df2cadeb25c74118d5774481) )
ROM_REGION( 416612, "screen", 0)
ROM_LOAD( "tdracula.svg", 0, 416612, CRC(71b5e164) SHA1(357528d5df7433609931cd9f9a2e5d56fbd29774) )
@@ -14271,6 +14271,10 @@ ROM_END
* TMS1024 I/O expander
* cyan/red/green VFD display NEC FIP9AM31T no. 21-84, 1-bit sound
+ Two versions are known, one with a red trigger button and blue slot button,
+ and one with a blue trigger button and red slot button. The game itself is
+ assumed to be the same.
+
***************************************************************************/
class tgpachi_state : public hh_tms1k_state