trunk/src/mess/drivers/besta.c
| r249059 | r249060 | |
| 10 | 10 | |
| 11 | 11 | #include "emu.h" |
| 12 | 12 | #include "cpu/m68000/m68000.h" |
| 13 | #include "machine/68230pit.h" |
| 13 | 14 | #include "machine/terminal.h" |
| 14 | 15 | |
| 15 | 16 | #define VERBOSE_DBG 1 /* general debug messages */ |
| r249059 | r249060 | |
| 32 | 33 | besta_state(const machine_config &mconfig, device_type type, const char *tag) |
| 33 | 34 | : driver_device(mconfig, type, tag), |
| 34 | 35 | m_maincpu(*this, "maincpu"), |
| 36 | m_pit1 (*this, "pit1"), |
| 37 | m_pit2 (*this, "pit2"), |
| 35 | 38 | m_terminal(*this, TERMINAL_TAG), |
| 36 | 39 | m_p_ram(*this, "p_ram") |
| 37 | 40 | { |
| r249059 | r249060 | |
| 44 | 47 | UINT8 m_mpcc_regs[32]; |
| 45 | 48 | |
| 46 | 49 | required_device<cpu_device> m_maincpu; |
| 50 | required_device<pit68230_device> m_pit1; |
| 51 | required_device<pit68230_device> m_pit2; |
| 47 | 52 | virtual void machine_reset(); |
| 48 | 53 | |
| 49 | 54 | required_device<generic_terminal_device> m_terminal; |
| r249059 | r249060 | |
| 96 | 101 | |
| 97 | 102 | static ADDRESS_MAP_START(besta_mem, AS_PROGRAM, 32, besta_state) |
| 98 | 103 | AM_RANGE(0x00000000, 0x001fffff) AM_RAM AM_SHARE("p_ram") // local bus DRAM, 4MB |
| 99 | | // AM_RANGE(0x08010000, 0x08011fff) AM_RAM // unknown -- accessed by cp31dssp |
| 100 | | AM_RANGE(0xff000000, 0xff00ffff) AM_ROM AM_REGION("user1",0) // actual mapping is up to 0xff03ffff |
| 104 | // AM_RANGE(0x08010000, 0x08011fff) AM_RAM // unknown -- accessed by cp31dssp |
| 105 | // AM_RANGE(0xfca03500, 0xfca0350f) AM_READWRITE8(iscsi_reg_r, iscsi_reg_w, 0xffffffff) |
| 106 | AM_RANGE(0xff000000, 0xff00ffff) AM_ROM AM_REGION("user1", 0) // actual mapping is up to 0xff03ffff |
| 101 | 107 | AM_RANGE(0xff040000, 0xff07ffff) AM_RAM // onboard SRAM |
| 102 | | // 68561 MPCC (console) |
| 103 | | // AM_RANGE(0xff800000, 0xff80001f) AM_DEVREADWRITE8("mpcc", mpcc68561_t, reg_r, reg_w, 0xffffffff) |
| 104 | | AM_RANGE(0xff800000, 0xff80001f) AM_READWRITE8(mpcc_reg_r, mpcc_reg_w, 0xffffffff) |
| 105 | | // AM_RANGE(0xff800200, 0xff800xxx) // 68230 PIT2 |
| 106 | | // AM_RANGE(0xff800400, 0xff800xxx) // ??? -- shows up in cp31dssp log |
| 107 | | // AM_RANGE(0xff800800, 0xff800xxx) // BIM |
| 108 | | // AM_RANGE(0xff800a00, 0xff800xxx) // 62421 RTC |
| 109 | | // AM_RANGE(0xff800c00, 0xff800xxx) // 68230 PIT |
| 108 | // AM_RANGE(0xff800000, 0xff80001f) AM_DEVREADWRITE8("mpcc", mpcc68561_t, reg_r, reg_w, 0xffffffff) |
| 109 | AM_RANGE(0xff800000, 0xff80001f) AM_READWRITE8(mpcc_reg_r, mpcc_reg_w, 0xffffffff) // console |
| 110 | AM_RANGE(0xff800200, 0xff800237) AM_DEVREADWRITE8 ("pit2", pit68230_device, read, write, 0xffffffff) |
| 111 | // AM_RANGE(0xff800400, 0xff800xxx) // ??? -- shows up in cp31dssp log |
| 112 | // AM_RANGE(0xff800800, 0xff800xxx) // 68153 BIM |
| 113 | // AM_RANGE(0xff800a00, 0xff800xxx) // 62421 RTC |
| 114 | AM_RANGE(0xff800c00, 0xff800c37) AM_DEVREADWRITE8 ("pit1", pit68230_device, read, write, 0xffffffff) |
| 115 | // AM_RANGE(0xff800e00, 0xff800xxx) // PIT3? |
| 110 | 116 | ADDRESS_MAP_END |
| 111 | 117 | |
| 112 | 118 | /* Input ports */ |
| r249059 | r249060 | |
| 131 | 137 | MCFG_CPU_ADD("maincpu", M68030, 2*16670000) |
| 132 | 138 | MCFG_CPU_PROGRAM_MAP(besta_mem) |
| 133 | 139 | |
| 140 | MCFG_DEVICE_ADD ("pit1", PIT68230, 16670000 / 2) // XXX verify clock |
| 141 | |
| 142 | MCFG_DEVICE_ADD ("pit2", PIT68230, 16670000 / 2) // XXX verify clock |
| 143 | |
| 134 | 144 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 135 | 145 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(besta_state, kbd_put)) |
| 136 | 146 | MACHINE_CONFIG_END |
| r249059 | r249060 | |
| 151 | 161 | /* Driver */ |
| 152 | 162 | |
| 153 | 163 | /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */ |
| 154 | | COMP( 1988, besta88, 0, 0, besta, besta, driver_device, 0, "Sapsan", "Besta-88", MACHINE_NOT_WORKING | MACHINE_NO_SOUND) |
| 164 | COMP( 1988, besta88, 0, 0, besta, besta, driver_device, 0, "Sapsan", "Besta-88", MACHINE_NOT_WORKING | MACHINE_NO_SOUND_HW) |