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 ) |