Previous 199869 Revisions Next

r17452 Friday 24th August, 2012 at 20:23:12 UTC by Curt Coder
(MESS) c64: Added some kernals and cleanup. (nw)
[src/mess/drivers]c64.c
[src/mess/machine]c1541.c c1541.h

trunk/src/mess/machine/c1541.c
r17451r17452
267267    ROMX_LOAD( "rolo27.uab5", 0x0000, 0x2000, CRC(171c7962) SHA1(04c892c4b3d7c74750576521fa081f07d8ca8557), ROM_BIOS(9) )
268268    ROM_SYSTEM_BIOS( 9, "tt34", "TurboTrans v3.4" )
269269    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) )
270272ROM_END
271273
272274
r17451r17452
409411}
410412
411413
414
412415//-------------------------------------------------
416//  read -
417//-------------------------------------------------
418
419READ8_MEMBER( c1541_prologic_dos_classic_device::read )
420{
421    return 0;
422}
423
424
425//-------------------------------------------------
426//  write -
427//-------------------------------------------------
428
429WRITE8_MEMBER( c1541_prologic_dos_classic_device::write )
430{
431}
432
433
434//-------------------------------------------------
413435//  ADDRESS_MAP( c1541_mem )
414436//-------------------------------------------------
415437
r17451r17452
454476//-------------------------------------------------
455477
456478static 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")
458481    AM_RANGE(0x1800, 0x180f) AM_MIRROR(0x63f0) AM_DEVREADWRITE(M6522_0_TAG, via6522_device, read, write)
459482    AM_RANGE(0x1c00, 0x1c0f) AM_MIRROR(0x63f0) AM_DEVREADWRITE(M6522_1_TAG, via6522_device, read, write)
460483    AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("share1")
461484    AM_RANGE(0x8800, 0x9fff) AM_RAM
462485    AM_RANGE(0xa000, 0xb7ff) AM_ROM AM_REGION(M6502_TAG, 0x0000)
463486    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)*/
465488ADDRESS_MAP_END
466489
467490
r17451r17452
853876//-------------------------------------------------
854877
855878static 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)
859880
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)
865883MACHINE_CONFIG_END
866884
867885
r17451r17452
870888//-------------------------------------------------
871889
872890static 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)
874894    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)
882895MACHINE_CONFIG_END
883896
884897
r17451r17452
887900//-------------------------------------------------
888901
889902static 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)
891906    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)
899907MACHINE_CONFIG_END
900908
901909
r17451r17452
904912//-------------------------------------------------
905913
906914static 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)
908918    MCFG_CPU_PROGRAM_MAP(c1541pdc_mem)
909    MCFG_QUANTUM_PERFECT_CPU(M6502_TAG)
910919
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)
916920    MCFG_PIA6821_ADD(MC6821_TAG, pia_intf)
917921    MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
918922MACHINE_CONFIG_END
r17451r17452
10951099    }
10961100}
10971101
1102void c1541_prologic_dos_classic_device::device_start()
1103{
1104    // find memory regions
1105    m_mmu_rom = memregion("mmu")->base();
1106}
10981107
1108
10991109//-------------------------------------------------
11001110//  device_reset - device-specific reset
11011111//-------------------------------------------------
trunk/src/mess/machine/c1541.h
r17451r17452
211211    // construction/destruction
212212    c1541_prologic_dos_classic_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
213213
214    // device-level overrides
215    virtual void device_start();
216
214217    // not really public
218    DECLARE_READ8_MEMBER( read );
219    DECLARE_WRITE8_MEMBER( write );
220
215221    DECLARE_READ8_MEMBER( pia_r );
216222    DECLARE_WRITE8_MEMBER( pia_w );
217223
r17451r17452
222228protected:
223229   required_device<pia6821_device> m_pia;
224230   required_device<centronics_device> m_centronics;
231
232   UINT8 *m_mmu_rom;
225233};
226234
227235
trunk/src/mess/drivers/c64.c
r17451r17452
22
33    TODO:
44
5   - sort out kernals between PAL/NTSC
56    - tsuit215 test failures
67
78        - CPUPORT (0=FF 1=FF 0=00 1=FF 1=FF 1=FF, AFTER 00 17, RIGHT 00 DF)
r17451r17452
11501151//-------------------------------------------------
11511152
11521153static MACHINE_CONFIG_START( ntsc_sx, sx64_state )
1154   MCFG_FRAGMENT_ADD(ntsc)
1155
11531156   // basic hardware
1154   MCFG_CPU_ADD(M6510_TAG, M6510, VIC6567_CLOCK)
1155   MCFG_CPU_PROGRAM_MAP(c64_mem)
1157   MCFG_CPU_MODIFY(M6510_TAG)
11561158   MCFG_CPU_CONFIG(sx64_cpu_intf)
1157   MCFG_CPU_VBLANK_INT(SCREEN_TAG, c64_frame_interrupt)
1158   MCFG_QUANTUM_PERFECT_CPU(M6510_TAG)
11591159
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
11711160   // 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")
11781162   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")
11981163MACHINE_CONFIG_END
11991164
12001165
r17451r17452
12031168//-------------------------------------------------
12041169
12051170static 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)
12121172
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
12241173   // 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)
12511176MACHINE_CONFIG_END
12521177
12531178
r17451r17452
12551180//  MACHINE_CONFIG( ntsc_c )
12561181//-------------------------------------------------
12571182
1258static 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")
1183static MACHINE_CONFIG_DERIVED_CLASS( ntsc_c, ntsc, c64c_state )
13011184MACHINE_CONFIG_END
13021185
13031186
r17451r17452
13561239//-------------------------------------------------
13571240
13581241static MACHINE_CONFIG_START( pal_sx, sx64_state )
1242   MCFG_FRAGMENT_ADD(pal)
1243
13591244   // basic hardware
1360   MCFG_CPU_ADD(M6510_TAG, M6510, VIC6569_CLOCK)
1361   MCFG_CPU_PROGRAM_MAP(c64_mem)
1245   MCFG_CPU_MODIFY(M6510_TAG)
13621246   MCFG_CPU_CONFIG(sx64_cpu_intf)
1363   MCFG_CPU_VBLANK_INT(SCREEN_TAG, c64_frame_interrupt)
1364   MCFG_QUANTUM_PERFECT_CPU(M6510_TAG)
13651247
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
13771248   // 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")
13841250   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")
14041251MACHINE_CONFIG_END
14051252
14061253
r17451r17452
14081255//  MACHINE_CONFIG( pal_c )
14091256//-------------------------------------------------
14101257
1411static 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")
1258static MACHINE_CONFIG_DERIVED_CLASS( pal_c, pal, c64c_state )
14541259MACHINE_CONFIG_END
14551260
14561261
r17451r17452
15701375   ROMX_LOAD( "exos4.u4", 0x0000, 0x2000, CRC(d5cf83a9) SHA1(d5f03a5c0e9d00032d4751ecc6bcd6385879c9c7), ROM_BIOS(27) )
15711376   ROM_SYSTEM_BIOS(27, "pdc", "ProLogic-DOS Classic" )
15721377   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) )
15731382
15741383   ROM_REGION( 0x1000, "charom", 0 )
15751384   ROM_LOAD( "901225-01.u5", 0x0000, 0x1000, CRC(ec4272ee) SHA1(adc7c31e18c7c7413d54802ef2f4193da14711aa) )
r17451r17452
17801589//  SYSTEM DRIVERS
17811590//**************************************************************************
17821591
1783//    YEAR  NAME    PARENT  COMPAT  MACHINE     INPUT       INIT    COMPANY                        FULLNAME                                     FLAGS
1784COMP( 1982,   c64n,   0,     0,      ntsc,      c64, driver_device,      0,      "Commodore Business Machines", "Commodore 64 (NTSC)",                  0 )
1785COMP( 1982,   c64j,   c64n,   0,      ntsc,      c64, driver_device,      0,      "Commodore Business Machines", "Commodore 64 (Japan)",                  0 )
1786COMP( 1982,   c64p,   c64n,   0,      pal,      c64, driver_device,      0,      "Commodore Business Machines", "Commodore 64 (PAL)",                  0 )
1787COMP( 1982,   c64sw,   c64n,   0,      pal,      c64sw, driver_device,      0,      "Commodore Business Machines", "Commodore 64 / VIC-64S (Sweden/Finland)",   0 )
1788COMP( 1983, pet64,   c64n,   0,     pet64,     c64, driver_device,    0,     "Commodore Business Machines", "PET 64 / CBM 4064 (NTSC)",               0 )
1789COMP( 1983, edu64,  c64n,   0,     pet64,     c64, driver_device,    0,     "Commodore Business Machines", "Educator 64 (NTSC)",                  0 )
1790COMP( 1984, sx64n,   c64n,   0,      ntsc_sx,   c64, driver_device,      0,      "Commodore Business Machines", "SX-64 / Executive 64 (NTSC)",            0 )
1791COMP( 1984, sx64p,   c64n,   0,      pal_sx,      c64, driver_device,      0,      "Commodore Business Machines", "SX-64 / Executive 64 (PAL)",            0 )
1792COMP( 1984, vip64,   c64n,   0,      pal_sx,      c64sw, driver_device,      0,      "Commodore Business Machines", "VIP-64 (Sweden/Finland)",               0 )
1793COMP( 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
1593COMP( 1982,   c64n,   0,     0,      ntsc,      c64,    driver_device,      0,      "Commodore Business Machines", "Commodore 64 (NTSC)",                  GAME_SUPPORTS_SAVE )
1594COMP( 1982,   c64j,   c64n,   0,      ntsc,      c64,    driver_device,      0,      "Commodore Business Machines", "Commodore 64 (Japan)",                  GAME_SUPPORTS_SAVE )
1595COMP( 1982,   c64p,   c64n,   0,      pal,      c64,    driver_device,      0,      "Commodore Business Machines", "Commodore 64 (PAL)",                  GAME_SUPPORTS_SAVE )
1596COMP( 1982,   c64sw,   c64n,   0,      pal,      c64sw,    driver_device,      0,      "Commodore Business Machines", "Commodore 64 / VIC-64S (Sweden/Finland)",   GAME_SUPPORTS_SAVE )
1597COMP( 1983, pet64,   c64n,   0,     pet64,     c64,    driver_device,       0,     "Commodore Business Machines", "PET 64 / CBM 4064 (NTSC)",               GAME_SUPPORTS_SAVE )
1598COMP( 1983, edu64,  c64n,   0,     pet64,     c64,    driver_device,       0,     "Commodore Business Machines", "Educator 64 (NTSC)",                  GAME_SUPPORTS_SAVE )
1599COMP( 1984, sx64n,   c64n,   0,      ntsc_sx,   c64,    driver_device,      0,      "Commodore Business Machines", "SX-64 / Executive 64 (NTSC)",            GAME_SUPPORTS_SAVE )
1600COMP( 1984, sx64p,   c64n,   0,      pal_sx,      c64,    driver_device,      0,      "Commodore Business Machines", "SX-64 / Executive 64 (PAL)",            GAME_SUPPORTS_SAVE )
1601COMP( 1984, vip64,   c64n,   0,      pal_sx,      c64sw,    driver_device,      0,      "Commodore Business Machines", "VIP-64 (Sweden/Finland)",               GAME_SUPPORTS_SAVE )
1602COMP( 1984, dx64,   c64n,   0,      ntsc_dx,   c64,    driver_device,      0,      "Commodore Business Machines", "DX-64 (NTSC)",                        GAME_SUPPORTS_SAVE )
17941603//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
17951604//COMP(1983, tesa6240, c64,  0, c64pal,  c64, XXX_CLASS,     c64pal,  "Tesa", "6240", GAME_NOT_WORKING) // modified SX64 with label printer
1796COMP( 1986, c64cn,   c64n,   0,     ntsc_c,      c64, driver_device,      0,      "Commodore Business Machines", "Commodore 64C (NTSC)",                  0 )
1797COMP( 1986, c64cp,   c64n,   0,     pal_c,      c64, driver_device,      0,      "Commodore Business Machines", "Commodore 64C (PAL)",                  0 )
1798COMP( 1986, c64csw,   c64n,   0,     pal_c,      c64sw, driver_device,      0,      "Commodore Business Machines", "Commodore 64C (Sweden/Finland)",         0 )
1799COMP( 1986, c64g,   c64n,   0,      pal_c,      c64, driver_device,      0,      "Commodore Business Machines", "Commodore 64G (PAL)",                  0 )
1800CONS( 1990, c64gs,   c64n,   0,      pal_gs,      c64gs, driver_device,      0,      "Commodore Business Machines", "Commodore 64 Games System (PAL)",         0 )
1605COMP( 1986, c64cn,   c64n,   0,     ntsc_c,      c64,    driver_device,      0,      "Commodore Business Machines", "Commodore 64C (NTSC)",                  GAME_SUPPORTS_SAVE )
1606COMP( 1986, c64cp,   c64n,   0,     pal_c,      c64,    driver_device,      0,      "Commodore Business Machines", "Commodore 64C (PAL)",                  GAME_SUPPORTS_SAVE )
1607COMP( 1986, c64csw,   c64n,   0,     pal_c,      c64sw,    driver_device,      0,      "Commodore Business Machines", "Commodore 64C (Sweden/Finland)",         GAME_SUPPORTS_SAVE )
1608COMP( 1986, c64g,   c64n,   0,      pal_c,      c64,    driver_device,      0,      "Commodore Business Machines", "Commodore 64G (PAL)",                  GAME_SUPPORTS_SAVE )
1609CONS( 1990, c64gs,   c64n,   0,      pal_gs,      c64gs,    driver_device,      0,      "Commodore Business Machines", "Commodore 64 Games System (PAL)",         GAME_SUPPORTS_SAVE )

Previous 199869 Revisions Next


© 1997-2024 The MAME Team