trunk/src/mess/machine/c1541.c
| r17451 | r17452 | |
| 267 | 267 | ROMX_LOAD( "rolo27.uab5", 0x0000, 0x2000, CRC(171c7962) SHA1(04c892c4b3d7c74750576521fa081f07d8ca8557), ROM_BIOS(9) ) |
| 268 | 268 | ROM_SYSTEM_BIOS( 9, "tt34", "TurboTrans v3.4" ) |
| 269 | 269 | ROMX_LOAD( "ttd34.uab5", 0x0000, 0x8000, CRC(518d34a1) SHA1(4d6ffdce6ab122e9627b0a839861687bcd4e03ec), ROM_BIOS(10) ) |
| 270 | ROM_SYSTEM_BIOS( 10, "digidos", "DigiDOS" ) |
| 271 | ROMX_LOAD( "digidos.uab5", 0x0000, 0x8000, CRC(b3f05ea3) SHA1(99d3d848344c68410b686cda812f3788b41fead3), ROM_BIOS(11) ) |
| 270 | 272 | ROM_END |
| 271 | 273 | |
| 272 | 274 | |
| r17451 | r17452 | |
| 409 | 411 | } |
| 410 | 412 | |
| 411 | 413 | |
| 414 | |
| 412 | 415 | //------------------------------------------------- |
| 416 | // read - |
| 417 | //------------------------------------------------- |
| 418 | |
| 419 | READ8_MEMBER( c1541_prologic_dos_classic_device::read ) |
| 420 | { |
| 421 | return 0; |
| 422 | } |
| 423 | |
| 424 | |
| 425 | //------------------------------------------------- |
| 426 | // write - |
| 427 | //------------------------------------------------- |
| 428 | |
| 429 | WRITE8_MEMBER( c1541_prologic_dos_classic_device::write ) |
| 430 | { |
| 431 | } |
| 432 | |
| 433 | |
| 434 | //------------------------------------------------- |
| 413 | 435 | // ADDRESS_MAP( c1541_mem ) |
| 414 | 436 | //------------------------------------------------- |
| 415 | 437 | |
| r17451 | r17452 | |
| 454 | 476 | //------------------------------------------------- |
| 455 | 477 | |
| 456 | 478 | static ADDRESS_MAP_START( c1541pdc_mem, AS_PROGRAM, 8, c1541_prologic_dos_classic_device ) |
| 457 | | AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x6000) AM_RAM AM_SHARE("share1") |
| 479 | AM_RANGE(0x0000, 0xffff) AM_READWRITE(read, write) |
| 480 | /* AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x6000) AM_RAM AM_SHARE("share1") |
| 458 | 481 | AM_RANGE(0x1800, 0x180f) AM_MIRROR(0x63f0) AM_DEVREADWRITE(M6522_0_TAG, via6522_device, read, write) |
| 459 | 482 | AM_RANGE(0x1c00, 0x1c0f) AM_MIRROR(0x63f0) AM_DEVREADWRITE(M6522_1_TAG, via6522_device, read, write) |
| 460 | 483 | AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("share1") |
| 461 | 484 | AM_RANGE(0x8800, 0x9fff) AM_RAM |
| 462 | 485 | AM_RANGE(0xa000, 0xb7ff) AM_ROM AM_REGION(M6502_TAG, 0x0000) |
| 463 | 486 | AM_RANGE(0xb800, 0xb80f) AM_READWRITE(pia_r, pia_w) |
| 464 | | AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION(M6502_TAG, 0x2000) |
| 487 | AM_RANGE(0xf000, 0xffff) AM_ROM AM_REGION(M6502_TAG, 0x2000)*/ |
| 465 | 488 | ADDRESS_MAP_END |
| 466 | 489 | |
| 467 | 490 | |
| r17451 | r17452 | |
| 853 | 876 | //------------------------------------------------- |
| 854 | 877 | |
| 855 | 878 | static MACHINE_CONFIG_FRAGMENT( c1541c ) |
| 856 | | MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_16MHz/16) |
| 857 | | MCFG_CPU_PROGRAM_MAP(c1541_mem) |
| 858 | | MCFG_QUANTUM_PERFECT_CPU(M6502_TAG) |
| 879 | MCFG_FRAGMENT_ADD(c1541) |
| 859 | 880 | |
| 860 | | MCFG_VIA6522_ADD(M6522_0_TAG, XTAL_16MHz/16, c1541c_via0_intf) |
| 861 | | MCFG_VIA6522_ADD(M6522_1_TAG, XTAL_16MHz/16, c1541_via1_intf) |
| 862 | | |
| 863 | | MCFG_LEGACY_FLOPPY_DRIVE_ADD(FLOPPY_0, c1541_floppy_interface) |
| 864 | | MCFG_64H156_ADD(C64H156_TAG, XTAL_16MHz, ga_intf) |
| 881 | MCFG_DEVICE_MODIFY(M6522_0_TAG) |
| 882 | MCFG_DEVICE_CONFIG(c1541c_via0_intf) |
| 865 | 883 | MACHINE_CONFIG_END |
| 866 | 884 | |
| 867 | 885 | |
| r17451 | r17452 | |
| 870 | 888 | //------------------------------------------------- |
| 871 | 889 | |
| 872 | 890 | static MACHINE_CONFIG_FRAGMENT( c1541dd ) |
| 873 | | MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_16MHz/16) |
| 891 | MCFG_FRAGMENT_ADD(c1541) |
| 892 | |
| 893 | MCFG_CPU_MODIFY(M6502_TAG) |
| 874 | 894 | MCFG_CPU_PROGRAM_MAP(c1541dd_mem) |
| 875 | | MCFG_QUANTUM_PERFECT_CPU(M6502_TAG) |
| 876 | | |
| 877 | | MCFG_VIA6522_ADD(M6522_0_TAG, XTAL_16MHz/16, c1541_via0_intf) |
| 878 | | MCFG_VIA6522_ADD(M6522_1_TAG, XTAL_16MHz/16, c1541_via1_intf) |
| 879 | | |
| 880 | | MCFG_LEGACY_FLOPPY_DRIVE_ADD(FLOPPY_0, c1541_floppy_interface) |
| 881 | | MCFG_64H156_ADD(C64H156_TAG, XTAL_16MHz, ga_intf) |
| 882 | 895 | MACHINE_CONFIG_END |
| 883 | 896 | |
| 884 | 897 | |
| r17451 | r17452 | |
| 887 | 900 | //------------------------------------------------- |
| 888 | 901 | |
| 889 | 902 | static MACHINE_CONFIG_FRAGMENT( c1541pd ) |
| 890 | | MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_16MHz/16) |
| 903 | MCFG_FRAGMENT_ADD(c1541) |
| 904 | |
| 905 | MCFG_CPU_MODIFY(M6502_TAG) |
| 891 | 906 | MCFG_CPU_PROGRAM_MAP(c1541pd_mem) |
| 892 | | MCFG_QUANTUM_PERFECT_CPU(M6502_TAG) |
| 893 | | |
| 894 | | MCFG_VIA6522_ADD(M6522_0_TAG, XTAL_16MHz/16, c1541_via0_intf) |
| 895 | | MCFG_VIA6522_ADD(M6522_1_TAG, XTAL_16MHz/16, c1541_via1_intf) |
| 896 | | |
| 897 | | MCFG_LEGACY_FLOPPY_DRIVE_ADD(FLOPPY_0, c1541_floppy_interface) |
| 898 | | MCFG_64H156_ADD(C64H156_TAG, XTAL_16MHz, ga_intf) |
| 899 | 907 | MACHINE_CONFIG_END |
| 900 | 908 | |
| 901 | 909 | |
| r17451 | r17452 | |
| 904 | 912 | //------------------------------------------------- |
| 905 | 913 | |
| 906 | 914 | static MACHINE_CONFIG_FRAGMENT( c1541pdc ) |
| 907 | | MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_16MHz/16) |
| 915 | MCFG_FRAGMENT_ADD(c1541) |
| 916 | |
| 917 | MCFG_CPU_MODIFY(M6502_TAG) |
| 908 | 918 | MCFG_CPU_PROGRAM_MAP(c1541pdc_mem) |
| 909 | | MCFG_QUANTUM_PERFECT_CPU(M6502_TAG) |
| 910 | 919 | |
| 911 | | MCFG_VIA6522_ADD(M6522_0_TAG, XTAL_16MHz/16, c1541_via0_intf) |
| 912 | | MCFG_VIA6522_ADD(M6522_1_TAG, XTAL_16MHz/16, c1541_via1_intf) |
| 913 | | |
| 914 | | MCFG_LEGACY_FLOPPY_DRIVE_ADD(FLOPPY_0, c1541_floppy_interface) |
| 915 | | MCFG_64H156_ADD(C64H156_TAG, XTAL_16MHz, ga_intf) |
| 916 | 920 | MCFG_PIA6821_ADD(MC6821_TAG, pia_intf) |
| 917 | 921 | MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics) |
| 918 | 922 | MACHINE_CONFIG_END |
| r17451 | r17452 | |
| 1095 | 1099 | } |
| 1096 | 1100 | } |
| 1097 | 1101 | |
| 1102 | void c1541_prologic_dos_classic_device::device_start() |
| 1103 | { |
| 1104 | // find memory regions |
| 1105 | m_mmu_rom = memregion("mmu")->base(); |
| 1106 | } |
| 1098 | 1107 | |
| 1108 | |
| 1099 | 1109 | //------------------------------------------------- |
| 1100 | 1110 | // device_reset - device-specific reset |
| 1101 | 1111 | //------------------------------------------------- |
trunk/src/mess/drivers/c64.c
| r17451 | r17452 | |
| 2 | 2 | |
| 3 | 3 | TODO: |
| 4 | 4 | |
| 5 | - sort out kernals between PAL/NTSC |
| 5 | 6 | - tsuit215 test failures |
| 6 | 7 | |
| 7 | 8 | - CPUPORT (0=FF 1=FF 0=00 1=FF 1=FF 1=FF, AFTER 00 17, RIGHT 00 DF) |
| r17451 | r17452 | |
| 1150 | 1151 | //------------------------------------------------- |
| 1151 | 1152 | |
| 1152 | 1153 | static MACHINE_CONFIG_START( ntsc_sx, sx64_state ) |
| 1154 | MCFG_FRAGMENT_ADD(ntsc) |
| 1155 | |
| 1153 | 1156 | // basic hardware |
| 1154 | | MCFG_CPU_ADD(M6510_TAG, M6510, VIC6567_CLOCK) |
| 1155 | | MCFG_CPU_PROGRAM_MAP(c64_mem) |
| 1157 | MCFG_CPU_MODIFY(M6510_TAG) |
| 1156 | 1158 | MCFG_CPU_CONFIG(sx64_cpu_intf) |
| 1157 | | MCFG_CPU_VBLANK_INT(SCREEN_TAG, c64_frame_interrupt) |
| 1158 | | MCFG_QUANTUM_PERFECT_CPU(M6510_TAG) |
| 1159 | 1159 | |
| 1160 | | // video hardware |
| 1161 | | MCFG_MOS6567_ADD(MOS6567_TAG, SCREEN_TAG, VIC6567_CLOCK, vic_intf, vic_videoram_map, vic_colorram_map) |
| 1162 | | |
| 1163 | | // sound hardware |
| 1164 | | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 1165 | | MCFG_SOUND_ADD(MOS6851_TAG, SID6581, VIC6567_CLOCK) |
| 1166 | | MCFG_SOUND_CONFIG(sid_intf) |
| 1167 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) |
| 1168 | | MCFG_SOUND_ADD("dac", DAC, 0) |
| 1169 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) |
| 1170 | | |
| 1171 | 1160 | // devices |
| 1172 | | MCFG_PLS100_ADD(PLA_TAG) |
| 1173 | | MCFG_MOS6526R1_ADD(MOS6526_1_TAG, VIC6567_CLOCK, cia1_intf) |
| 1174 | | MCFG_MOS6526R1_ADD(MOS6526_2_TAG, VIC6567_CLOCK, cia2_intf) |
| 1175 | | MCFG_QUICKLOAD_ADD("quickload", cbm_c64, "p00,prg,t64", CBM_QUICKLOAD_DELAY_SECONDS) |
| 1176 | | MCFG_CBM_IEC_BUS_ADD(iec_intf) |
| 1177 | | MCFG_CBM_IEC_SLOT_ADD("iec4", 4, cbm_iec_devices, NULL, NULL) |
| 1161 | MCFG_DEVICE_REMOVE("iec8") |
| 1178 | 1162 | MCFG_CBM_IEC_SLOT_ADD("iec8", 8, sx1541_iec_devices, "sx1541", NULL) |
| 1179 | | MCFG_CBM_IEC_SLOT_ADD("iec9", 9, cbm_iec_devices, NULL, NULL) |
| 1180 | | MCFG_CBM_IEC_SLOT_ADD("iec10", 10, cbm_iec_devices, NULL, NULL) |
| 1181 | | MCFG_CBM_IEC_SLOT_ADD("iec11", 11, cbm_iec_devices, NULL, NULL) |
| 1182 | | MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vic20_control_port_devices, NULL, NULL) |
| 1183 | | MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vic20_control_port_devices, NULL, NULL) |
| 1184 | | MCFG_C64_EXPANSION_SLOT_ADD(C64_EXPANSION_SLOT_TAG, VIC6567_CLOCK, expansion_intf, c64_expansion_cards, NULL, NULL) |
| 1185 | | MCFG_C64_USER_PORT_ADD(C64_USER_PORT_TAG, user_intf, c64_user_port_cards, NULL, NULL) |
| 1186 | | |
| 1187 | | // software list |
| 1188 | | MCFG_SOFTWARE_LIST_ADD("cart_list_vic10", "vic10") |
| 1189 | | MCFG_SOFTWARE_LIST_FILTER("cart_list_vic10", "NTSC") |
| 1190 | | MCFG_SOFTWARE_LIST_ADD("cart_list_c64", "c64_cart") |
| 1191 | | MCFG_SOFTWARE_LIST_FILTER("cart_list_c64", "NTSC") |
| 1192 | | MCFG_SOFTWARE_LIST_ADD("disk_list", "c64_flop") |
| 1193 | | MCFG_SOFTWARE_LIST_FILTER("disk_list", "NTSC") |
| 1194 | | |
| 1195 | | // internal ram |
| 1196 | | MCFG_RAM_ADD(RAM_TAG) |
| 1197 | | MCFG_RAM_DEFAULT_SIZE("64K") |
| 1198 | 1163 | MACHINE_CONFIG_END |
| 1199 | 1164 | |
| 1200 | 1165 | |
| r17451 | r17452 | |
| 1203 | 1168 | //------------------------------------------------- |
| 1204 | 1169 | |
| 1205 | 1170 | static MACHINE_CONFIG_START( ntsc_dx, sx64_state ) |
| 1206 | | // basic hardware |
| 1207 | | MCFG_CPU_ADD(M6510_TAG, M6510, VIC6567_CLOCK) |
| 1208 | | MCFG_CPU_PROGRAM_MAP(c64_mem) |
| 1209 | | MCFG_CPU_CONFIG(sx64_cpu_intf) |
| 1210 | | MCFG_CPU_VBLANK_INT(SCREEN_TAG, c64_frame_interrupt) |
| 1211 | | MCFG_QUANTUM_PERFECT_CPU(M6510_TAG) |
| 1171 | MCFG_FRAGMENT_ADD(ntsc_sx) |
| 1212 | 1172 | |
| 1213 | | // video hardware |
| 1214 | | MCFG_MOS6567_ADD(MOS6567_TAG, SCREEN_TAG, VIC6567_CLOCK, vic_intf, vic_videoram_map, vic_colorram_map) |
| 1215 | | |
| 1216 | | // sound hardware |
| 1217 | | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 1218 | | MCFG_SOUND_ADD(MOS6851_TAG, SID6581, VIC6567_CLOCK) |
| 1219 | | MCFG_SOUND_CONFIG(sid_intf) |
| 1220 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) |
| 1221 | | MCFG_SOUND_ADD("dac", DAC, 0) |
| 1222 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) |
| 1223 | | |
| 1224 | 1173 | // devices |
| 1225 | | MCFG_PLS100_ADD(PLA_TAG) |
| 1226 | | MCFG_MOS6526R1_ADD(MOS6526_1_TAG, VIC6567_CLOCK, cia1_intf) |
| 1227 | | MCFG_MOS6526R1_ADD(MOS6526_2_TAG, VIC6567_CLOCK, cia2_intf) |
| 1228 | | MCFG_QUICKLOAD_ADD("quickload", cbm_c64, "p00,prg,t64", CBM_QUICKLOAD_DELAY_SECONDS) |
| 1229 | | MCFG_CBM_IEC_BUS_ADD(iec_intf) |
| 1230 | | MCFG_CBM_IEC_SLOT_ADD("iec4", 4, cbm_iec_devices, NULL, NULL) |
| 1231 | | MCFG_CBM_IEC_SLOT_ADD("iec8", 8, sx1541_iec_devices, "sx1541", NULL) |
| 1232 | | MCFG_CBM_IEC_SLOT_ADD("iec9", 9, sx1541_iec_devices, "sx1541", NULL) |
| 1233 | | MCFG_CBM_IEC_SLOT_ADD("iec10", 10, cbm_iec_devices, NULL, NULL) |
| 1234 | | MCFG_CBM_IEC_SLOT_ADD("iec11", 11, cbm_iec_devices, NULL, NULL) |
| 1235 | | MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vic20_control_port_devices, NULL, NULL) |
| 1236 | | MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vic20_control_port_devices, NULL, NULL) |
| 1237 | | MCFG_C64_EXPANSION_SLOT_ADD(C64_EXPANSION_SLOT_TAG, VIC6567_CLOCK, expansion_intf, c64_expansion_cards, NULL, NULL) |
| 1238 | | MCFG_C64_USER_PORT_ADD(C64_USER_PORT_TAG, user_intf, c64_user_port_cards, NULL, NULL) |
| 1239 | | |
| 1240 | | // software list |
| 1241 | | MCFG_SOFTWARE_LIST_ADD("cart_list_vic10", "vic10") |
| 1242 | | MCFG_SOFTWARE_LIST_FILTER("cart_list_vic10", "NTSC") |
| 1243 | | MCFG_SOFTWARE_LIST_ADD("cart_list_c64", "c64_cart") |
| 1244 | | MCFG_SOFTWARE_LIST_FILTER("cart_list_c64", "NTSC") |
| 1245 | | MCFG_SOFTWARE_LIST_ADD("disk_list", "c64_flop") |
| 1246 | | MCFG_SOFTWARE_LIST_FILTER("disk_list", "NTSC") |
| 1247 | | |
| 1248 | | // internal ram |
| 1249 | | MCFG_RAM_ADD(RAM_TAG) |
| 1250 | | MCFG_RAM_DEFAULT_SIZE("64K") |
| 1174 | MCFG_DEVICE_REMOVE("iec9") |
| 1175 | MCFG_CBM_IEC_SLOT_ADD("iec9", 8, sx1541_iec_devices, "sx1541", NULL) |
| 1251 | 1176 | MACHINE_CONFIG_END |
| 1252 | 1177 | |
| 1253 | 1178 | |
| r17451 | r17452 | |
| 1255 | 1180 | // MACHINE_CONFIG( ntsc_c ) |
| 1256 | 1181 | //------------------------------------------------- |
| 1257 | 1182 | |
| 1258 | | static MACHINE_CONFIG_START( ntsc_c, c64c_state ) |
| 1259 | | // basic hardware |
| 1260 | | MCFG_CPU_ADD(M6510_TAG, M6510, VIC6567_CLOCK) |
| 1261 | | MCFG_CPU_PROGRAM_MAP(c64_mem) |
| 1262 | | MCFG_CPU_CONFIG(cpu_intf) |
| 1263 | | MCFG_CPU_VBLANK_INT(SCREEN_TAG, c64_frame_interrupt) |
| 1264 | | MCFG_QUANTUM_PERFECT_CPU(M6510_TAG) |
| 1265 | | |
| 1266 | | // video hardware |
| 1267 | | MCFG_MOS8562_ADD(MOS6567_TAG, SCREEN_TAG, VIC6567_CLOCK, vic_intf, vic_videoram_map, vic_colorram_map) |
| 1268 | | |
| 1269 | | // sound hardware |
| 1270 | | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 1271 | | MCFG_SOUND_ADD(MOS6851_TAG, SID6581, VIC6567_CLOCK) |
| 1272 | | MCFG_SOUND_CONFIG(sid_intf) |
| 1273 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) |
| 1274 | | MCFG_SOUND_ADD("dac", DAC, 0) |
| 1275 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) |
| 1276 | | |
| 1277 | | // devices |
| 1278 | | MCFG_PLS100_ADD(PLA_TAG) |
| 1279 | | MCFG_MOS6526R1_ADD(MOS6526_1_TAG, VIC6567_CLOCK, cia1_intf) |
| 1280 | | MCFG_MOS6526R1_ADD(MOS6526_2_TAG, VIC6567_CLOCK, cia2_intf) |
| 1281 | | MCFG_QUICKLOAD_ADD("quickload", cbm_c64, "p00,prg,t64", CBM_QUICKLOAD_DELAY_SECONDS) |
| 1282 | | MCFG_CASSETTE_ADD(CASSETTE_TAG, cbm_cassette_interface) |
| 1283 | | MCFG_TIMER_ADD(TIMER_C1531_TAG, cassette_tick) |
| 1284 | | MCFG_CBM_IEC_ADD(iec_intf, "c1541") |
| 1285 | | MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vic20_control_port_devices, NULL, NULL) |
| 1286 | | MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vic20_control_port_devices, NULL, NULL) |
| 1287 | | MCFG_C64_EXPANSION_SLOT_ADD(C64_EXPANSION_SLOT_TAG, VIC6567_CLOCK, expansion_intf, c64_expansion_cards, NULL, NULL) |
| 1288 | | MCFG_C64_USER_PORT_ADD(C64_USER_PORT_TAG, user_intf, c64_user_port_cards, NULL, NULL) |
| 1289 | | |
| 1290 | | // software list |
| 1291 | | MCFG_SOFTWARE_LIST_ADD("cart_list_vic10", "vic10") |
| 1292 | | MCFG_SOFTWARE_LIST_FILTER("cart_list_vic10", "NTSC") |
| 1293 | | MCFG_SOFTWARE_LIST_ADD("cart_list_c64", "c64_cart") |
| 1294 | | MCFG_SOFTWARE_LIST_FILTER("cart_list_c64", "NTSC") |
| 1295 | | MCFG_SOFTWARE_LIST_ADD("disk_list", "c64_flop") |
| 1296 | | MCFG_SOFTWARE_LIST_FILTER("disk_list", "NTSC") |
| 1297 | | |
| 1298 | | // internal ram |
| 1299 | | MCFG_RAM_ADD(RAM_TAG) |
| 1300 | | MCFG_RAM_DEFAULT_SIZE("64K") |
| 1183 | static MACHINE_CONFIG_DERIVED_CLASS( ntsc_c, ntsc, c64c_state ) |
| 1301 | 1184 | MACHINE_CONFIG_END |
| 1302 | 1185 | |
| 1303 | 1186 | |
| r17451 | r17452 | |
| 1356 | 1239 | //------------------------------------------------- |
| 1357 | 1240 | |
| 1358 | 1241 | static MACHINE_CONFIG_START( pal_sx, sx64_state ) |
| 1242 | MCFG_FRAGMENT_ADD(pal) |
| 1243 | |
| 1359 | 1244 | // basic hardware |
| 1360 | | MCFG_CPU_ADD(M6510_TAG, M6510, VIC6569_CLOCK) |
| 1361 | | MCFG_CPU_PROGRAM_MAP(c64_mem) |
| 1245 | MCFG_CPU_MODIFY(M6510_TAG) |
| 1362 | 1246 | MCFG_CPU_CONFIG(sx64_cpu_intf) |
| 1363 | | MCFG_CPU_VBLANK_INT(SCREEN_TAG, c64_frame_interrupt) |
| 1364 | | MCFG_QUANTUM_PERFECT_CPU(M6510_TAG) |
| 1365 | 1247 | |
| 1366 | | // video hardware |
| 1367 | | MCFG_MOS6569_ADD(MOS6569_TAG, SCREEN_TAG, VIC6569_CLOCK, vic_intf, vic_videoram_map, vic_colorram_map) |
| 1368 | | |
| 1369 | | // sound hardware |
| 1370 | | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 1371 | | MCFG_SOUND_ADD(MOS6851_TAG, SID6581, VIC6569_CLOCK) |
| 1372 | | MCFG_SOUND_CONFIG(sid_intf) |
| 1373 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) |
| 1374 | | MCFG_SOUND_ADD("dac", DAC, 0) |
| 1375 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) |
| 1376 | | |
| 1377 | 1248 | // devices |
| 1378 | | MCFG_PLS100_ADD(PLA_TAG) |
| 1379 | | MCFG_MOS6526R1_ADD(MOS6526_1_TAG, VIC6569_CLOCK, cia1_intf) |
| 1380 | | MCFG_MOS6526R1_ADD(MOS6526_2_TAG, VIC6569_CLOCK, cia2_intf) |
| 1381 | | MCFG_QUICKLOAD_ADD("quickload", cbm_c64, "p00,prg,t64", CBM_QUICKLOAD_DELAY_SECONDS) |
| 1382 | | MCFG_CBM_IEC_BUS_ADD(iec_intf) |
| 1383 | | MCFG_CBM_IEC_SLOT_ADD("iec4", 4, cbm_iec_devices, NULL, NULL) |
| 1249 | MCFG_DEVICE_REMOVE("iec8") |
| 1384 | 1250 | MCFG_CBM_IEC_SLOT_ADD("iec8", 8, sx1541_iec_devices, "sx1541", NULL) |
| 1385 | | MCFG_CBM_IEC_SLOT_ADD("iec9", 9, cbm_iec_devices, NULL, NULL) |
| 1386 | | MCFG_CBM_IEC_SLOT_ADD("iec10", 10, cbm_iec_devices, NULL, NULL) |
| 1387 | | MCFG_CBM_IEC_SLOT_ADD("iec11", 11, cbm_iec_devices, NULL, NULL) |
| 1388 | | MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vic20_control_port_devices, NULL, NULL) |
| 1389 | | MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vic20_control_port_devices, NULL, NULL) |
| 1390 | | MCFG_C64_EXPANSION_SLOT_ADD(C64_EXPANSION_SLOT_TAG, VIC6569_CLOCK, expansion_intf, c64_expansion_cards, NULL, NULL) |
| 1391 | | MCFG_C64_USER_PORT_ADD(C64_USER_PORT_TAG, user_intf, c64_user_port_cards, NULL, NULL) |
| 1392 | | |
| 1393 | | // software list |
| 1394 | | MCFG_SOFTWARE_LIST_ADD("cart_list_vic10", "vic10") |
| 1395 | | MCFG_SOFTWARE_LIST_FILTER("cart_list_vic10", "PAL") |
| 1396 | | MCFG_SOFTWARE_LIST_ADD("cart_list_c64", "c64_cart") |
| 1397 | | MCFG_SOFTWARE_LIST_FILTER("cart_list_c64", "PAL") |
| 1398 | | MCFG_SOFTWARE_LIST_ADD("disk_list", "c64_flop") |
| 1399 | | MCFG_SOFTWARE_LIST_FILTER("disk_list", "PAL") |
| 1400 | | |
| 1401 | | // internal ram |
| 1402 | | MCFG_RAM_ADD(RAM_TAG) |
| 1403 | | MCFG_RAM_DEFAULT_SIZE("64K") |
| 1404 | 1251 | MACHINE_CONFIG_END |
| 1405 | 1252 | |
| 1406 | 1253 | |
| r17451 | r17452 | |
| 1408 | 1255 | // MACHINE_CONFIG( pal_c ) |
| 1409 | 1256 | //------------------------------------------------- |
| 1410 | 1257 | |
| 1411 | | static MACHINE_CONFIG_START( pal_c, c64c_state ) |
| 1412 | | // basic hardware |
| 1413 | | MCFG_CPU_ADD(M6510_TAG, M6510, VIC6569_CLOCK) |
| 1414 | | MCFG_CPU_PROGRAM_MAP(c64_mem) |
| 1415 | | MCFG_CPU_CONFIG(cpu_intf) |
| 1416 | | MCFG_CPU_VBLANK_INT(SCREEN_TAG, c64_frame_interrupt) |
| 1417 | | MCFG_QUANTUM_PERFECT_CPU(M6510_TAG) |
| 1418 | | |
| 1419 | | // video hardware |
| 1420 | | MCFG_MOS8565_ADD(MOS6569_TAG, SCREEN_TAG, VIC6569_CLOCK, vic_intf, vic_videoram_map, vic_colorram_map) |
| 1421 | | |
| 1422 | | // sound hardware |
| 1423 | | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 1424 | | MCFG_SOUND_ADD(MOS6851_TAG, SID6581, VIC6569_CLOCK) |
| 1425 | | MCFG_SOUND_CONFIG(sid_intf) |
| 1426 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) |
| 1427 | | MCFG_SOUND_ADD("dac", DAC, 0) |
| 1428 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) |
| 1429 | | |
| 1430 | | // devices |
| 1431 | | MCFG_PLS100_ADD(PLA_TAG) |
| 1432 | | MCFG_MOS6526R1_ADD(MOS6526_1_TAG, VIC6569_CLOCK, cia1_intf) |
| 1433 | | MCFG_MOS6526R1_ADD(MOS6526_2_TAG, VIC6569_CLOCK, cia2_intf) |
| 1434 | | MCFG_QUICKLOAD_ADD("quickload", cbm_c64, "p00,prg,t64", CBM_QUICKLOAD_DELAY_SECONDS) |
| 1435 | | MCFG_CASSETTE_ADD(CASSETTE_TAG, cbm_cassette_interface) |
| 1436 | | MCFG_TIMER_ADD(TIMER_C1531_TAG, cassette_tick) |
| 1437 | | MCFG_CBM_IEC_ADD(iec_intf, "c1541") |
| 1438 | | MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vic20_control_port_devices, NULL, NULL) |
| 1439 | | MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vic20_control_port_devices, NULL, NULL) |
| 1440 | | MCFG_C64_EXPANSION_SLOT_ADD(C64_EXPANSION_SLOT_TAG, VIC6569_CLOCK, expansion_intf, c64_expansion_cards, NULL, NULL) |
| 1441 | | MCFG_C64_USER_PORT_ADD(C64_USER_PORT_TAG, user_intf, c64_user_port_cards, NULL, NULL) |
| 1442 | | |
| 1443 | | // software list |
| 1444 | | MCFG_SOFTWARE_LIST_ADD("cart_list_vic10", "vic10") |
| 1445 | | MCFG_SOFTWARE_LIST_FILTER("cart_list_vic10", "PAL") |
| 1446 | | MCFG_SOFTWARE_LIST_ADD("cart_list_c64", "c64_cart") |
| 1447 | | MCFG_SOFTWARE_LIST_FILTER("cart_list_c64", "PAL") |
| 1448 | | MCFG_SOFTWARE_LIST_ADD("disk_list", "c64_flop") |
| 1449 | | MCFG_SOFTWARE_LIST_FILTER("disk_list", "PAL") |
| 1450 | | |
| 1451 | | // internal ram |
| 1452 | | MCFG_RAM_ADD(RAM_TAG) |
| 1453 | | MCFG_RAM_DEFAULT_SIZE("64K") |
| 1258 | static MACHINE_CONFIG_DERIVED_CLASS( pal_c, pal, c64c_state ) |
| 1454 | 1259 | MACHINE_CONFIG_END |
| 1455 | 1260 | |
| 1456 | 1261 | |
| r17451 | r17452 | |
| 1570 | 1375 | ROMX_LOAD( "exos4.u4", 0x0000, 0x2000, CRC(d5cf83a9) SHA1(d5f03a5c0e9d00032d4751ecc6bcd6385879c9c7), ROM_BIOS(27) ) |
| 1571 | 1376 | ROM_SYSTEM_BIOS(27, "pdc", "ProLogic-DOS Classic" ) |
| 1572 | 1377 | ROMX_LOAD( "pdc.u4", 0x0000, 0x4000, CRC(6b653b9c) SHA1(0f44a9c62619424a0cd48a90e1b377b987b494e0), ROM_BIOS(28) ) |
| 1378 | ROM_SYSTEM_BIOS(28, "digidos", "DigiDOS" ) |
| 1379 | ROMX_LOAD( "digidos.u4", 0x0000, 0x4000, CRC(2b0c8e89) SHA1(542d6f61c318bced0642e7c2d4d3b34a0f13e634), ROM_BIOS(29) ) |
| 1380 | ROM_SYSTEM_BIOS(29, "magnum", "Magnum Load" ) |
| 1381 | ROMX_LOAD( "magnum.u4", 0x0000, 0x4000, CRC(b2cffcc6) SHA1(827c782c1723b5d0992c05c00738ae4b2133b641), ROM_BIOS(30) ) |
| 1573 | 1382 | |
| 1574 | 1383 | ROM_REGION( 0x1000, "charom", 0 ) |
| 1575 | 1384 | ROM_LOAD( "901225-01.u5", 0x0000, 0x1000, CRC(ec4272ee) SHA1(adc7c31e18c7c7413d54802ef2f4193da14711aa) ) |
| r17451 | r17452 | |
| 1780 | 1589 | // SYSTEM DRIVERS |
| 1781 | 1590 | //************************************************************************** |
| 1782 | 1591 | |
| 1783 | | // YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS |
| 1784 | | COMP( 1982, c64n, 0, 0, ntsc, c64, driver_device, 0, "Commodore Business Machines", "Commodore 64 (NTSC)", 0 ) |
| 1785 | | COMP( 1982, c64j, c64n, 0, ntsc, c64, driver_device, 0, "Commodore Business Machines", "Commodore 64 (Japan)", 0 ) |
| 1786 | | COMP( 1982, c64p, c64n, 0, pal, c64, driver_device, 0, "Commodore Business Machines", "Commodore 64 (PAL)", 0 ) |
| 1787 | | COMP( 1982, c64sw, c64n, 0, pal, c64sw, driver_device, 0, "Commodore Business Machines", "Commodore 64 / VIC-64S (Sweden/Finland)", 0 ) |
| 1788 | | COMP( 1983, pet64, c64n, 0, pet64, c64, driver_device, 0, "Commodore Business Machines", "PET 64 / CBM 4064 (NTSC)", 0 ) |
| 1789 | | COMP( 1983, edu64, c64n, 0, pet64, c64, driver_device, 0, "Commodore Business Machines", "Educator 64 (NTSC)", 0 ) |
| 1790 | | COMP( 1984, sx64n, c64n, 0, ntsc_sx, c64, driver_device, 0, "Commodore Business Machines", "SX-64 / Executive 64 (NTSC)", 0 ) |
| 1791 | | COMP( 1984, sx64p, c64n, 0, pal_sx, c64, driver_device, 0, "Commodore Business Machines", "SX-64 / Executive 64 (PAL)", 0 ) |
| 1792 | | COMP( 1984, vip64, c64n, 0, pal_sx, c64sw, driver_device, 0, "Commodore Business Machines", "VIP-64 (Sweden/Finland)", 0 ) |
| 1793 | | COMP( 1984, dx64, c64n, 0, ntsc_dx, c64, driver_device, 0, "Commodore Business Machines", "DX-64 (NTSC)", 0 ) |
| 1592 | // YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS |
| 1593 | COMP( 1982, c64n, 0, 0, ntsc, c64, driver_device, 0, "Commodore Business Machines", "Commodore 64 (NTSC)", GAME_SUPPORTS_SAVE ) |
| 1594 | COMP( 1982, c64j, c64n, 0, ntsc, c64, driver_device, 0, "Commodore Business Machines", "Commodore 64 (Japan)", GAME_SUPPORTS_SAVE ) |
| 1595 | COMP( 1982, c64p, c64n, 0, pal, c64, driver_device, 0, "Commodore Business Machines", "Commodore 64 (PAL)", GAME_SUPPORTS_SAVE ) |
| 1596 | COMP( 1982, c64sw, c64n, 0, pal, c64sw, driver_device, 0, "Commodore Business Machines", "Commodore 64 / VIC-64S (Sweden/Finland)", GAME_SUPPORTS_SAVE ) |
| 1597 | COMP( 1983, pet64, c64n, 0, pet64, c64, driver_device, 0, "Commodore Business Machines", "PET 64 / CBM 4064 (NTSC)", GAME_SUPPORTS_SAVE ) |
| 1598 | COMP( 1983, edu64, c64n, 0, pet64, c64, driver_device, 0, "Commodore Business Machines", "Educator 64 (NTSC)", GAME_SUPPORTS_SAVE ) |
| 1599 | COMP( 1984, sx64n, c64n, 0, ntsc_sx, c64, driver_device, 0, "Commodore Business Machines", "SX-64 / Executive 64 (NTSC)", GAME_SUPPORTS_SAVE ) |
| 1600 | COMP( 1984, sx64p, c64n, 0, pal_sx, c64, driver_device, 0, "Commodore Business Machines", "SX-64 / Executive 64 (PAL)", GAME_SUPPORTS_SAVE ) |
| 1601 | COMP( 1984, vip64, c64n, 0, pal_sx, c64sw, driver_device, 0, "Commodore Business Machines", "VIP-64 (Sweden/Finland)", GAME_SUPPORTS_SAVE ) |
| 1602 | COMP( 1984, dx64, c64n, 0, ntsc_dx, c64, driver_device, 0, "Commodore Business Machines", "DX-64 (NTSC)", GAME_SUPPORTS_SAVE ) |
| 1794 | 1603 | //COMP(1983, clipper, c64, 0, c64pal, clipper, XXX_CLASS, c64pal, "PDC", "Clipper", GAME_NOT_WORKING) // C64 in a briefcase with 3" floppy, electroluminescent flat screen, thermal printer |
| 1795 | 1604 | //COMP(1983, tesa6240, c64, 0, c64pal, c64, XXX_CLASS, c64pal, "Tesa", "6240", GAME_NOT_WORKING) // modified SX64 with label printer |
| 1796 | | COMP( 1986, c64cn, c64n, 0, ntsc_c, c64, driver_device, 0, "Commodore Business Machines", "Commodore 64C (NTSC)", 0 ) |
| 1797 | | COMP( 1986, c64cp, c64n, 0, pal_c, c64, driver_device, 0, "Commodore Business Machines", "Commodore 64C (PAL)", 0 ) |
| 1798 | | COMP( 1986, c64csw, c64n, 0, pal_c, c64sw, driver_device, 0, "Commodore Business Machines", "Commodore 64C (Sweden/Finland)", 0 ) |
| 1799 | | COMP( 1986, c64g, c64n, 0, pal_c, c64, driver_device, 0, "Commodore Business Machines", "Commodore 64G (PAL)", 0 ) |
| 1800 | | CONS( 1990, c64gs, c64n, 0, pal_gs, c64gs, driver_device, 0, "Commodore Business Machines", "Commodore 64 Games System (PAL)", 0 ) |
| 1605 | COMP( 1986, c64cn, c64n, 0, ntsc_c, c64, driver_device, 0, "Commodore Business Machines", "Commodore 64C (NTSC)", GAME_SUPPORTS_SAVE ) |
| 1606 | COMP( 1986, c64cp, c64n, 0, pal_c, c64, driver_device, 0, "Commodore Business Machines", "Commodore 64C (PAL)", GAME_SUPPORTS_SAVE ) |
| 1607 | COMP( 1986, c64csw, c64n, 0, pal_c, c64sw, driver_device, 0, "Commodore Business Machines", "Commodore 64C (Sweden/Finland)", GAME_SUPPORTS_SAVE ) |
| 1608 | COMP( 1986, c64g, c64n, 0, pal_c, c64, driver_device, 0, "Commodore Business Machines", "Commodore 64G (PAL)", GAME_SUPPORTS_SAVE ) |
| 1609 | CONS( 1990, c64gs, c64n, 0, pal_gs, c64gs, driver_device, 0, "Commodore Business Machines", "Commodore 64 Games System (PAL)", GAME_SUPPORTS_SAVE ) |