Previous 199869 Revisions Next

r20230 Saturday 12th January, 2013 at 23:09:03 UTC by Robbbert
(MESS) New WORKING system. NEC TK85. [Robbbert, Nama]
[src/mess]mess.lst
[src/mess/drivers]tk80bs.c

trunk/src/mess/mess.lst
r20229r20230
21932193tim100
21942194pencil2
21952195br8641
2196nectk85
trunk/src/mess/drivers/tk80bs.c
r20229r20230
1212It consisted of 25 keys and 8 LED digits, and was programmed in hex.
1313The Mikrolab is a Russian clone which appears to be almost completely identical.
1414
15TK85 seems to be the same as TK80, except is has a larger ROM. No
16schematics etc are available. Thanks to 'Nama' who dumped the rom.
17It has 25 keys, so a few aren't defined yet.
18
1519When booted, the system begins at 0000 which is ROM. You need to change the
1620address to 8000 before entering a program. Here is a test to paste in:
17218000-11^22^33^44^55^66^77^88^99^8000-
r20229r20230
5862   tk80bs_state(const machine_config &mconfig, device_type type, const char *tag)
5963      : driver_device(mconfig, type, tag),
6064   m_maincpu(*this, "maincpu"),
61   m_ppi8255_2(*this, "ppi8255_2")
62   ,
63      m_p_videoram(*this, "p_videoram"){ }
65   m_ppi8255_2(*this, "ppi8255_2"),
66   m_p_videoram(*this, "videoram"){ }
6467
65   required_device<cpu_device> m_maincpu;
66   optional_device<i8255_device> m_ppi8255_2;
6768   DECLARE_READ8_MEMBER(ppi_custom_r);
6869   DECLARE_WRITE8_MEMBER(ppi_custom_w);
6970   DECLARE_READ8_MEMBER(key_matrix_r);
r20229r20230
7677   DECLARE_READ8_MEMBER(port_a_r);
7778   DECLARE_READ8_MEMBER(port_b_r);
7879   UINT8 m_term_data;
79   optional_shared_ptr<UINT8> m_p_videoram;
8080   UINT8 m_keyb_press;
8181   UINT8 m_keyb_press_flag;
8282   UINT8 m_shift_press_flag;
r20229r20230
8686   DECLARE_MACHINE_RESET(tk80bs);
8787   DECLARE_VIDEO_START(tk80bs);
8888   UINT32 screen_update_tk80bs(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
89   required_device<cpu_device> m_maincpu;
90   optional_device<i8255_device> m_ppi8255_2;
91   optional_shared_ptr<UINT8> m_p_videoram;
8992};
9093
9194/************************************************* TK80 ******************************************/
r20229r20230
109112   AM_RANGE(0x83f8, 0x83ff) AM_RAM AM_READWRITE(display_r,display_w)
110113ADDRESS_MAP_END
111114
115static ADDRESS_MAP_START(tk85_mem, AS_PROGRAM, 8, tk80bs_state)
116   ADDRESS_MAP_UNMAP_HIGH
117   ADDRESS_MAP_GLOBAL_MASK(0x87ff) // A10-14 not connected
118   AM_RANGE(0x0000, 0x07ff) AM_ROM
119   AM_RANGE(0x8000, 0x83f7) AM_RAM
120   AM_RANGE(0x83f8, 0x83ff) AM_RAM AM_READWRITE(display_r,display_w)
121ADDRESS_MAP_END
122
112123static ADDRESS_MAP_START(tk80_io, AS_IO, 8, tk80bs_state)
113124   ADDRESS_MAP_UNMAP_HIGH
114125   ADDRESS_MAP_GLOBAL_MASK(0xff) // possibly should be 3
r20229r20230
248259
249260static MACHINE_CONFIG_DERIVED( mikrolab, tk80 )
250261   MCFG_CPU_MODIFY("maincpu")
262   MCFG_CPU_PROGRAM_MAP(tk85_mem)
251263   MCFG_CPU_IO_MAP(mikrolab_io)
252264   /* Devices */
253265   MCFG_DEVICE_REMOVE("ppi8255_0")
254266   MCFG_I8255_ADD( "ppi8255_1", ppi8255_intf_1 )
255267MACHINE_CONFIG_END
256268
269static MACHINE_CONFIG_DERIVED( tk85, tk80 )
270   MCFG_CPU_MODIFY("maincpu")
271   MCFG_CPU_PROGRAM_MAP(tk85_mem)
272MACHINE_CONFIG_END
273
257274/************************************************* TK80BS ****************************************/
258275
259276VIDEO_START_MEMBER(tk80bs_state,tk80bs)
r20229r20230
315332//  AM_RANGE(0x0c00, 0x7bff) AM_ROM // ext
316333   AM_RANGE(0x7df8, 0x7df9) AM_NOP // i8251 sio
317334   AM_RANGE(0x7dfc, 0x7dff) AM_READWRITE(ppi_custom_r,ppi_custom_w)
318   AM_RANGE(0x7e00, 0x7fff) AM_RAM AM_SHARE("p_videoram") // video ram
335   AM_RANGE(0x7e00, 0x7fff) AM_RAM AM_SHARE("videoram") // video ram
319336   AM_RANGE(0x8000, 0xcfff) AM_RAM // RAM
320337   AM_RANGE(0xd000, 0xefff) AM_ROM // BASIC
321338   AM_RANGE(0xf000, 0xffff) AM_ROM // BSMON
r20229r20230
433450   ROM_LOAD( "rom-2.bin", 0x0200, 0x0200, BAD_DUMP CRC(726a224f) SHA1(7ed8d2c6dd4fb7836475e207e1972e33a6a91d2f))
434451ROM_END
435452
453ROM_START( nectk85 )
454   ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF )
455   ROM_LOAD( "tk85.bin",  0x0000, 0x0800, CRC(8a0b6d7e) SHA1(6acc8c04990692b08929043ccf638761b7301def))
456ROM_END
457
436458ROM_START( tk80bs )
437459   ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF )
438460   /* all of these aren't taken from an original machine*/
r20229r20230
461483/* Driver */
462484
463485/*    YEAR  NAME      PARENT  COMPAT   MACHINE    INPUT     INIT     COMPANY                        FULLNAME       FLAGS */
464COMP( 1976, tk80,     0,      0,       tk80,      tk80, driver_device,     0,       "Nippon Electronic Company", "TK-80", GAME_NO_SOUND_HW)
465COMP( 1980, tk80bs,   tk80,   0,       tk80bs,    tk80bs, driver_device,   0,       "Nippon Electronic Company", "TK-80BS", GAME_NOT_WORKING | GAME_NO_SOUND_HW)
466COMP( 19??, mikrolab, tk80,   0,       mikrolab,  mikrolab, driver_device, 0,       "<unknown>", "Mikrolab KR580IK80", GAME_NO_SOUND_HW)
486COMP( 1976, tk80,     0,      0,       tk80,      tk80,     driver_device, 0, "Nippon Electronic Company", "TK-80", GAME_NO_SOUND_HW)
487COMP( 1980, tk80bs,   tk80,   0,       tk80bs,    tk80bs,   driver_device, 0, "Nippon Electronic Company", "TK-80BS", GAME_NOT_WORKING | GAME_NO_SOUND_HW)
488COMP( 19??, nectk85,  tk80,   0,       tk85,      tk80,     driver_device, 0, "Nippon Electronic Company", "TK-85", GAME_NO_SOUND_HW)
489COMP( 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