trunk/src/mess/drivers/a2600.c
| r18297 | r18298 | |
| 13 | 13 | #include "imagedev/cassette.h" |
| 14 | 14 | #include "formats/a26_cas.h" |
| 15 | 15 | #include "video/tia.h" |
| 16 | #include "machine/vcsctrl.h" |
| 16 | 17 | #include "hashfile.h" |
| 17 | 18 | |
| 19 | #define CONTROL1_TAG "joyport1" |
| 20 | #define CONTROL2_TAG "joyport2" |
| 21 | |
| 18 | 22 | struct df_t { |
| 19 | 23 | UINT8 top; |
| 20 | 24 | UINT8 bottom; |
| r18297 | r18298 | |
| 41 | 45 | { |
| 42 | 46 | public: |
| 43 | 47 | a2600_state(const machine_config &mconfig, device_type type, const char *tag) |
| 44 | | : driver_device(mconfig, type, tag) , |
| 45 | | m_riot_ram(*this, "riot_ram"){ } |
| 48 | : driver_device(mconfig, type, tag) |
| 49 | , m_riot_ram(*this, "riot_ram") |
| 50 | // , m_joy1(*this, CONTROL1_TAG) |
| 51 | // , m_joy2(*this, CONTROL2_TAG) |
| 52 | { } |
| 46 | 53 | |
| 47 | 54 | dpc_t m_dpc; |
| 48 | 55 | memory_region* m_extra_RAM; |
| r18297 | r18298 | |
| 121 | 128 | DECLARE_READ8_MEMBER(riot_input_port_8_r); |
| 122 | 129 | |
| 123 | 130 | protected: |
| 131 | // required_device<vcs_control_port_device> m_joy1; |
| 132 | // required_device<vcs_control_port_device> m_joy2; |
| 124 | 133 | int next_bank(); |
| 125 | 134 | void modeF8_switch(UINT16 offset, UINT8 data); |
| 126 | 135 | void modeFA_switch(UINT16 offset, UINT8 data); |
| r18297 | r18298 | |
| 1193 | 1202 | ADDRESS_MAP_GLOBAL_MASK(0x1fff) |
| 1194 | 1203 | AM_RANGE(0x0000, 0x007F) AM_MIRROR(0x0F00) AM_DEVREADWRITE("tia_video", tia_video_device, read, write) |
| 1195 | 1204 | AM_RANGE(0x0080, 0x00FF) AM_MIRROR(0x0D00) AM_RAM AM_SHARE("riot_ram") |
| 1196 | | AM_RANGE(0x0280, 0x029F) AM_MIRROR(0x0D00) AM_DEVREADWRITE_LEGACY("riot", riot6532_r, riot6532_w) |
| 1205 | AM_RANGE(0x0280, 0x029F) AM_MIRROR(0x0D00) AM_DEVREADWRITE("riot", riot6532_device, read, write) |
| 1197 | 1206 | AM_RANGE(0x1000, 0x1FFF) AM_ROMBANK("bank1") |
| 1198 | 1207 | ADDRESS_MAP_END |
| 1199 | 1208 | |
| r18297 | r18298 | |
| 1228 | 1237 | case 0x00: /* Joystick */ |
| 1229 | 1238 | case 0x05: /* Joystick w/Boostergrip */ |
| 1230 | 1239 | val |= machine().root_device().ioport("SWA_JOY")->read() & 0xF0; |
| 1240 | // val |= ( m_joy1->joy_r() & 0x0F ) << 4; |
| 1231 | 1241 | break; |
| 1232 | 1242 | case 0x01: /* Paddle */ |
| 1233 | 1243 | val |= machine().root_device().ioport("SWA_PAD")->read() & 0xF0; |
| r18297 | r18298 | |
| 2264 | 2274 | |
| 2265 | 2275 | /* devices */ |
| 2266 | 2276 | MCFG_RIOT6532_ADD("riot", MASTER_CLOCK_NTSC / 3, r6532_interface) |
| 2277 | |
| 2278 | // MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vcs_control_port_devices, NULL, NULL) |
| 2279 | // MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, NULL, NULL) |
| 2280 | |
| 2267 | 2281 | MCFG_FRAGMENT_ADD(a2600_cartslot) |
| 2268 | 2282 | MCFG_SOFTWARE_LIST_FILTER("cart_list", "NTSC") |
| 2269 | 2283 | MCFG_CASSETTE_ADD( CASSETTE_TAG, a2600_cassette_interface ) |
| r18297 | r18298 | |
| 2296 | 2310 | |
| 2297 | 2311 | /* devices */ |
| 2298 | 2312 | MCFG_RIOT6532_ADD("riot", MASTER_CLOCK_PAL / 3, r6532_interface) |
| 2313 | |
| 2314 | // MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vcs_control_port_devices, NULL, NULL) |
| 2315 | // MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, NULL, NULL) |
| 2316 | |
| 2299 | 2317 | MCFG_FRAGMENT_ADD(a2600_cartslot) |
| 2300 | 2318 | MCFG_SOFTWARE_LIST_FILTER("cart_list", "PAL") |
| 2301 | 2319 | MCFG_CASSETTE_ADD( CASSETTE_TAG, a2600_cassette_interface ) |