Previous 199869 Revisions Next

r18601 Friday 19th October, 2012 at 14:19:43 UTC by Curt Coder
(MESS) c128: Cleanup. (nw)
[src/mess]mess.lst
[src/mess/drivers]c128.c
[src/mess/includes]c128.h
[src/mess/machine]c1571.c cbmipt.c cbmipt.h

trunk/src/mess/includes/c128.h
r18600r18601
8383        m_exp_nmi(CLEAR_LINE),
8484        m_cass_rd(1),
8585        m_iec_srq(1),
86        m_vic_k(0x07)
86        m_vic_k(0x07),
87        m_caps_lock(1)
8788   { }
8889
8990   required_device<legacy_cpu_device> m_maincpu;
r18600r18601
162163   DECLARE_WRITE_LINE_MEMBER( exp_dma_w );
163164   DECLARE_WRITE_LINE_MEMBER( exp_reset_w );
164165
166   DECLARE_INPUT_CHANGED_MEMBER( restore );
167   DECLARE_INPUT_CHANGED_MEMBER( caps_lock );
168
165169   // memory state
166170   int m_z80en;
167171   int m_loram;
r18600r18601
200204
201205   // keyboard state
202206   UINT8 m_vic_k;
207   int m_caps_lock;
203208};
204209
205210
trunk/src/mess/mess.lst
r18600r18601
633633c232
634634v364
635635
636c128     // Commodore 128 - NTSC
637c128cr   // Commodore 128CR - NTSC (proto?)
638c128_se   // Commodore 128 - PAL (Swedish / Finnish)
639//c128_rr   // Commodore 128 - PAL (French)
640c128_de   // Commodore 128 - PAL (German)
641//c128_no   // Commodore 128 - PAL (Norwegian)
642c128d    // Commodore 128D - PAL
643c128dpr   // Commodore 128D - NTSC (proto)
644c128dcr   // Commodore 128DCR - NTSC
645c128dr_de  // Commodore 128DCR - PAL (German)
646//c128dr_it  // Commodore 128DCR - PAL (Italian)
647c128dr_se  // Commodore 128DCR - PAL (Swedish)
648c128d81   // Commodore 128D/81
636c128
637c128p
638c128_de
639c128_se
640c128d
641c128dp
642c128cr
643c128dcr
644c128dcrp
645c128dcr_de
646c128dcr_se
647c128d81
649648
650
651649ami1000     // Commodore Amiga 1000
652650ami1000n  //
653651ami500     // Commodore Amiga 500
trunk/src/mess/drivers/c128.c
r18600r18601
22
33    TODO:
44
5   - charom address
6   - VDC colors
7    - connect CAPS LOCK to charom A12 on international variants
8   - DCR models won't boot with 1571CR drive
59    - fix fast serial
6    - clean up inputs
10    - remove frame interrupt handler
711    - expansion DMA
812
913*/
r18600r18601
144148   read_pla(offset, ca, vma, ba, rw, aec, z80io, ms3, ms2, ms1, ms0,
145149      &sden, &dir, &gwe, &rom1, &rom2, &rom3, &rom4, &charom, &colorram, &vic,
146150      &from1, &romh, &roml, &dwe, &ioacc, &clrbank, &iocs, &casenb);
147/*
148   if (!space.debugger_access() && !ba)
149   logerror("read %04x %04x %04x - %u %u %u %u %u %u %u %u %u %u - %u %u %u %u %u %u %u %u %u %u - %u %u %u %u %u %u %u %u\n",
150      offset, ta, vma, ba, rw, aec, z80io, ms3, ms2, ms1, ms0, cas1, cas0,
151      sden, dir, gwe, rom1, rom2, rom3, rom4, charom, colorram, vic,
152      from1, romh, roml, dwe, ioacc, clrbank, iocs, casenb);
153*/
151
154152   if (!casenb)
155153   {
156154      if (!cas0)
r18600r18601
489487//  INPUT_PORTS( c128 )
490488//-------------------------------------------------
491489
490INPUT_CHANGED_MEMBER( c128_state::restore )
491{
492   check_interrupts();
493}
494
495INPUT_CHANGED_MEMBER( c128_state::caps_lock )
496{
497   m_caps_lock = newval;
498}
499
492500static INPUT_PORTS_START( c128 )
493   PORT_INCLUDE( common_cbm_keyboard )      /* ROW0 -> ROW7 */
501   PORT_INCLUDE( common_cbm_keyboard )
494502
495503   PORT_START( "K0" )
496504   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1_PAD)            PORT_CHAR(UCHAR_MAMEKEY(1_PAD))
497505   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_7_PAD)          PORT_CHAR(UCHAR_MAMEKEY(7_PAD))
498506   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_4_PAD)          PORT_CHAR(UCHAR_MAMEKEY(4_PAD))
499507   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2_PAD)            PORT_CHAR(UCHAR_MAMEKEY(2_PAD))
500   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F5)            PORT_CHAR('\t')
508   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("TAB") PORT_CODE(KEYCODE_F6)            PORT_CHAR('\t')
501509   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_5_PAD)          PORT_CHAR(UCHAR_MAMEKEY(5_PAD))
502510   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_8_PAD)          PORT_CHAR(UCHAR_MAMEKEY(8_PAD))
503   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Help") PORT_CODE(KEYCODE_F7) PORT_CHAR(UCHAR_MAMEKEY(PGUP))
511   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("HELP") PORT_CODE(KEYCODE_F9) PORT_CHAR(UCHAR_MAMEKEY(PGUP))
504512
505513   PORT_START( "K1" )
506514   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_3_PAD)          PORT_CHAR(UCHAR_MAMEKEY(3_PAD))
507515   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_9_PAD)          PORT_CHAR(UCHAR_MAMEKEY(9_PAD))
508516   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6_PAD)          PORT_CHAR(UCHAR_MAMEKEY(6_PAD))
509517   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_ENTER_PAD)       PORT_CHAR(UCHAR_MAMEKEY(ENTER_PAD))
510   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Line Feed") PORT_CODE(KEYCODE_F8) PORT_CHAR(UCHAR_MAMEKEY(PGDN))
518   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("LINE FEED") PORT_CODE(KEYCODE_F10) PORT_CHAR(UCHAR_MAMEKEY(PGDN))
511519   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PLUS_PAD)         PORT_CHAR(UCHAR_MAMEKEY(MINUS_PAD))
512520   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_MINUS_PAD)       PORT_CHAR(UCHAR_MAMEKEY(PLUS_PAD))
513   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_ESC)            PORT_CHAR(UCHAR_MAMEKEY(ESC))
521   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("ESC") PORT_CODE(KEYCODE_F5)            PORT_CHAR(UCHAR_MAMEKEY(ESC))
514522
515523   PORT_START( "K2" )
516   PORT_CONFNAME( 0x80, 0x00, "No Scroll (switch)") PORT_CODE(KEYCODE_F9)
517   PORT_CONFSETTING(   0x00, DEF_STR( Off ) )
518   PORT_CONFSETTING(   0x80, DEF_STR( On ) )
524   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("NO SCROLL") PORT_CODE(KEYCODE_F12) PORT_TOGGLE
519525   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_RIGHT)          PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
520526   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_LEFT)            PORT_CHAR(UCHAR_MAMEKEY(LEFT))
521527   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_DOWN)            PORT_CHAR(UCHAR_MAMEKEY(DOWN))
522528   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_UP)            PORT_CHAR(UCHAR_MAMEKEY(UP))
523529   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_DEL_PAD)         PORT_CHAR(UCHAR_MAMEKEY(DEL_PAD))
524530   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_0_PAD)          PORT_CHAR(UCHAR_MAMEKEY(0_PAD))
525   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Alt") PORT_CODE(KEYCODE_F6) PORT_CHAR(UCHAR_MAMEKEY(LALT))
531   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("ALT") PORT_CODE(KEYCODE_F7) PORT_CHAR(UCHAR_MAMEKEY(LALT))
526532
527   PORT_INCLUDE( c128_special )         /* SPECIAL */
533   PORT_START( "SPECIAL" )
534   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("RESTORE") PORT_CODE(KEYCODE_PRTSCR) PORT_CHANGED_MEMBER(DEVICE_SELF, c128_state, restore, 0)
535   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("SHIFT LOCK") PORT_CODE(KEYCODE_CAPSLOCK) PORT_TOGGLE PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK))
536   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("CAPS LOCK") PORT_CODE(KEYCODE_F8) PORT_TOGGLE PORT_CHANGED_MEMBER(DEVICE_SELF, c128_state, caps_lock, 0)
537   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("40/80 DISPLAY") PORT_CODE(KEYCODE_F11) PORT_TOGGLE
528538
529   PORT_INCLUDE( c64_controls )         /* CTRLSEL, JOY0, JOY1, PADDLE0 -> PADDLE3, TRACKX, TRACKY, LIGHTX, LIGHTY, OTHER */
539   PORT_INCLUDE( c64_controls )
530540INPUT_PORTS_END
531541
532542
r18600r18601
568578   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("_  { <  > }") PORT_CODE(KEYCODE_TILDE)               PORT_CHAR('_')
569579
570580   PORT_MODIFY( "SPECIAL" )
571   PORT_CONFNAME( 0x20, 0x00, "ASCII DIN (switch)" )
572   PORT_CONFSETTING(   0x00, "ASCII" )
573   PORT_CONFSETTING(   0x20, "DIN" )
581   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("ASCII/DIN") PORT_CODE(KEYCODE_F8) PORT_TOGGLE PORT_CHANGED_MEMBER(DEVICE_SELF, c128_state, caps_lock, 0)
574582INPUT_PORTS_END
575583
576584
r18600r18601
625633   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("1  !  { &  1 }") PORT_CODE(KEYCODE_1)         PORT_CHAR('1') PORT_CHAR('!')
626634
627635   PORT_MODIFY( "SPECIAL" )
628   PORT_CONFNAME( 0x20, 0x00, "ASCII ?French? (switch)" )
629   PORT_CONFSETTING(   0x00, "ASCII" )
630   PORT_CONFSETTING(   0x20, "?French?" )
636   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("CAPS LOCK ASCII/CC") PORT_CODE(KEYCODE_F8) PORT_TOGGLE PORT_CHANGED_MEMBER(DEVICE_SELF, c128_state, caps_lock, 0)
631637INPUT_PORTS_END
632638#endif
633639
r18600r18601
677683   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("2  \"  { \xc3\xa9  2 }") PORT_CODE(KEYCODE_2)         PORT_CHAR('2') PORT_CHAR('"')
678684   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("_  { <  > }") PORT_CODE(KEYCODE_TILDE)            PORT_CHAR('_')
679685   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("1  !  { \xc2\xa3  1 }") PORT_CODE(KEYCODE_1)         PORT_CHAR('1') PORT_CHAR('!')
680
681   PORT_MODIFY( "SPECIAL" )
682   PORT_CONFNAME( 0x20, 0x00, "ASCII Italian (switch)" )
683   PORT_CONFSETTING( 0x00, "ASCII" )
684   PORT_CONFSETTING( 0x20, DEF_STR( Italian ) )
685686INPUT_PORTS_END
686687#endif
687688
r18600r18601
714715   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("_  { <  > }") PORT_CODE(KEYCODE_TILDE)         PORT_CHAR('_')
715716
716717   PORT_MODIFY( "SPECIAL" )
717   PORT_CONFNAME( 0x20, 0x00, "ASCII Swedish/Finnish (switch)" )
718   PORT_CONFSETTING( 0x00, "ASCII" )
719   PORT_CONFSETTING( 0x20, "Swedish/Finnish" )
718   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("CAPS LOCK ASCII/CC") PORT_CODE(KEYCODE_F8) PORT_TOGGLE PORT_CHANGED_MEMBER(DEVICE_SELF, c128_state, caps_lock, 0)
720719INPUT_PORTS_END
721720
722721
r18600r18601
769768
770769READ_LINE_MEMBER( c128_state::mmu_sense40_r )
771770{
772   return !BIT(ioport("SPECIAL")->read(), 4);
771   return BIT(ioport("SPECIAL")->read(), 4);
773772}
774773
775774static MOS8722_INTERFACE( mmu_intf )
r18600r18601
791790   check_interrupts();
792791
793792   cbm_common_interrupt(&device);
794
795   // hack in ShiftLock
796   if ((ioport("SPECIAL")->read() & 0x40))
797      c64_keyline[1] |= 0x80;
798793}
799794
800795WRITE_LINE_MEMBER( c128_state::vic_irq_w )
r18600r18601
13331328   save_item(NAME(m_exp_dma));
13341329   save_item(NAME(m_cass_rd));
13351330   save_item(NAME(m_iec_srq));
1331   save_item(NAME(m_vic_k));
1332   save_item(NAME(m_caps_lock));
13361333}
13371334
13381335
r18600r18601
14391436
14401437
14411438//-------------------------------------------------
1442//  MACHINE_CONFIG( c128d )
1443//-------------------------------------------------
1444
1445static MACHINE_CONFIG_DERIVED( c128d, ntsc )
1446   MCFG_CBM_IEC_ADD(cbm_iec_intf, "c1571")
1447MACHINE_CONFIG_END
1448
1449
1450//-------------------------------------------------
14511439//  MACHINE_CONFIG( c128dcr )
14521440//-------------------------------------------------
14531441
r18600r18601
15521540
15531541
15541542//-------------------------------------------------
1555//  MACHINE_CONFIG( c128dpal )
1556//-------------------------------------------------
1557
1558static MACHINE_CONFIG_DERIVED( c128dpal, pal )
1559   MCFG_CBM_IEC_ADD(cbm_iec_intf, "c1571")
1560MACHINE_CONFIG_END
1561
1562
1563//-------------------------------------------------
15641543//  MACHINE_CONFIG( c128dcrp )
15651544//-------------------------------------------------
15661545
r18600r18601
16131592
16141593
16151594//-------------------------------------------------
1595//  ROM( c128p )
1596//-------------------------------------------------
1597
1598#define rom_c128p               rom_c128
1599
1600
1601//-------------------------------------------------
16161602//  ROM( c128_de )
16171603//-------------------------------------------------
16181604
r18600r18601
16331619   ROM_CART_LOAD( "from", 0x0000, 0x8000, ROM_NOMIRROR )
16341620
16351621   ROM_REGION( 0x2000, "charom", 0 )
1636   ROM_LOAD( "390059-01.u18", 0x00000, 0x2000, CRC(6aaaafe6) SHA1(29ed066d513f2d5c09ff26d9166ba23c2afb2b3f) )
1622   ROM_LOAD( "315079-01.u18", 0x00000, 0x2000, CRC(fe5a2db1) SHA1(638f8aff51c2ac4f99a55b12c4f8c985ef4bebd3) )
16371623
16381624   ROM_REGION( 0xc88, MOS8721_TAG, 0 )
16391625   // converted from http://www.zimmers.net/anonftp/pub/cbm/firmware/computers/c128/8721-reduced.zip/8721-reduced.txt
r18600r18601
16681654//  ROM( c128d )
16691655//-------------------------------------------------
16701656
1671#define rom_c128d               rom_c128
1657#define rom_c128d      rom_c128
16721658
16731659
16741660//-------------------------------------------------
1661//  ROM( c128dp )
1662//-------------------------------------------------
1663
1664#define rom_c128dp      rom_c128
1665
1666
1667//-------------------------------------------------
16751668//  ROM( c128dpr )
16761669//-------------------------------------------------
16771670
1678#define rom_c128dpr             rom_c128d
1671#define rom_c128dpr      rom_c128d
16791672
16801673
16811674//-------------------------------------------------
r18600r18601
17301723
17311724
17321725//-------------------------------------------------
1733//  ROM( c128dr_de )
1726//  ROM( c128dcrp )
17341727//-------------------------------------------------
17351728
1736ROM_START( c128dr_de )
1729#define rom_c128dcrp   rom_c128dcr
1730
1731
1732//-------------------------------------------------
1733//  ROM( c128dcr_de )
1734//-------------------------------------------------
1735
1736ROM_START( c128dcr_de )
17371737   ROM_REGION( 0x10000, M8502_TAG, 0 )
17381738   ROM_LOAD( "318022-02.u34", 0x4000, 0x8000, CRC(af1ae1e8) SHA1(953dcdf5784a6b39ef84dd6fd968c7a03d8d6816) )
17391739   ROM_LOAD( "318077-01.u32", 0x0000, 0x4000, CRC(eb6e2c8f) SHA1(6b3d891fedabb5335f388a5d2a71378472ea60f4) )
r18600r18601
17521752
17531753
17541754//-------------------------------------------------
1755//  ROM( c128dr_se )
1755//  ROM( c128dcr_se )
17561756//-------------------------------------------------
17571757
1758ROM_START( c128dr_se )
1758ROM_START( c128dcr_se )
17591759   ROM_REGION( 0x10000, M8502_TAG, 0 )
17601760   ROM_LOAD( "318022-02.u34", 0x4000, 0x8000, CRC(af1ae1e8) SHA1(953dcdf5784a6b39ef84dd6fd968c7a03d8d6816) )
17611761   ROM_LOAD( "318034-01.u32", 0x0000, 0x4000, CRC(cb4e1719) SHA1(9b0a0cef56d00035c611e07170f051ee5e63aa3a) )
r18600r18601
17871787
17881788//    YEAR  NAME        PARENT  COMPAT  MACHINE     INPUT       INIT                COMPANY                        FULLNAME                                 FLAGS
17891789COMP( 1985, c128,      0,      0,      c128,      c128,      driver_device,   0,   "Commodore Business Machines", "Commodore 128 (NTSC)",               GAME_SUPPORTS_SAVE )
1790COMP( 1985, c128p,      0,      0,      c128pal,   c128,      driver_device,   0,   "Commodore Business Machines", "Commodore 128 (PAL)",               GAME_SUPPORTS_SAVE )
1791COMP( 1985, c128_de,   c128,   0,      c128pal,   c128ger,   driver_device,   0,   "Commodore Business Machines", "Commodore 128 (Germany)",            GAME_SUPPORTS_SAVE )
1792//COMP( 1985, c128_fr,   c128,  0,   c128pal,  c128fra, driver_device, 0,  "Commodore Business Machines", "Commodore 128 (France)", GAME_SUPPORTS_SAVE )
1793//COMP( 1985, c128_no,   c128,  0,   c128pal,  c128ita, driver_device, 0,  "Commodore Business Machines", "Commodore 128 (Norway)", GAME_SUPPORTS_SAVE )
17901794COMP( 1985, c128_se,   c128,   0,      c128pal,   c128swe,   driver_device,   0,   "Commodore Business Machines", "Commodore 128 (Sweden/Finland)",      GAME_SUPPORTS_SAVE )
1791//COMP( 1985, c128fra,   c128,  0,   c128pal,  c128fra, driver_device, 0,  "Commodore Business Machines", "Commodore 128 (France)", GAME_SUPPORTS_SAVE )
1792COMP( 1985, c128_de,   c128,   0,      c128pal,   c128ger,   driver_device,   0,   "Commodore Business Machines", "Commodore 128 (Germany)",            GAME_SUPPORTS_SAVE )
1793//COMP( 1985, c128nor,   c128,  0,   c128pal,  c128ita, driver_device, 0,  "Commodore Business Machines", "Commodore 128 (Norway)", GAME_SUPPORTS_SAVE )
1794COMP( 1985, c128dpr,   c128,   0,      c128d,      c128,      driver_device,   0,   "Commodore Business Machines", "Commodore 128D (NTSC, prototype)",      GAME_SUPPORTS_SAVE )
1795COMP( 1985, c128d,      c128,   0,      c128dpal,   c128,      driver_device,   0,   "Commodore Business Machines", "Commodore 128D (PAL)",               GAME_SUPPORTS_SAVE )
1795COMP( 1986, c128d,      c128,   0,      c128,      c128,      driver_device,   0,   "Commodore Business Machines", "Commodore 128D (NTSC, prototype)",      GAME_SUPPORTS_SAVE )
1796COMP( 1986, c128dp,      c128,   0,      c128pal,   c128,      driver_device,   0,   "Commodore Business Machines", "Commodore 128D (PAL)",               GAME_SUPPORTS_SAVE )
17961797
1797COMP( 1985, c128cr,      c128,   0,      c128,      c128,      driver_device,   0,   "Commodore Business Machines", "Commodore 128CR (NTSC, prototype)",      GAME_SUPPORTS_SAVE )
1798COMP( 1986, c128dcr,   c128,   0,      c128dcr,   c128,      driver_device,   0,   "Commodore Business Machines", "Commodore 128DCR (NTSC)",            GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
1799COMP( 1986, c128dr_de,   c128,   0,      c128dcrp,   c128ger,   driver_device,   0,   "Commodore Business Machines", "Commodore 128DCR (Germany)",         GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
1800//COMP( 1986, c128drit,  c128,  0,   c128dcrp, c128ita, driver_device, 0,"Commodore Business Machines", "Commodore 128DCR (Italy)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
1801COMP( 1986, c128dr_se,   c128,   0,      c128dcrp,   c128swe,   driver_device,   0,   "Commodore Business Machines", "Commodore 128DCR (Sweden/Finland)",      GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
1802COMP( 1986, c128d81,   c128,   0,      c128d81,   c128,      driver_device,   0,   "Commodore Business Machines", "Commodore 128D/81 (NTSC, prototype)",   GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
1798COMP( 1986, c128cr,      c128,   0,      c128,      c128,      driver_device,   0,   "Commodore Business Machines", "Commodore 128CR (NTSC, prototype)",      GAME_SUPPORTS_SAVE )
1799
1800COMP( 1987, c128dcr,   c128,   0,      c128dcr,   c128,      driver_device,   0,   "Commodore Business Machines", "Commodore 128DCR (NTSC)",            GAME_SUPPORTS_SAVE )
1801COMP( 1987, c128dcrp,   c128,   0,      c128dcrp,   c128,      driver_device,   0,   "Commodore Business Machines", "Commodore 128DCR (PAL)",            GAME_SUPPORTS_SAVE )
1802COMP( 1987, c128dcr_de,   c128,   0,      c128dcrp,   c128ger,   driver_device,   0,   "Commodore Business Machines", "Commodore 128DCR (Germany)",         GAME_SUPPORTS_SAVE )
1803//COMP( 1986, c128dcr_it,  c128,  0,   c128dcrp, c128ita, driver_device, 0,"Commodore Business Machines", "Commodore 128DCR (Italy)", GAME_SUPPORTS_SAVE )
1804COMP( 1987, c128dcr_se,   c128,   0,      c128dcrp,   c128swe,   driver_device,   0,   "Commodore Business Machines", "Commodore 128DCR (Sweden/Finland)",      GAME_SUPPORTS_SAVE )
1805
1806COMP( 1986, c128d81,   c128,   0,      c128d81,   c128,      driver_device,   0,   "Commodore Business Machines", "Commodore 128D/81 (NTSC, prototype)",   GAME_SUPPORTS_SAVE )
trunk/src/mess/machine/cbmipt.c
r18600r18601
5858INPUT_PORTS_START( common_cbm_keyboard )
5959   PORT_START( "ROW0" )
6060   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Crsr Down Up") PORT_CODE(KEYCODE_RALT)      PORT_CHAR(UCHAR_MAMEKEY(DOWN)) PORT_CHAR(UCHAR_MAMEKEY(UP))
61   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F3)                           PORT_CHAR(UCHAR_MAMEKEY(F5)) PORT_CHAR(UCHAR_MAMEKEY(F6))
62   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F2)                           PORT_CHAR(UCHAR_MAMEKEY(F3)) PORT_CHAR(UCHAR_MAMEKEY(F4))
63   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F1)                           PORT_CHAR(UCHAR_MAMEKEY(F1)) PORT_CHAR(UCHAR_MAMEKEY(F2))
64   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F4)                           PORT_CHAR(UCHAR_MAMEKEY(F7)) PORT_CHAR(UCHAR_MAMEKEY(F8))
61   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F3)                           PORT_CHAR(UCHAR_MAMEKEY(F5))
62   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F2)                           PORT_CHAR(UCHAR_MAMEKEY(F3))
63   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F1)                           PORT_CHAR(UCHAR_MAMEKEY(F1))
64   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F4)                           PORT_CHAR(UCHAR_MAMEKEY(F7))
6565   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Crsr Right Left") PORT_CODE(KEYCODE_RCONTROL)   PORT_CHAR(UCHAR_MAMEKEY(RIGHT)) PORT_CHAR(UCHAR_MAMEKEY(LEFT))
6666   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Return") PORT_CODE(KEYCODE_ENTER)            PORT_CHAR(13)
67   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Del  Inst") PORT_CODE(KEYCODE_BACKSPACE)      PORT_CHAR(8) PORT_CHAR(UCHAR_MAMEKEY(INSERT))
67   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("INST DEL") PORT_CODE(KEYCODE_BACKSPACE)      PORT_CHAR(8) PORT_CHAR(UCHAR_MAMEKEY(INSERT))
6868
6969   PORT_START( "ROW1" )
7070   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Shift (Left)") PORT_CODE(KEYCODE_LSHIFT)      PORT_CHAR(UCHAR_SHIFT_1)
r18600r18601
121121   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("\xE2\x86\x91  Pi") PORT_CODE(KEYCODE_DEL)   PORT_CHAR(0x2191) PORT_CHAR(0x03C0)
122122   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_BACKSLASH)                     PORT_CHAR('=')
123123   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Shift (Right)") PORT_CODE(KEYCODE_RSHIFT)   PORT_CHAR(UCHAR_SHIFT_1)
124   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Home  Clr") PORT_CODE(KEYCODE_INSERT)      PORT_CHAR(UCHAR_MAMEKEY(HOME))
124   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("CLR HOME") PORT_CODE(KEYCODE_INSERT)      PORT_CHAR(UCHAR_MAMEKEY(HOME))
125125   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_QUOTE)                        PORT_CHAR(';') PORT_CHAR(']')
126126   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_CLOSEBRACE)                  PORT_CHAR('*')
127127   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_BACKSLASH2)                  PORT_CHAR('\xA3')
128128
129129   PORT_START( "ROW7" )
130   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Stop Run") PORT_CODE(KEYCODE_HOME)
130   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("RUN STOP") PORT_CODE(KEYCODE_HOME)
131131   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Q)                           PORT_CHAR('Q')
132132   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("CBM") PORT_CODE(KEYCODE_LALT)
133133   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SPACE)                        PORT_CHAR(' ')
r18600r18601
140140
141141INPUT_PORTS_START( c64_special )
142142   PORT_START( "SPECIAL" )  /* special keys */
143   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Restore") PORT_CODE(KEYCODE_PRTSCR)
144   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Shift Lock (switch)") PORT_CODE(KEYCODE_CAPSLOCK) PORT_TOGGLE PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK))
143   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("RESTORE") PORT_CODE(KEYCODE_PRTSCR)
144   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("SHIFT LOCK") PORT_CODE(KEYCODE_CAPSLOCK) PORT_TOGGLE PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK))
145145   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
146146   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
147147INPUT_PORTS_END
r18600r18601
168168   PORT_CONFSETTING(   0x00, DEF_STR( No ) )
169169   PORT_CONFSETTING(   0x80, DEF_STR( Yes ) )
170170
171   PORT_START("CYCLES")
172   PORT_CONFNAME( 0x07, 0x00, "Cycles in a line" )
173   PORT_CONFSETTING( 0x00, "0" )
174   PORT_CONFSETTING( 0x01, "1" )
175   PORT_CONFSETTING( 0x02, "2" )
176   PORT_CONFSETTING( 0x03, "3" )
177   PORT_CONFSETTING( 0x04, "4" )
178   PORT_CONFSETTING( 0x07, "Off" )
179
180171   PORT_START("JOY1_1B")
181172   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) PORT_CONDITION("CTRLSEL", 0x0f, EQUALS, 0x00)
182173   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) PORT_CONDITION("CTRLSEL", 0x0f, EQUALS, 0x00)
r18600r18601
398389
399390*/
400391
401INPUT_PORTS_START( c128_special )
402   PORT_START( "SPECIAL" )  /* special keys */
403   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Restore") PORT_CODE(KEYCODE_PRTSCR)
404   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Shift Lock (switch)") PORT_CODE(KEYCODE_CAPSLOCK) PORT_TOGGLE PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK))
405   PORT_CONFNAME( 0x20, 0x00, "Caps Lock (switch)")
406   PORT_CONFSETTING(   0x00, DEF_STR( Off ) )
407   PORT_CONFSETTING(   0x20, DEF_STR( On ) )
408   PORT_CONFNAME( 0x10, 0x10, "40 80 Display (switch) (active after a rebooting)")
409   PORT_CONFSETTING(   0x00, "40 Columns (DIN/TV)")
410   PORT_CONFSETTING(   0x10, "80 Columns (RGBI)")
411INPUT_PORTS_END
412392
413393
414394/***************************** Commodore 65 ****************************************
r18600r18601
10771057SLOT_INTERFACE_END
10781058
10791059SLOT_INTERFACE_START( c128dcr_iec_devices )
1080   SLOT_INTERFACE("c1571cr", C1571CR)
1060   SLOT_INTERFACE("c1571cr", C1571) // TODO should be C1571CR but no boot with it
10811061SLOT_INTERFACE_END
10821062
10831063SLOT_INTERFACE_START( c128d81_iec_devices )
trunk/src/mess/machine/cbmipt.h
r18600r18601
126126INPUT_PORTS_EXTERN( c65_special );
127127
128128
129/* Commodore 128 */
130
131INPUT_PORTS_EXTERN( c128_special );
132
133
134129/* PET2001 */
135130
136131INPUT_PORTS_EXTERN( pet_keyboard );
trunk/src/mess/machine/c1571.c
r18600r18601
593593
594594
595595//-------------------------------------------------
596//  MACHINE_DRIVER( c1570 )
597//-------------------------------------------------
598
599static MACHINE_CONFIG_FRAGMENT( c1570 )
600   MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_16MHz/16)
601   MCFG_CPU_PROGRAM_MAP(c1571_mem)
602   MCFG_QUANTUM_PERFECT_CPU(M6502_TAG)
603
604   MCFG_VIA6522_ADD(M6522_0_TAG, XTAL_16MHz/16, via0_intf)
605   MCFG_VIA6522_ADD(M6522_1_TAG, XTAL_16MHz/16, via1_intf)
606   MCFG_MOS6526_ADD(M6526_TAG, XTAL_16MHz/16, 0, cia_intf)
607   MCFG_WD1770_ADD(WD1770_TAG, /* XTAL_16MHz/2, */ fdc_intf)
608
609   MCFG_LEGACY_FLOPPY_DRIVE_ADD(FLOPPY_0, c1570_floppy_interface)
610   MCFG_64H156_ADD(C64H156_TAG, XTAL_16MHz, ga_intf)
611MACHINE_CONFIG_END
612
613
614//-------------------------------------------------
596615//  MACHINE_DRIVER( c1571 )
597616//-------------------------------------------------
598617
r18600r18601
612631
613632
614633//-------------------------------------------------
615//  MACHINE_DRIVER( c1570 )
634//  MACHINE_DRIVER( c1571cr )
616635//-------------------------------------------------
617636
618static MACHINE_CONFIG_FRAGMENT( c1570 )
637static MACHINE_CONFIG_FRAGMENT( c1571cr )
619638   MCFG_CPU_ADD(M6502_TAG, M6502, XTAL_16MHz/16)
620639   MCFG_CPU_PROGRAM_MAP(c1571_mem)
621640   MCFG_QUANTUM_PERFECT_CPU(M6502_TAG)
622641
623642   MCFG_VIA6522_ADD(M6522_0_TAG, XTAL_16MHz/16, via0_intf)
624643   MCFG_VIA6522_ADD(M6522_1_TAG, XTAL_16MHz/16, via1_intf)
625   MCFG_MOS6526_ADD(M6526_TAG, XTAL_16MHz/16, 0, cia_intf)
644   MCFG_MOS5710_ADD(M6526_TAG, XTAL_16MHz/16, 0, cia_intf)
626645   MCFG_WD1770_ADD(WD1770_TAG, /* XTAL_16MHz/2, */ fdc_intf)
627646
628   MCFG_LEGACY_FLOPPY_DRIVE_ADD(FLOPPY_0, c1570_floppy_interface)
647   MCFG_LEGACY_FLOPPY_DRIVE_ADD(FLOPPY_0, c1571_floppy_interface)
629648   MCFG_64H156_ADD(C64H156_TAG, XTAL_16MHz, ga_intf)
630649MACHINE_CONFIG_END
631650
r18600r18601
643662      return MACHINE_CONFIG_NAME( c1570 );
644663
645664   default:
665   case TYPE_1571:
646666      return MACHINE_CONFIG_NAME( c1571 );
667
668   case TYPE_1571CR:
669      return MACHINE_CONFIG_NAME( c1571cr );
647670   }
648671}
649672

Previous 199869 Revisions Next


© 1997-2024 The MAME Team