Previous 199869 Revisions Next

r20232 Sunday 13th January, 2013 at 03:23:50 UTC by Robbbert
(MESS) New WORKING system. Chunichi ND-80Z. [Robbbert, Nama]
[src/mess]mess.lst
[src/mess/drivers]tk80bs.c

trunk/src/mess/mess.lst
r20231r20232
21942194pencil2
21952195br8641
21962196nectk85
2197nd80z
trunk/src/mess/drivers/tk80bs.c
r20231r20232
1616schematics etc are available. Thanks to 'Nama' who dumped the rom.
1717It has 25 keys, so a few aren't defined yet.
1818
19ND-80Z : http://www.alles.or.jp/~thisida/nd80z3syokai.html (newer version)
20Like the TK85, it has a 2KB rom. Thanks again to 'Nama' who dumped it.
21
1922When booted, the system begins at 0000 which is ROM. You need to change the
2023address to 8000 before entering a program. Here is a test to paste in:
21248000-11^22^33^44^55^66^77^88^99^8000-
r20231r20232
6871   DECLARE_READ8_MEMBER(ppi_custom_r);
6972   DECLARE_WRITE8_MEMBER(ppi_custom_w);
7073   DECLARE_READ8_MEMBER(key_matrix_r);
74   DECLARE_READ8_MEMBER(nd80z_key_r);
7175   DECLARE_READ8_MEMBER(serial_r);
7276   DECLARE_WRITE8_MEMBER(serial_w);
7377   DECLARE_WRITE8_MEMBER(mikrolab_serial_w);
r20231r20232
132136   AM_RANGE(0xf8, 0xfb) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write)
133137ADDRESS_MAP_END
134138
139static ADDRESS_MAP_START(nd80z_io, AS_IO, 8, tk80bs_state)
140   ADDRESS_MAP_UNMAP_HIGH
141   ADDRESS_MAP_GLOBAL_MASK(0xff) // possibly should be 3
142   AM_RANGE(0xf8, 0xfb) AM_DEVREADWRITE("ppi8255_3", i8255_device, read, write)
143ADDRESS_MAP_END
144
135145/* Input ports */
136146static INPUT_PORTS_START( tk80 )
137147   PORT_START("X0") /* KEY ROW 0 */
r20231r20232
187197// PA0-7 keyscan in
188198
189199   UINT8 data = 0xff;
200   
190201   if (BIT(m_ppi_portc, 4))
191202      data &= ioport("X0")->read();
192203   if (BIT(m_ppi_portc, 5))
r20231r20232
197208   return data;
198209}
199210
211READ8_MEMBER( tk80bs_state::nd80z_key_r )
212{
213// PA0-7 keyscan in
214
215   UINT8 data = 0xff, row = m_ppi_portc & 7;
216   if (row == 6)
217      data &= ioport("X0")->read();
218   else
219   if (row == 5)
220      data &= ioport("X1")->read();
221   else
222   if (row == 3)
223      data &= ioport("X2")->read();
224
225   return data;
226}
227
200228READ8_MEMBER( tk80bs_state::serial_r )
201229{
202230// PB0 - serial in
r20231r20232
241269   DEVCB_DRIVER_MEMBER(tk80bs_state, mikrolab_serial_w)        /* Port C write */
242270};
243271
272static I8255_INTERFACE( ppi8255_intf_3 )
273{
274   DEVCB_DRIVER_MEMBER(tk80bs_state, nd80z_key_r),        /* Port A read */
275   DEVCB_NULL,                         /* Port A write */
276   DEVCB_DRIVER_MEMBER(tk80bs_state, serial_r),            /* Port B read */
277   DEVCB_NULL,                         /* Port B write */
278   DEVCB_NULL,                         /* Port C read */
279   DEVCB_DRIVER_MEMBER(tk80bs_state, mikrolab_serial_w)        /* Port C write */
280};
244281
282
245283static MACHINE_CONFIG_START( tk80, tk80bs_state )
246284   /* basic machine hardware */
247285   MCFG_CPU_ADD("maincpu",I8080, XTAL_1MHz) // 18.432 / 9
r20231r20232
266304   MCFG_I8255_ADD( "ppi8255_1", ppi8255_intf_1 )
267305MACHINE_CONFIG_END
268306
307static MACHINE_CONFIG_DERIVED( nd80z, tk80 )
308   MCFG_CPU_MODIFY("maincpu")
309   MCFG_CPU_PROGRAM_MAP(tk85_mem)
310   MCFG_CPU_IO_MAP(nd80z_io)
311   /* Devices */
312   MCFG_DEVICE_REMOVE("ppi8255_0")
313   MCFG_I8255_ADD( "ppi8255_3", ppi8255_intf_3 )
314MACHINE_CONFIG_END
315
269316static MACHINE_CONFIG_DERIVED( tk85, tk80 )
270317   MCFG_CPU_MODIFY("maincpu")
271318   MCFG_CPU_PROGRAM_MAP(tk85_mem)
r20231r20232
455502   ROM_LOAD( "tk85.bin",  0x0000, 0x0800, CRC(8a0b6d7e) SHA1(6acc8c04990692b08929043ccf638761b7301def))
456503ROM_END
457504
505ROM_START( nd80z )
506   ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF )
507   ROM_LOAD( "nd80z.bin",  0x0000, 0x0800, CRC(fe829f1d) SHA1(6fff31884b8d984076d4450ca3a3e48efadeb648))
508ROM_END
509
458510ROM_START( tk80bs )
459511   ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF )
460512   /* all of these aren't taken from an original machine*/
r20231r20232
486538COMP( 1976, tk80,     0,      0,       tk80,      tk80,     driver_device, 0, "Nippon Electronic Company", "TK-80", GAME_NO_SOUND_HW)
487539COMP( 1980, tk80bs,   tk80,   0,       tk80bs,    tk80bs,   driver_device, 0, "Nippon Electronic Company", "TK-80BS", GAME_NOT_WORKING | GAME_NO_SOUND_HW)
488540COMP( 19??, nectk85,  tk80,   0,       tk85,      tk80,     driver_device, 0, "Nippon Electronic Company", "TK-85", GAME_NO_SOUND_HW)
541COMP( 19??, nd80z,    tk80,   0,       nd80z,     tk80,     driver_device, 0, "Chunichi", "ND-80Z", GAME_NO_SOUND_HW)
489542COMP( 19??, mikrolab, tk80,   0,       mikrolab,  mikrolab, driver_device, 0, "<unknown>", "Mikrolab KR580IK80", GAME_NO_SOUND_HW)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team