Previous 199869 Revisions Next

r20885 Sunday 10th February, 2013 at 10:24:17 UTC by Robbbert
(MESS) Superslave :  connected to terminal
[src/mess/drivers]superslave.c
[src/mess/includes]superslave.h

trunk/src/mess/includes/superslave.h
r20884r20885
66#include "emu.h"
77#include "cpu/z80/z80.h"
88#include "cpu/z80/z80daisy.h"
9#include "machine/terminal.h"
910
11
1012#define Z80_TAG     "z80"
1113
1214class superslave_state : public driver_device
1315{
1416public:
1517   superslave_state(const machine_config &mconfig, device_type type, const char *tag)
16      : driver_device(mconfig, type, tag),
17         m_maincpu(*this, Z80_TAG)
18      : driver_device(mconfig, type, tag)
19      , m_maincpu(*this, Z80_TAG)
20      , m_terminal(*this, TERMINAL_TAG)
1821   { }
1922
2023   required_device<cpu_device> m_maincpu;
24   required_device<generic_terminal_device> m_terminal;
2125
2226   virtual void machine_start();
2327   virtual void machine_reset();
28   DECLARE_READ8_MEMBER(port00_r);
29   DECLARE_READ8_MEMBER(port01_r);
30   DECLARE_READ8_MEMBER(port1f_r);
31   DECLARE_WRITE8_MEMBER(kbd_put);
32   UINT8 m_term_data;
33
2434};
2535
2636#endif
trunk/src/mess/drivers/superslave.c
r20884r20885
1/*
1/**************************************************************************
22
3Monitor commands
4Dxxxx,yyyy      = Dump memory
5Fxxxx,yyyy,zz   = Fill memory
6Gxxxx           = Goto
7Ixx             = In port
8Lxxxx           = Load
9Mxxxx,yyyy,zzzz = Move x-y to z
10Oxx,yy          = Out port
11-               = Edit memory
12.               = Edit memory
13
14
315    TODO:
416
517    - all
618
7*/
19****************************************************************************/
820
921#include "includes/superslave.h"
1022
r20884r20885
1931//-------------------------------------------------
2032
2133static ADDRESS_MAP_START( superslave_mem, AS_PROGRAM, 8, superslave_state )
34   AM_RANGE(0x0000, 0x07FF) AM_ROM AM_REGION(Z80_TAG, 0)
35   AM_RANGE(0x0800, 0xFFFF) AM_RAM
2236ADDRESS_MAP_END
2337
2438
r20884r20885
2741//-------------------------------------------------
2842
2943static ADDRESS_MAP_START( superslave_io, AS_IO, 8, superslave_state )
44   ADDRESS_MAP_GLOBAL_MASK(0xff)
45   AM_RANGE(0x00, 0x00) AM_READ(port00_r) AM_DEVWRITE(TERMINAL_TAG, generic_terminal_device, write)
46   AM_RANGE(0x01, 0x01) AM_READ(port01_r)
47   AM_RANGE(0x1f, 0x1f) AM_READ(port1f_r)
3048ADDRESS_MAP_END
3149
3250
r20884r20885
7896
7997void superslave_state::machine_reset()
8098{
99   m_term_data = 0;
81100}
82101
102READ8_MEMBER( superslave_state::port00_r )
103{
104   UINT8 ret = m_term_data;
105   m_term_data = 0;
106   return ret;
107}
83108
109READ8_MEMBER( superslave_state::port01_r )
110{
111   return (m_term_data) ? 5 : 4;
112}
84113
114READ8_MEMBER( superslave_state::port1f_r )
115{
116   return 1;
117}
118
119WRITE8_MEMBER( superslave_state::kbd_put )
120{
121   m_term_data = data;
122}
123
124static GENERIC_TERMINAL_INTERFACE( terminal_intf )
125{
126   DEVCB_DRIVER_MEMBER(superslave_state, kbd_put)
127};
128
85129//**************************************************************************
86130//  MACHINE DRIVERS
87131//**************************************************************************
r20884r20885
96140   MCFG_CPU_PROGRAM_MAP(superslave_mem)
97141   MCFG_CPU_IO_MAP(superslave_io)
98142   MCFG_CPU_CONFIG(superslave_daisy_chain)
143
144   /* video hardware */
145   MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf)
99146MACHINE_CONFIG_END
100147
101148
r20884r20885
119166//  SYSTEM DRIVERS
120167//**************************************************************************
121168
122//    YEAR  NAME     PARENT  COMPAT  MACHINE  INPUT    INIT    COMPANY                          FULLNAME        FLAGS
123COMP( 1983, superslv,  0,      0,      superslave,  superslave, driver_device,  0,      "Advanced Digital Corporation", "Super Slave",  GAME_IS_SKELETON )
169//    YEAR  NAME      PARENT  COMPAT  MACHINE     INPUT       CLASS          INIT    COMPANY                          FULLNAME        FLAGS
170COMP( 1983, superslv, 0,      0,      superslave, superslave, driver_device, 0, "Advanced Digital Corporation", "Super Slave",  GAME_IS_SKELETON )

Previous 199869 Revisions Next


© 1997-2024 The MAME Team