trunk/src/mess/drivers/apollo.c
| r22753 | r22754 | |
| 41 | 41 | |
| 42 | 42 | // we use this to prevent excessive logging (if emulation runs amok) |
| 43 | 43 | // error.log will be 10 MB for 100000 lines |
| 44 | | #define APOLLO_MAX_NO_OF_LOG_LINES 500000 |
| 44 | #define APOLLO_MAX_NO_OF_LOG_LINES 1000000 |
| 45 | 45 | |
| 46 | 46 | #define ATBUS_IO_BASE 0x040000 |
| 47 | 47 | #define ATBUS_IO_END 0x05ffff |
| r22753 | r22754 | |
| 754 | 754 | AM_RANGE(0x058000, 0x058007) AM_DEVREADWRITE8_LEGACY(APOLLO_ETH_TAG, threecom3c505_r, threecom3c505_w, 0xffffffff) |
| 755 | 755 | AM_RANGE(0x05f800, 0x05f807) AM_DEVICE8(APOLLO_FDC_TAG, pc_fdc_at_device, map, 0xffffffff) |
| 756 | 756 | |
| 757 | | AM_RANGE(0x05d800, 0x05dc07) AM_DEVREADWRITE16_LEGACY(APOLLO_SCREEN_TAG, apollo_mcr_r, apollo_mcr_w, 0xffffffff) |
| 757 | AM_RANGE(0x05d800, 0x05dc07) AM_DEVREADWRITE8_LEGACY(APOLLO_SCREEN_TAG, apollo_mcr_r, apollo_mcr_w, 0xffffffff) |
| 758 | 758 | AM_RANGE(0xfa0000, 0xfdffff) AM_DEVREADWRITE16_LEGACY(APOLLO_SCREEN_TAG, apollo_mgm_r, apollo_mgm_w, 0xffffffff) |
| 759 | 759 | |
| 760 | AM_RANGE(0x05e800, 0x05ec07) AM_DEVREADWRITE8_LEGACY(APOLLO_SCREEN_TAG, apollo_ccr_r, apollo_ccr_w, 0xffffffff) |
| 761 | AM_RANGE(0x0a0000, 0x0bffff) AM_DEVREADWRITE16_LEGACY(APOLLO_SCREEN_TAG, apollo_cgm_r, apollo_cgm_w, 0xffffffff) |
| 762 | |
| 760 | 763 | AM_RANGE(ATBUS_IO_BASE, ATBUS_IO_END) AM_READWRITE16(apollo_atbus_io_r, apollo_atbus_io_w, 0xffffffff) |
| 761 | 764 | |
| 762 | 765 | AM_RANGE(0x080000, 0x081fff) AM_ROM /* 3C505 boot ROM */ |
| r22753 | r22754 | |
| 802 | 805 | AM_RANGE(0x058000, 0x058007) AM_DEVREADWRITE8_LEGACY(APOLLO_ETH_TAG, threecom3c505_r, threecom3c505_w, 0xffffffff) |
| 803 | 806 | AM_RANGE(0x05f800, 0x05f807) AM_DEVICE8(APOLLO_FDC_TAG, pc_fdc_at_device, map, 0xffffffff) |
| 804 | 807 | |
| 805 | | // AM_RANGE(0x05d800, 0x05dc07) AM_DEVREADWRITE16_LEGACY(APOLLO_SCREEN_TAG, apollo_mcr_r, apollo_mcr_w, 0xffffffff) |
| 808 | // AM_RANGE(0x05d800, 0x05dc07) AM_DEVREADWRITE8_LEGACY(APOLLO_SCREEN_TAG, apollo_mcr_r, apollo_mcr_w, 0xffffffff) |
| 806 | 809 | // AM_RANGE(0xfa0000, 0xfdffff) AM_DEVREADWRITE16_LEGACY(APOLLO_SCREEN_TAG, apollo_mgm_r, apollo_mgm_w, 0xffffffff) |
| 810 | // |
| 811 | // AM_RANGE(0x05e800, 0x05ec07) AM_DEVREADWRITE8_LEGACY(APOLLO_SCREEN_TAG, apollo_ccr_r, apollo_ccr_w, 0xffffffff) |
| 812 | // AM_RANGE(0x0a0000, 0x0bffff) AM_DEVREADWRITE16_LEGACY(APOLLO_SCREEN_TAG, apollo_cgm_r, apollo_cgm_w, 0xffffffff) |
| 807 | 813 | |
| 808 | 814 | AM_RANGE(ATBUS_IO_BASE, ATBUS_IO_END) AM_READWRITE16(apollo_atbus_io_r, apollo_atbus_io_w, 0xffffffff) |
| 809 | 815 | |
| r22753 | r22754 | |
| 841 | 847 | AM_RANGE(0x058000, 0x058007) AM_DEVREADWRITE8_LEGACY(APOLLO_ETH_TAG, threecom3c505_r, threecom3c505_w, 0xffffffff) |
| 842 | 848 | AM_RANGE(0x05f800, 0x05f807) AM_DEVICE8(APOLLO_FDC_TAG, pc_fdc_at_device, map, 0xffffffff) |
| 843 | 849 | |
| 844 | | AM_RANGE(0x05d800, 0x05dc07) AM_DEVREADWRITE16_LEGACY(APOLLO_SCREEN_TAG, apollo_mcr_r, apollo_mcr_w, 0xffffffff) |
| 850 | AM_RANGE(0x05d800, 0x05dc07) AM_DEVREADWRITE8_LEGACY(APOLLO_SCREEN_TAG, apollo_mcr_r, apollo_mcr_w, 0xffffffff) |
| 845 | 851 | AM_RANGE(0xfa0000, 0xfdffff) AM_DEVREADWRITE16_LEGACY(APOLLO_SCREEN_TAG, apollo_mgm_r, apollo_mgm_w, 0xffffffff) |
| 846 | 852 | |
| 853 | AM_RANGE(0x05e800, 0x05ec07) AM_DEVREADWRITE8_LEGACY(APOLLO_SCREEN_TAG, apollo_ccr_r, apollo_ccr_w, 0xffffffff) |
| 854 | AM_RANGE(0x0a0000, 0x0bffff) AM_DEVREADWRITE16_LEGACY(APOLLO_SCREEN_TAG, apollo_cgm_r, apollo_cgm_w, 0xffffffff) |
| 855 | |
| 847 | 856 | AM_RANGE(ATBUS_IO_BASE, ATBUS_IO_END) AM_READWRITE16(apollo_atbus_io_r, apollo_atbus_io_w, 0xffffffff) |
| 848 | 857 | |
| 849 | 858 | AM_RANGE(0x080000, 0x081fff) AM_ROM /* 3C505 boot ROM */ |
| r22753 | r22754 | |
| 879 | 888 | AM_RANGE(0x058000, 0x058007) AM_DEVREADWRITE8_LEGACY(APOLLO_ETH_TAG, threecom3c505_r, threecom3c505_w, 0xffffffff) |
| 880 | 889 | AM_RANGE(0x05f800, 0x05f807) AM_DEVICE8(APOLLO_FDC_TAG, pc_fdc_at_device, map, 0xffffffff) |
| 881 | 890 | |
| 882 | | // AM_RANGE(0x05d800, 0x05dc07) AM_DEVREADWRITE16_LEGACY(APOLLO_SCREEN_TAG, apollo_mcr_r, apollo_mcr_w, 0xffffffff) |
| 891 | // AM_RANGE(0x05d800, 0x05dc07) AM_DEVREADWRITE8_LEGACY(APOLLO_SCREEN_TAG, apollo_mcr_r, apollo_mcr_w, 0xffffffff) |
| 883 | 892 | // AM_RANGE(0xfa0000, 0xfdffff) AM_DEVREADWRITE16_LEGACY(APOLLO_SCREEN_TAG, apollo_mgm_r, apollo_mgm_w, 0xffffffff) |
| 893 | // |
| 894 | // AM_RANGE(0x05e800, 0x05ec07) AM_DEVREADWRITE8_LEGACY(APOLLO_SCREEN_TAG, apollo_ccr_r, apollo_ccr_w, 0xffffffff) |
| 895 | // AM_RANGE(0x0a0000, 0x0bffff) AM_DEVREADWRITE16_LEGACY(APOLLO_SCREEN_TAG, apollo_cgm_r, apollo_cgm_w, 0xffffffff) |
| 884 | 896 | |
| 885 | 897 | AM_RANGE(ATBUS_IO_BASE, ATBUS_IO_END) AM_READWRITE16(apollo_atbus_io_r, apollo_atbus_io_w, 0xffffffff) |
| 886 | 898 | |
| r22753 | r22754 | |
| 925 | 937 | AM_RANGE(0x058000, 0x058007) AM_DEVREADWRITE8_LEGACY(APOLLO_ETH_TAG, threecom3c505_r, threecom3c505_w, 0xffffffff) |
| 926 | 938 | AM_RANGE(0x05f800, 0x05f807) AM_DEVICE8(APOLLO_FDC_TAG, pc_fdc_at_device, map, 0xffffffff) |
| 927 | 939 | |
| 928 | | AM_RANGE(0x05d800, 0x05dc07) AM_DEVREADWRITE16_LEGACY(APOLLO_SCREEN_TAG, apollo_mcr_r, apollo_mcr_w, 0xffffffff) |
| 940 | AM_RANGE(0x05d800, 0x05dc07) AM_DEVREADWRITE8_LEGACY(APOLLO_SCREEN_TAG, apollo_mcr_r, apollo_mcr_w, 0xffffffff) |
| 929 | 941 | AM_RANGE(0xfa0000, 0xfdffff) AM_DEVREADWRITE16_LEGACY(APOLLO_SCREEN_TAG, apollo_mgm_r, apollo_mgm_w, 0xffffffff) |
| 930 | 942 | |
| 943 | AM_RANGE(0x05e800, 0x05ec07) AM_DEVREADWRITE8_LEGACY(APOLLO_SCREEN_TAG, apollo_ccr_r, apollo_ccr_w, 0xffffffff) |
| 944 | AM_RANGE(0x0a0000, 0x0bffff) AM_DEVREADWRITE16_LEGACY(APOLLO_SCREEN_TAG, apollo_cgm_r, apollo_cgm_w, 0xffffffff) |
| 945 | |
| 931 | 946 | AM_RANGE(ATBUS_IO_BASE, ATBUS_IO_END) AM_READWRITE16(apollo_atbus_io_r, apollo_atbus_io_w, 0xffffffff) |
| 932 | 947 | |
| 933 | 948 | AM_RANGE(0x080000, 0x081fff) AM_ROM /* 3C505 boot ROM */ |
| r22753 | r22754 | |
| 947 | 962 | AM_RANGE(0x00000000, 0xffffffff) AM_READWRITE(apollo_unmapped_r, apollo_unmapped_w) |
| 948 | 963 | ADDRESS_MAP_END |
| 949 | 964 | |
| 950 | | |
| 951 | 965 | static ADDRESS_MAP_START(dsp5500_map, AS_PROGRAM, 32, apollo_state ) |
| 952 | 966 | AM_RANGE(0x000000, 0x00ffff) AM_ROM /* boot ROM */ |
| 953 | 967 | AM_RANGE(0x000000, 0x00ffff) AM_WRITE(apollo_rom_w) |
| r22753 | r22754 | |
| 977 | 991 | AM_RANGE(0x058000, 0x058007) AM_DEVREADWRITE8_LEGACY(APOLLO_ETH_TAG, threecom3c505_r, threecom3c505_w, 0xffffffff) |
| 978 | 992 | AM_RANGE(0x05f800, 0x05f807) AM_DEVICE8(APOLLO_FDC_TAG, pc_fdc_at_device, map, 0xffffffff) |
| 979 | 993 | |
| 980 | | // AM_RANGE(0x05d800, 0x05dc07) AM_DEVREADWRITE16_LEGACY(APOLLO_SCREEN_TAG, apollo_mcr_r, apollo_mcr_w, 0xffffffff) |
| 994 | // AM_RANGE(0x05d800, 0x05dc07) AM_DEVREADWRITE8_LEGACY(APOLLO_SCREEN_TAG, apollo_mcr_r, apollo_mcr_w, 0xffffffff) |
| 981 | 995 | // AM_RANGE(0xfa0000, 0xfdffff) AM_DEVREADWRITE16_LEGACY(APOLLO_SCREEN_TAG, apollo_mgm_r, apollo_mgm_w, 0xffffffff) |
| 996 | // |
| 997 | // AM_RANGE(0x05e800, 0x05ec07) AM_DEVREADWRITE8_LEGACY(APOLLO_SCREEN_TAG, apollo_ccr_r, apollo_ccr_w, 0xffffffff) |
| 998 | // AM_RANGE(0x0a0000, 0x0bffff) AM_DEVREADWRITE16_LEGACY(APOLLO_SCREEN_TAG, apollo_cgm_r, apollo_cgm_w, 0xffffffff) |
| 982 | 999 | |
| 983 | 1000 | AM_RANGE(ATBUS_IO_BASE, ATBUS_IO_END) AM_READWRITE16(apollo_atbus_io_r, apollo_atbus_io_w, 0xffffffff) |
| 984 | 1001 | |
| r22753 | r22754 | |
| 1236 | 1253 | MACHINE_CONFIG_END |
| 1237 | 1254 | |
| 1238 | 1255 | static MACHINE_CONFIG_DERIVED( dn3500_15i, dn3500 ) |
| 1239 | | /* video hardware 15" monochrome */ |
| 1240 | | MCFG_APOLLO_MONO15I_ADD(APOLLO_SCREEN_TAG) |
| 1256 | /* video hardware is 15" monochrome or color */ |
| 1257 | MCFG_APOLLO_GRAPHICS_ADD(APOLLO_SCREEN_TAG) |
| 1241 | 1258 | MCFG_APOLLO_KBD_ADD( APOLLO_KBD_TAG, apollo_kbd_config ) |
| 1242 | 1259 | MACHINE_CONFIG_END |
| 1243 | 1260 | |
| r22753 | r22754 | |
| 1245 | 1262 | MCFG_CPU_REPLACE(MAINCPU, M68020PMMU, 12000000) /* 12 MHz */ |
| 1246 | 1263 | MCFG_CPU_PROGRAM_MAP(dn3000_map) |
| 1247 | 1264 | MCFG_DEVICE_REMOVE( APOLLO_SIO2_TAG ) |
| 1248 | | |
| 1249 | | |
| 1250 | 1265 | MCFG_RAM_MODIFY("messram") |
| 1251 | 1266 | MCFG_RAM_DEFAULT_SIZE("8M") |
| 1252 | 1267 | MCFG_RAM_EXTRA_OPTIONS("4M") |
| r22753 | r22754 | |
| 1270 | 1285 | |
| 1271 | 1286 | static MACHINE_CONFIG_DERIVED( dn3000_15i, dn3000 ) |
| 1272 | 1287 | /* video hardware 15" monochrome */ |
| 1273 | | MCFG_APOLLO_MONO15I_ADD(APOLLO_SCREEN_TAG) |
| 1288 | MCFG_APOLLO_GRAPHICS_ADD(APOLLO_SCREEN_TAG) |
| 1274 | 1289 | MCFG_APOLLO_KBD_ADD( APOLLO_KBD_TAG, apollo_kbd_config ) |
| 1275 | 1290 | MACHINE_CONFIG_END |
| 1276 | 1291 | |
| r22753 | r22754 | |
| 1298 | 1313 | |
| 1299 | 1314 | static MACHINE_CONFIG_DERIVED( dn5500_15i, dn5500 ) |
| 1300 | 1315 | /* video hardware 15" monochrome */ |
| 1301 | | MCFG_APOLLO_MONO15I_ADD(APOLLO_SCREEN_TAG) |
| 1316 | MCFG_APOLLO_GRAPHICS_ADD(APOLLO_SCREEN_TAG) |
| 1302 | 1317 | MCFG_APOLLO_KBD_ADD( APOLLO_KBD_TAG, apollo_kbd_config ) |
| 1303 | 1318 | MACHINE_CONFIG_END |
| 1304 | 1319 | |
| r22753 | r22754 | |
| 1343 | 1358 | #define rom_dn3500_19i rom_dn3500 |
| 1344 | 1359 | |
| 1345 | 1360 | #define rom_dsp3000 rom_dn3000 |
| 1346 | | #define rom_dn3000_15i rom_dn3000 |
| 1361 | #define rom_dn3000_19i rom_dn3000 |
| 1347 | 1362 | |
| 1348 | 1363 | #define rom_dsp5500 rom_dn5500 |
| 1349 | 1364 | #define rom_dn5500_15i rom_dn5500 |
| r22753 | r22754 | |
| 1358 | 1373 | //#define DSP_FLAGS GAME_NO_SOUND |
| 1359 | 1374 | |
| 1360 | 1375 | /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */ |
| 1361 | | COMP( 1989, dn3500, 0, 0, dn3500_19i, dn3500, apollo_state, dn3500, "Apollo", "Apollo DN3500 19\" Monochrome", DN_FLAGS ) |
| 1376 | COMP( 1989, dn3500, 0, 0, dn3500_15i, dn3500, apollo_state, dn3500, "Apollo", "Apollo DN3500", DN_FLAGS ) |
| 1362 | 1377 | COMP( 1989, dsp3500, dn3500, 0, dsp3500, dsp3500, apollo_state,dsp3500,"Apollo", "Apollo DSP3500", DSP_FLAGS ) |
| 1363 | | COMP( 1989, dn3500_15i, dn3500, 0, dn3500_15i, dn3500, apollo_state, dn3500, "Apollo", "Apollo DN3500 15\" Monochrome", DN_FLAGS ) |
| 1378 | COMP( 1989, dn3500_19i, dn3500, 0, dn3500_19i, dn3500, apollo_state, dn3500, "Apollo", "Apollo DN3500 19\" Monochrome", DN_FLAGS ) |
| 1364 | 1379 | |
| 1365 | | COMP( 1988, dn3000, dn3500, 0, dn3000_19i, dn3500, apollo_state, dn3000, "Apollo", "Apollo DN3000 19\" Monochrome", DN_FLAGS ) |
| 1380 | COMP( 1988, dn3000, dn3500, 0, dn3000_15i, dn3500, apollo_state, dn3000, "Apollo", "Apollo DN3000", DN_FLAGS ) |
| 1366 | 1381 | COMP( 1988, dsp3000, dn3500, 0, dsp3000, dsp3500, apollo_state,dsp3000,"Apollo", "Apollo DSP3000", DSP_FLAGS ) |
| 1367 | | COMP( 1988, dn3000_15i, dn3500, 0, dn3000_15i, dn3500, apollo_state, dn3000, "Apollo", "Apollo DN3000 15\" Monochrome", DN_FLAGS ) |
| 1382 | COMP( 1988, dn3000_19i, dn3500, 0, dn3000_19i, dn3500, apollo_state, dn3000, "Apollo", "Apollo DN3000 19\" Monochrome", DN_FLAGS ) |
| 1368 | 1383 | |
| 1369 | | COMP( 1991, dn5500, dn3500, 0, dn5500_19i, dn3500, apollo_state, dn5500, "Apollo", "Apollo DN5500 19\" Monochrome", GAME_NOT_WORKING ) |
| 1384 | COMP( 1991, dn5500, dn3500, 0, dn5500_15i, dn3500, apollo_state, dn5500, "Apollo", "Apollo DN5500", GAME_NOT_WORKING ) |
| 1370 | 1385 | COMP( 1991, dsp5500, dn3500, 0, dsp5500, dsp3500, apollo_state,dsp5500,"Apollo", "Apollo DSP5500", GAME_NOT_WORKING ) |
| 1371 | | COMP( 1991, dn5500_15i, dn3500, 0, dn5500_15i, dn3500, apollo_state, dn5500, "Apollo", "Apollo DN5500 15\" Monochrome", GAME_NOT_WORKING ) |
| 1386 | COMP( 1991, dn5500_19i, dn3500, 0, dn5500_19i, dn3500, apollo_state, dn5500, "Apollo", "Apollo DN5500 19\" Monochrome", GAME_NOT_WORKING ) |
trunk/src/mess/machine/apollo.c
| r22753 | r22754 | |
| 93 | 93 | PORT_CONFSETTING(0x00, "Service" ) |
| 94 | 94 | PORT_CONFSETTING(APOLLO_CONF_SERVICE_MODE, "Normal " ) |
| 95 | 95 | |
| 96 | PORT_CONFNAME(APOLLO_CONF_DISPLAY, APOLLO_CONF_8_PLANES, "Graphics Controller") |
| 97 | PORT_CONFSETTING(APOLLO_CONF_8_PLANES, "8-Plane Color") |
| 98 | PORT_CONFSETTING(APOLLO_CONF_4_PLANES, "4-Plane Color") |
| 99 | PORT_CONFSETTING(APOLLO_CONF_MONO_15I, "15\" Monochrome") |
| 100 | // PORT_CONFSETTING(APOLLO_CONF_MONO_19I, "19\" Monochrome") |
| 101 | |
| 96 | 102 | PORT_CONFNAME(APOLLO_CONF_GERMAN_KBD, 0x00, "German Keyboard") |
| 97 | 103 | PORT_CONFSETTING(0x00, DEF_STR ( Off ) ) |
| 98 | 104 | PORT_CONFSETTING(APOLLO_CONF_GERMAN_KBD, DEF_STR ( On ) ) |
| 99 | 105 | |
| 100 | | PORT_CONFNAME(APOLLO_CONF_DATE_1990, 0x00, "20 Years Ago ...") |
| 106 | PORT_CONFNAME(APOLLO_CONF_DATE_1990, APOLLO_CONF_DATE_1990, "20 Years Ago ...") |
| 101 | 107 | PORT_CONFSETTING(0x00, DEF_STR ( Off ) ) |
| 102 | 108 | PORT_CONFSETTING(APOLLO_CONF_DATE_1990, DEF_STR ( On ) ) |
| 103 | 109 | |
| 104 | | PORT_CONFNAME(APOLLO_CONF_NODE_ID, 0x00, "Node ID from Disk") |
| 110 | PORT_CONFNAME(APOLLO_CONF_NODE_ID, APOLLO_CONF_NODE_ID, "Node ID from Disk") |
| 105 | 111 | PORT_CONFSETTING(0x00, DEF_STR ( Off ) ) |
| 106 | 112 | PORT_CONFSETTING(APOLLO_CONF_NODE_ID, DEF_STR ( On ) ) |
| 107 | 113 | |
| r22753 | r22754 | |
| 124 | 130 | PORT_CONFNAME(APOLLO_CONF_NET_TRACE, 0x00, "Network Trace") |
| 125 | 131 | PORT_CONFSETTING(0x00, DEF_STR ( Off ) ) |
| 126 | 132 | PORT_CONFSETTING(APOLLO_CONF_NET_TRACE, DEF_STR ( On ) ) |
| 133 | |
| 127 | 134 | INPUT_PORTS_END |
| 128 | 135 | |
| 129 | | /*------------------------------------------------- |
| 130 | | device start callback |
| 131 | | -------------------------------------------------*/ |
| 132 | | |
| 133 | | static DEVICE_START(apollo_config) |
| 134 | | { |
| 135 | | DLOG1(("start apollo_config")); |
| 136 | | } |
| 137 | | |
| 138 | | /*------------------------------------------------- |
| 139 | | device reset callback |
| 140 | | -------------------------------------------------*/ |
| 141 | | |
| 142 | | static DEVICE_RESET(apollo_config) |
| 143 | | { |
| 144 | | DLOG1(("reset apollo_config")); |
| 145 | | // load configuration |
| 146 | | config = device->machine().root_device().ioport("apollo_config")->read(); |
| 147 | | } |
| 148 | | |
| 149 | 136 | class apollo_config_device : public device_t |
| 150 | 137 | { |
| 151 | 138 | public: |
| r22753 | r22754 | |
| 161 | 148 | |
| 162 | 149 | extern const device_type APOLLO_CONF; |
| 163 | 150 | |
| 164 | | |
| 165 | 151 | const device_type APOLLO_CONF = &device_creator<apollo_config_device>; |
| 166 | 152 | |
| 167 | 153 | apollo_config_device::apollo_config_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) |
| r22753 | r22754 | |
| 185 | 171 | |
| 186 | 172 | void apollo_config_device::device_start() |
| 187 | 173 | { |
| 188 | | DEVICE_START_NAME( apollo_config )(this); |
| 174 | MLOG1(("start apollo_config")); |
| 189 | 175 | } |
| 190 | 176 | |
| 191 | 177 | //------------------------------------------------- |
| r22753 | r22754 | |
| 194 | 180 | |
| 195 | 181 | void apollo_config_device::device_reset() |
| 196 | 182 | { |
| 197 | | DEVICE_RESET_NAME( apollo_config )(this); |
| 183 | MLOG1(("reset apollo_config")); |
| 184 | // load configuration |
| 185 | config = machine().root_device().ioport("apollo_config")->read(); |
| 198 | 186 | } |
| 199 | 187 | |
| 200 | 188 | |
trunk/src/mess/includes/apollo.h
| r22753 | r22754 | |
| 210 | 210 | |
| 211 | 211 | MACHINE_CONFIG_EXTERN( apollo ); |
| 212 | 212 | |
| 213 | | |
| 214 | | |
| 215 | | |
| 216 | 213 | /*----------- machine/apollo_config.c -----------*/ |
| 217 | 214 | |
| 218 | 215 | // configuration bit definitions |
| 219 | 216 | |
| 220 | | #define APOLLO_CONF_SERVICE_MODE 0x001 |
| 221 | | #define APOLLO_CONF_GERMAN_KBD 0x002 |
| 222 | | #define APOLLO_CONF_DATE_1990 0x004 |
| 223 | | #define APOLLO_CONF_NODE_ID 0x008 |
| 224 | | #define APOLLO_CONF_IDLE_SLEEP 0x010 |
| 225 | | #define APOLLO_CONF_TRAP_TRACE 0x020 |
| 226 | | #define APOLLO_CONF_FPU_TRACE 0x040 |
| 227 | | #define APOLLO_CONF_DISK_TRACE 0x080 |
| 228 | | #define APOLLO_CONF_NET_TRACE 0x100 |
| 217 | #define APOLLO_CONF_SERVICE_MODE 0x0001 |
| 218 | #define APOLLO_CONF_DISPLAY 0x001e |
| 219 | #define APOLLO_CONF_8_PLANES 0x0002 |
| 220 | #define APOLLO_CONF_4_PLANES 0x0004 |
| 221 | #define APOLLO_CONF_MONO_15I 0x0008 |
| 222 | #define APOLLO_CONF_MONO_19I 0x0010 |
| 223 | #define APOLLO_CONF_GERMAN_KBD 0x0020 |
| 224 | #define APOLLO_CONF_DATE_1990 0x0040 |
| 225 | #define APOLLO_CONF_NODE_ID 0x0080 |
| 226 | #define APOLLO_CONF_IDLE_SLEEP 0x0100 |
| 227 | #define APOLLO_CONF_TRAP_TRACE 0x0200 |
| 228 | #define APOLLO_CONF_FPU_TRACE 0x0400 |
| 229 | #define APOLLO_CONF_DISK_TRACE 0x0800 |
| 230 | #define APOLLO_CONF_NET_TRACE 0x1000 |
| 229 | 231 | |
| 230 | 232 | // check configuration setting |
| 231 | 233 | int apollo_config(int mask); |
| r22753 | r22754 | |
| 320 | 322 | void apollo_netserver_init(const char *root_path, apollo_netserver_transmit tx_data); |
| 321 | 323 | |
| 322 | 324 | /*----------- video/apollo.c -----------*/ |
| 323 | | class apollo_mono_device : public device_t |
| 325 | |
| 326 | #define APOLLO_SCREEN_TAG "apollo_screen" |
| 327 | |
| 328 | class apollo_graphics_15i : public device_t |
| 324 | 329 | { |
| 325 | 330 | public: |
| 326 | | apollo_mono_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source); |
| 327 | | ~apollo_mono_device() { global_free(m_token); } |
| 331 | apollo_graphics_15i(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); |
| 332 | apollo_graphics_15i(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock, device_type type, const char *name, const char *shortname, const char *source); |
| 333 | ~apollo_graphics_15i() { global_free(m_token); } |
| 328 | 334 | |
| 329 | 335 | // access to legacy token |
| 330 | 336 | void *token() const { assert(m_token != NULL); return m_token; } |
| 337 | protected: |
| 338 | // device-level overrides |
| 339 | virtual void device_config_complete(); |
| 340 | virtual void device_start(); |
| 341 | virtual void device_reset(); |
| 331 | 342 | private: |
| 332 | 343 | // internal state |
| 333 | 344 | void *m_token; |
| 334 | 345 | }; |
| 335 | 346 | |
| 347 | extern const device_type APOLLO_GRAPHICS; |
| 336 | 348 | |
| 337 | | #define APOLLO_SCREEN_TAG "apollo_screen" |
| 349 | #define MCFG_APOLLO_GRAPHICS_ADD( _tag) \ |
| 350 | MCFG_FRAGMENT_ADD(apollo_graphics) \ |
| 351 | MCFG_DEVICE_ADD(_tag, APOLLO_GRAPHICS, 0) |
| 338 | 352 | |
| 339 | | class apollo_mono19i_device : public apollo_mono_device |
| 353 | MACHINE_CONFIG_EXTERN( apollo_graphics ); |
| 354 | |
| 355 | class apollo_graphics_19i : public apollo_graphics_15i |
| 340 | 356 | { |
| 341 | 357 | public: |
| 342 | | apollo_mono19i_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); |
| 358 | apollo_graphics_19i(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); |
| 343 | 359 | protected: |
| 344 | 360 | // device-level overrides |
| 345 | 361 | virtual void device_config_complete(); |
| r22753 | r22754 | |
| 351 | 367 | |
| 352 | 368 | extern const device_type APOLLO_MONO19I; |
| 353 | 369 | |
| 354 | | |
| 355 | 370 | #define MCFG_APOLLO_MONO19I_ADD(_tag) \ |
| 356 | 371 | MCFG_FRAGMENT_ADD(apollo_mono19i) \ |
| 357 | 372 | MCFG_DEVICE_ADD(_tag, APOLLO_MONO19I, 0) |
| 358 | 373 | |
| 359 | 374 | MACHINE_CONFIG_EXTERN( apollo_mono19i ); |
| 360 | 375 | |
| 361 | | class apollo_mono15i_device : public apollo_mono_device |
| 362 | | { |
| 363 | | public: |
| 364 | | apollo_mono15i_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); |
| 365 | | protected: |
| 366 | | // device-level overrides |
| 367 | | virtual void device_config_complete(); |
| 368 | | virtual void device_start(); |
| 369 | | virtual void device_reset(); |
| 370 | | private: |
| 371 | | // internal state |
| 372 | | }; |
| 376 | DECLARE_READ8_DEVICE_HANDLER( apollo_mcr_r ) ; |
| 377 | DECLARE_WRITE8_DEVICE_HANDLER(apollo_mcr_w ); |
| 373 | 378 | |
| 374 | | extern const device_type APOLLO_MONO15I; |
| 375 | | |
| 376 | | |
| 377 | | #define MCFG_APOLLO_MONO15I_ADD( _tag) \ |
| 378 | | MCFG_FRAGMENT_ADD(apollo_mono15i) \ |
| 379 | | MCFG_DEVICE_ADD(_tag, APOLLO_MONO15I, 0) |
| 380 | | |
| 381 | | MACHINE_CONFIG_EXTERN( apollo_mono15i ); |
| 382 | | |
| 383 | | DECLARE_READ16_DEVICE_HANDLER( apollo_mcr_r ) ; |
| 384 | | DECLARE_WRITE16_DEVICE_HANDLER(apollo_mcr_w ); |
| 385 | | |
| 386 | 379 | DECLARE_READ16_DEVICE_HANDLER( apollo_mgm_r ); |
| 387 | 380 | DECLARE_WRITE16_DEVICE_HANDLER( apollo_mgm_w ); |
| 388 | 381 | |
| 382 | DECLARE_READ8_DEVICE_HANDLER( apollo_ccr_r ) ; |
| 383 | DECLARE_WRITE8_DEVICE_HANDLER(apollo_ccr_w ); |
| 384 | |
| 385 | DECLARE_READ16_DEVICE_HANDLER( apollo_cgm_r ); |
| 386 | DECLARE_WRITE16_DEVICE_HANDLER( apollo_cgm_w ); |
| 387 | |
| 389 | 388 | #endif /* APOLLO_H_ */ |