trunk/src/mess/drivers/dsb46.c
| r24595 | r24596 | |
| 1 | /******************************************************************************************************************** |
| 2 | |
| 3 | 2013-07-31 Skeleton Driver [Curt Coder] |
| 4 | 2013-07-31 Connected to terminal [Robbbert] |
| 5 | |
| 6 | |
| 7 | The photos show 3 boards: |
| 8 | - A scsi board (all 74-series TTL) |
| 9 | - CPU board (64k dynamic RAM, Z80A CPU, 2x Z80CTC, 2x Z80SIO/0, MB8877A, Z80DMA, 4x MC1488, |
| 10 | 4x MC1489, XTALS 1.8432MHz and 24MHz) |
| 11 | - ADES board (Adaptec Inc AIC-100, AIC-250, AIC-300, Intel D8086AH, unknown crystal) |
| 12 | |
| 13 | Both roms contain Z80 code. |
| 14 | |
| 15 | |
| 16 | ********************************************************************************************************************/ |
| 17 | |
| 18 | |
| 1 | 19 | #include "emu.h" |
| 2 | 20 | #include "cpu/z80/z80.h" |
| 21 | #include "machine/terminal.h" |
| 3 | 22 | |
| 23 | |
| 4 | 24 | class dsb46_state : public driver_device |
| 5 | 25 | { |
| 6 | 26 | public: |
| 7 | 27 | dsb46_state(const machine_config &mconfig, device_type type, const char *tag) |
| 8 | 28 | : driver_device(mconfig, type, tag) |
| 29 | , m_maincpu(*this, "maincpu") |
| 30 | , m_terminal(*this, TERMINAL_TAG) |
| 9 | 31 | { } |
| 32 | |
| 33 | required_device<cpu_device> m_maincpu; |
| 34 | required_device<generic_terminal_device> m_terminal; |
| 35 | DECLARE_READ8_MEMBER(port00_r); |
| 36 | DECLARE_READ8_MEMBER(port01_r); |
| 37 | DECLARE_WRITE8_MEMBER(kbd_put); |
| 38 | UINT8 m_term_data; |
| 10 | 39 | }; |
| 11 | 40 | |
| 12 | 41 | static ADDRESS_MAP_START( dsb46_mem, AS_PROGRAM, 8, dsb46_state ) |
| 13 | 42 | AM_RANGE(0x0000, 0x07ff) AM_ROM AM_REGION("maincpu", 0) |
| 43 | AM_RANGE(0x0800, 0xffff) AM_RAM |
| 14 | 44 | ADDRESS_MAP_END |
| 15 | 45 | |
| 16 | 46 | static ADDRESS_MAP_START( dsb46_io, AS_IO, 8, dsb46_state ) |
| 47 | ADDRESS_MAP_GLOBAL_MASK(0xff) |
| 48 | AM_RANGE(0x00, 0x00) AM_READ(port00_r) AM_DEVWRITE(TERMINAL_TAG, generic_terminal_device, write) |
| 49 | AM_RANGE(0x01, 0x01) AM_READ(port01_r) |
| 50 | // port 1a bankswitch between rom and ram |
| 17 | 51 | ADDRESS_MAP_END |
| 18 | 52 | |
| 19 | 53 | static INPUT_PORTS_START( dsb46 ) |
| 20 | 54 | INPUT_PORTS_END |
| 21 | 55 | |
| 56 | READ8_MEMBER( dsb46_state::port01_r ) |
| 57 | { |
| 58 | return (m_term_data) ? 5 : 4; |
| 59 | } |
| 60 | |
| 61 | READ8_MEMBER( dsb46_state::port00_r ) |
| 62 | { |
| 63 | UINT8 ret = m_term_data; |
| 64 | m_term_data = 0; |
| 65 | return ret; |
| 66 | } |
| 67 | |
| 68 | WRITE8_MEMBER( dsb46_state::kbd_put ) |
| 69 | { |
| 70 | m_term_data = data; |
| 71 | } |
| 72 | |
| 73 | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 74 | { |
| 75 | DEVCB_DRIVER_MEMBER(dsb46_state, kbd_put) |
| 76 | }; |
| 77 | |
| 22 | 78 | static MACHINE_CONFIG_START( dsb46, dsb46_state ) |
| 23 | 79 | // basic machine hardware |
| 24 | 80 | MCFG_CPU_ADD("maincpu", Z80, 4000000) |
| 25 | 81 | MCFG_CPU_PROGRAM_MAP(dsb46_mem) |
| 26 | 82 | MCFG_CPU_IO_MAP(dsb46_io) |
| 83 | |
| 84 | /* video hardware */ |
| 85 | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 27 | 86 | MACHINE_CONFIG_END |
| 28 | 87 | |
| 29 | 88 | ROM_START( dsb46 ) |
trunk/src/mess/drivers/octopus.c
| r24595 | r24596 | |
| 192 | 192 | /* Driver */ |
| 193 | 193 | |
| 194 | 194 | /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */ |
| 195 | | COMP( 1982, octopus, 0, 0, octopus, octopus, driver_device, 0, "Digital Microsystems", "LSI Octopus", GAME_NOT_WORKING | GAME_NO_SOUND) |
| 195 | COMP( 1986, octopus, 0, 0, octopus, octopus, driver_device, 0, "Digital Microsystems", "LSI Octopus", GAME_NOT_WORKING | GAME_NO_SOUND) |