Previous 15994 Revisions Next

r11331 Tuesday 26th April, 2011 at 11:59:55 UTC by Miodrag Milanović
Skeleton added for CM-1800 [Miodrag Milanovic]
[src/mess]mess.lst mess.mak
[src/mess/drivers]cm1800.c*

src/mess/mess.lst
r11330r11331
18881888applix
1889188968ksbc
18901890lcmate2
1891
1891cm1800
src/mess/mess.mak
r11330r11331
17041704   $(MESS_DRIVERS)/casloopy.o   \
17051705   $(MESS_DRIVERS)/chaos.o    \
17061706   $(MESS_DRIVERS)/cd2650.o   \
1707   $(MESS_DRIVERS)/cm1800.o    \
17071708   $(MESS_DRIVERS)/codata.o   \
17081709   $(MESS_DRIVERS)/cosmicos.o   \
17091710   $(MESS_DRIVERS)/czk80.o      \
src/mess/drivers/cm1800.c
r0r11331
1/***************************************************************************
2   
3        CM-1800
4      (note name is in cyrilic letters)
5     
6      more info at http://ru.wikipedia.org/wiki/%D0%A1%D0%9C_%D0%AD%D0%92%D0%9C
7         and http://sapr.lti-gti.ru/index.php?id=66
8         
9        26/04/2011 Skeleton driver.
10
11****************************************************************************/
12
13#define ADDRESS_MAP_MODERN
14
15#include "emu.h"
16#include "cpu/i8085/i8085.h"
17#include "machine/terminal.h"
18
19class cm1800_state : public driver_device
20{
21public:
22   cm1800_state(running_machine &machine, const driver_device_config_base &config)
23      : driver_device(machine, config) { }
24
25   DECLARE_READ8_MEMBER( term_ready_r );
26   DECLARE_READ8_MEMBER( term_r );
27   DECLARE_WRITE8_MEMBER( term_ready_w );
28   DECLARE_WRITE8_MEMBER( kbd_put );
29   
30   UINT8 m_key_ready;
31   UINT8 m_term_data;
32};
33
34READ8_MEMBER( cm1800_state::term_ready_r )
35{
36   return 0x04 | m_key_ready; // always ready to write
37}
38
39WRITE8_MEMBER( cm1800_state::term_ready_w )
40{
41   m_key_ready = 0;
42   m_term_data = 0;
43}
44
45READ8_MEMBER( cm1800_state::term_r )
46{
47   m_key_ready = 0;
48   return m_term_data;
49}
50
51WRITE8_MEMBER( cm1800_state::kbd_put )
52{
53   m_key_ready = 1;
54   m_term_data = data;
55}
56
57static ADDRESS_MAP_START(cm1800_mem, AS_PROGRAM, 8, cm1800_state)
58   ADDRESS_MAP_UNMAP_HIGH
59   AM_RANGE( 0x0000, 0x07ff ) AM_ROM
60   AM_RANGE( 0x0800, 0xffff ) AM_RAM
61ADDRESS_MAP_END
62
63static ADDRESS_MAP_START( cm1800_io , AS_IO, 8, cm1800_state)
64   ADDRESS_MAP_UNMAP_HIGH
65   AM_RANGE(0x00, 0x00) AM_READ(term_r) AM_DEVWRITE_LEGACY(TERMINAL_TAG, terminal_write)
66   AM_RANGE(0x01, 0x01) AM_READ(term_ready_r)
67ADDRESS_MAP_END
68
69/* Input ports */
70INPUT_PORTS_START( cm1800 )
71INPUT_PORTS_END
72
73
74static MACHINE_RESET(cm1800)
75{   
76}
77
78static GENERIC_TERMINAL_INTERFACE( cm1800_terminal_intf )
79{
80   DEVCB_DRIVER_MEMBER(cm1800_state, kbd_put)
81};
82
83static MACHINE_CONFIG_START( cm1800, cm1800_state )
84    /* basic machine hardware */
85    MCFG_CPU_ADD("maincpu",I8080, XTAL_2MHz)
86    MCFG_CPU_PROGRAM_MAP(cm1800_mem)
87    MCFG_CPU_IO_MAP(cm1800_io)   
88
89    MCFG_MACHINE_RESET(cm1800)
90   
91    /* video hardware */
92    MCFG_FRAGMENT_ADD( generic_terminal )
93   MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG,cm1800_terminal_intf)
94MACHINE_CONFIG_END
95
96/* ROM definition */
97ROM_START( cm1800 )
98   ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF )
99   ROM_LOAD( "cm1800.rom", 0x0000, 0x0800, CRC(85d71d25) SHA1(42dc87d2eddc2906fa26d35db88a2e29d50fb481))
100ROM_END
101
102/* Driver */
103
104/*    YEAR  NAME    PARENT  COMPAT   MACHINE    INPUT    INIT    COMPANY   FULLNAME       FLAGS */
105COMP( 1981, cm1800,  0,       0,    cm1800,    cm1800,     0,  "<unknown>",   "CM-1800",      GAME_NOT_WORKING | GAME_NO_SOUND)
106

Previous 15994 Revisions Next


© 1998-2018 The MESS Team