trunk/src/mess/drivers/cbm2.c
| r18162 | r18163 | |
| 2 | 2 | |
| 3 | 3 | TODO: |
| 4 | 4 | |
| 5 | | - basic does not work |
| 6 | 5 | - shift lock |
| 7 | 6 | - Hungarian keyboard |
| 8 | 7 | - cbm620hu charom banking? |
| 9 | 8 | - read VIC video/color RAM thru PLA (Sphi2 = 1, AE = 0) |
| 10 | 9 | - user port |
| 11 | 10 | - co-processor bus |
| 11 | - 8088 co-processor board |
| 12 | 12 | |
| 13 | 13 | */ |
| 14 | 14 | |
| r18162 | r18163 | |
| 159 | 159 | &casseg1, &casseg2, &casseg3, &casseg4, &buframcs, &extbufcs, &vidramcs, |
| 160 | 160 | &diskromcs, &csbank1, &csbank2, &csbank3, &basiccs, &knbcs, &kernalcs, |
| 161 | 161 | &crtccs, &cs1, &sidcs, &extprtcs, &ciacs, &aciacs, &tript1cs, &tript2cs); |
| 162 | | /* |
| 163 | | if (!space.debugger_access()) |
| 164 | | logerror("r %05x %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", offset, sysioen, dramen, |
| 165 | | casseg1, casseg2, casseg3, casseg4, buframcs, extbufcs, vidramcs, |
| 166 | | diskromcs, csbank1, csbank2, csbank3, basiccs, knbcs, kernalcs, |
| 167 | | crtccs, cs1, sidcs, extprtcs, ciacs, aciacs, tript1cs, tript2cs); |
| 168 | | */ |
| 169 | | UINT8 data = 0; |
| 170 | 162 | |
| 163 | UINT8 data = 0xff; |
| 164 | |
| 171 | 165 | if (!dramen) |
| 172 | 166 | { |
| 173 | 167 | if (!casseg1) |
| r18162 | r18163 | |
| 260 | 254 | &casseg1, &casseg2, &casseg3, &casseg4, &buframcs, &extbufcs, &vidramcs, |
| 261 | 255 | &diskromcs, &csbank1, &csbank2, &csbank3, &basiccs, &knbcs, &kernalcs, |
| 262 | 256 | &crtccs, &cs1, &sidcs, &extprtcs, &ciacs, &aciacs, &tript1cs, &tript2cs); |
| 263 | | /* |
| 264 | | if (!space.debugger_access()) |
| 265 | | logerror("w %05x %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", offset, sysioen, dramen, |
| 266 | | casseg1, casseg2, casseg3, casseg4, buframcs, extbufcs, vidramcs, |
| 267 | | diskromcs, csbank1, csbank2, csbank3, basiccs, knbcs, kernalcs, |
| 268 | | crtccs, cs1, sidcs, extprtcs, ciacs, aciacs, tript1cs, tript2cs); |
| 269 | | */ |
| 257 | |
| 270 | 258 | if (!dramen) |
| 271 | 259 | { |
| 272 | 260 | if (!casseg1) |
| r18162 | r18163 | |
| 297 | 285 | { |
| 298 | 286 | m_video_ram[offset & 0x7ff] = data; |
| 299 | 287 | } |
| 300 | | if (!basiccs || !knbcs) |
| 301 | | { |
| 302 | | m_basic[offset & 0x3fff] = data; |
| 303 | | } |
| 304 | | if (!kernalcs) |
| 305 | | { |
| 306 | | m_kernal[offset & 0x1fff] = data; |
| 307 | | } |
| 308 | 288 | if (!crtccs) |
| 309 | 289 | { |
| 310 | 290 | if (A0) |
| r18162 | r18163 | |
| 471 | 451 | &clrnibcs, &extbufcs, &discromcs, &buframcs, &charomcs, &viccs, &vidmatcs, |
| 472 | 452 | &csbank1, &csbank2, &csbank3, &basiclocs, &basichics, &kernalcs, |
| 473 | 453 | &cs1, &sidcs, &extprtcs, &ciacs, &aciacs, &tript1cs, &tript2cs, &aec, &vsysaden); |
| 474 | | /* |
| 475 | | if (!space.debugger_access()) |
| 476 | | logerror("r %05x %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 %u : ", |
| 477 | | va, datxen, dramxen, clrniben, _64kcasen, casenb, viddaten, viddat_tr, |
| 478 | | clrnibcs, extbufcs, discromcs, buframcs, charomcs, viccs, vidmatcs, |
| 479 | | csbank1, csbank2, csbank3, basiclocs, basichics, kernalcs, |
| 480 | | cs1, sidcs, extprtcs, ciacs, aciacs, tript1cs, tript2cs, aec, vsysaden); |
| 481 | | */ |
| 454 | |
| 482 | 455 | UINT8 data = 0xff; |
| 483 | 456 | *clrnib = 0xf; |
| 484 | 457 | |
| r18162 | r18163 | |
| 601 | 574 | &clrnibcs, &extbufcs, &discromcs, &buframcs, &charomcs, &viccs, &vidmatcs, |
| 602 | 575 | &csbank1, &csbank2, &csbank3, &basiclocs, &basichics, &kernalcs, |
| 603 | 576 | &cs1, &sidcs, &extprtcs, &ciacs, &aciacs, &tript1cs, &tript2cs, &aec, &vsysaden); |
| 604 | | /* |
| 605 | | if (!space.debugger_access()) |
| 606 | | logerror("w %05x %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 %u : ", |
| 607 | | offset, datxen, dramxen, clrniben, _64kcasen, casenb, viddaten, viddat_tr, |
| 608 | | clrnibcs, extbufcs, discromcs, buframcs, charomcs, viccs, vidmatcs, |
| 609 | | csbank1, csbank2, csbank3, basiclocs, basichics, kernalcs, |
| 610 | | cs1, sidcs, extprtcs, ciacs, aciacs, tript1cs, tript2cs, aec, vsysaden); |
| 611 | | */ |
| 612 | 577 | |
| 613 | 578 | if (clrniben) |
| 614 | 579 | { |
| r18162 | r18163 | |
| 1039 | 1004 | data <<= 1; |
| 1040 | 1005 | } |
| 1041 | 1006 | |
| 1042 | | x++; |
| 1007 | bitmap.pix32(y, x++) = RGB_MONOCHROME_GREEN[BIT(code, 7)]; |
| 1043 | 1008 | } |
| 1044 | 1009 | } |
| 1045 | 1010 | |
| r18162 | r18163 | |
| 1142 | 1107 | |
| 1143 | 1108 | bit description |
| 1144 | 1109 | |
| 1145 | | 0 |
| 1146 | | 1 |
| 1110 | 0 0 |
| 1111 | 1 0 |
| 1147 | 1112 | 2 REN |
| 1148 | 1113 | 3 ATN |
| 1149 | 1114 | 4 DAV |
| r18162 | r18163 | |
| 1156 | 1121 | UINT8 data = 0; |
| 1157 | 1122 | |
| 1158 | 1123 | // IEEE-488 |
| 1159 | | data |= m_ieee->ren_r() << 2; |
| 1160 | | data |= m_ieee->atn_r() << 3; |
| 1161 | | data |= m_ieee->dav_r() << 4; |
| 1162 | | data |= m_ieee->eoi_r() << 5; |
| 1163 | | data |= m_ieee->ndac_r() << 6; |
| 1164 | | data |= m_ieee->nrfd_r() << 7; |
| 1124 | if (m_ieee_dc) data |= m_ieee->ren_r() << 2; |
| 1125 | if (m_ieee_dc) data |= m_ieee->atn_r() << 3; |
| 1126 | if (!m_ieee_te) data |= m_ieee->dav_r() << 4; |
| 1127 | if (m_ieee->atn_r() && !m_ieee_te) data |= m_ieee->eoi_r() << 5; |
| 1128 | if (!m_ieee->atn_r() && !m_ieee_dc) data |= m_ieee->eoi_r() << 5; |
| 1129 | if (m_ieee_te) data |= m_ieee->ndac_r() << 6; |
| 1130 | if (m_ieee_te) data |= m_ieee->nrfd_r() << 7; |
| 1165 | 1131 | |
| 1166 | 1132 | return data; |
| 1167 | 1133 | } |
| r18162 | r18163 | |
| 1184 | 1150 | */ |
| 1185 | 1151 | |
| 1186 | 1152 | // IEEE-488 |
| 1187 | | m_ieee->ren_w(BIT(data, 2)); |
| 1188 | | m_ieee->atn_w(BIT(data, 3)); |
| 1189 | | m_ieee->dav_w(BIT(data, 4)); |
| 1190 | | m_ieee->eoi_w(BIT(data, 5)); |
| 1191 | | m_ieee->ndac_w(BIT(data, 6)); |
| 1192 | | m_ieee->nrfd_w(BIT(data, 7)); |
| 1153 | m_ieee_dc = BIT(data, 0); |
| 1154 | m_ieee_te = BIT(data, 1); |
| 1155 | |
| 1156 | if (!m_ieee_dc) m_ieee->ren_w(BIT(data, 2)); |
| 1157 | if (!m_ieee_dc) m_ieee->atn_w(BIT(data, 3)); |
| 1158 | if (m_ieee_te) m_ieee->dav_w(BIT(data, 4)); |
| 1159 | if (m_ieee->atn_r() && m_ieee_te) m_ieee->eoi_w(BIT(data, 5)); |
| 1160 | if (!m_ieee->atn_r() && m_ieee_dc) m_ieee->eoi_w(BIT(data, 5)); |
| 1161 | if (!m_ieee_te) m_ieee->ndac_w(BIT(data, 6)); |
| 1162 | if (!m_ieee_te) m_ieee->nrfd_w(BIT(data, 7)); |
| 1193 | 1163 | } |
| 1194 | 1164 | |
| 1195 | 1165 | READ8_MEMBER( cbm2_state::tpi1_pb_r ) |
| r18162 | r18163 | |
| 1200 | 1170 | |
| 1201 | 1171 | 0 IFC |
| 1202 | 1172 | 1 SRQ |
| 1203 | | 2 user port |
| 1204 | | 3 user port |
| 1173 | 2 user port PB2 |
| 1174 | 3 user port PB3 |
| 1205 | 1175 | 4 |
| 1206 | 1176 | 5 |
| 1207 | 1177 | 6 |
| r18162 | r18163 | |
| 1209 | 1179 | |
| 1210 | 1180 | */ |
| 1211 | 1181 | |
| 1212 | | UINT8 data = 0; |
| 1182 | UINT8 data = 0xff; |
| 1213 | 1183 | |
| 1214 | 1184 | // IEEE-488 |
| 1215 | | data |= m_ieee->ifc_r(); |
| 1216 | | data |= m_ieee->srq_r() << 1; |
| 1185 | if (m_ieee_dc) data &= m_ieee->ifc_r(); |
| 1186 | if (!m_ieee_dc) data &= m_ieee->srq_r() << 1; |
| 1187 | |
| 1188 | // user port |
| 1189 | //data &= m_user->pb2_r() << 2; |
| 1190 | //data &= m_user->pb3_r() << 3; |
| 1217 | 1191 | |
| 1218 | 1192 | // cassette |
| 1219 | | data |= m_cassette->sense_r() << 7; |
| 1193 | data &= m_cassette->sense_r() << 7; |
| 1220 | 1194 | |
| 1221 | 1195 | return data; |
| 1222 | 1196 | } |
| r18162 | r18163 | |
| 1229 | 1203 | |
| 1230 | 1204 | 0 IFC |
| 1231 | 1205 | 1 SRQ |
| 1232 | | 2 user port |
| 1233 | | 3 user port |
| 1206 | 2 user port PB2 |
| 1207 | 3 user port PB3 |
| 1234 | 1208 | 4 DRAMON |
| 1235 | 1209 | 5 CASS WRT |
| 1236 | 1210 | 6 CASS MTR |
| r18162 | r18163 | |
| 1239 | 1213 | */ |
| 1240 | 1214 | |
| 1241 | 1215 | // IEEE-488 |
| 1242 | | m_ieee->ifc_w(BIT(data, 0)); |
| 1243 | | m_ieee->srq_w(BIT(data, 1)); |
| 1216 | if (!m_ieee_dc) m_ieee->ifc_w(BIT(data, 0)); |
| 1217 | if (m_ieee_dc) m_ieee->srq_w(BIT(data, 1)); |
| 1244 | 1218 | |
| 1219 | // user port |
| 1220 | //m_user->pb2_w(BIT(data, 2)); |
| 1221 | //m_user->pb3_w(BIT(data, 3)); |
| 1222 | |
| 1245 | 1223 | // memory |
| 1246 | 1224 | m_dramon = BIT(data, 4); |
| 1247 | 1225 | |
| r18162 | r18163 | |
| 1382 | 1360 | 3 COLUMN 3 |
| 1383 | 1361 | 4 COLUMN 4 |
| 1384 | 1362 | 5 COLUMN 5 |
| 1385 | | 6 |
| 1386 | | 7 |
| 1363 | 6 0 |
| 1364 | 7 0 |
| 1387 | 1365 | |
| 1388 | 1366 | */ |
| 1389 | 1367 | |
| r18162 | r18163 | |
| 1460 | 1438 | |
| 1461 | 1439 | bit description |
| 1462 | 1440 | |
| 1463 | | 0 user port |
| 1464 | | 1 user port |
| 1465 | | 2 user port |
| 1466 | | 3 user port |
| 1467 | | 4 user port |
| 1468 | | 5 user port |
| 1469 | | 6 LTPN, user port |
| 1470 | | 7 GAME TRIGGER 24, user port |
| 1441 | 0 IEEE-488 D0, user port 1D0 |
| 1442 | 1 IEEE-488 D1, user port 1D1 |
| 1443 | 2 IEEE-488 D2, user port 1D2 |
| 1444 | 3 IEEE-488 D3, user port 1D3 |
| 1445 | 4 IEEE-488 D4, user port 1D4 |
| 1446 | 5 IEEE-488 D5, user port 1D5 |
| 1447 | 6 IEEE-488 D6, user port 1D6, LTPN |
| 1448 | 7 IEEE-488 D7, user port 1D7, GAME TRIGGER 24 |
| 1471 | 1449 | |
| 1472 | 1450 | */ |
| 1473 | 1451 | |
| 1474 | | UINT8 data = 0; |
| 1452 | UINT8 data = 0xff; |
| 1475 | 1453 | |
| 1454 | if (!m_ieee_te) data &= m_ieee->dio_r(); |
| 1455 | |
| 1456 | //data &= m_user->data1_r(); |
| 1457 | |
| 1476 | 1458 | // joystick |
| 1477 | | data |= BIT(m_joy1->joy_r(), 5) << 6; |
| 1478 | | data |= BIT(m_joy2->joy_r(), 5) << 7; |
| 1459 | //data &= BIT(m_joy1->joy_r(), 5) << 6; |
| 1460 | //data &= BIT(m_joy2->joy_r(), 5) << 7; |
| 1479 | 1461 | |
| 1480 | 1462 | return data; |
| 1481 | 1463 | } |
| r18162 | r18163 | |
| 1486 | 1468 | |
| 1487 | 1469 | bit description |
| 1488 | 1470 | |
| 1489 | | 0 user port |
| 1490 | | 1 user port |
| 1491 | | 2 user port |
| 1492 | | 3 user port |
| 1493 | | 4 user port |
| 1494 | | 5 user port |
| 1495 | | 6 user port |
| 1496 | | 7 user port |
| 1471 | 0 IEEE-488 D0, user port 1D0 |
| 1472 | 1 IEEE-488 D1, user port 1D1 |
| 1473 | 2 IEEE-488 D2, user port 1D2 |
| 1474 | 3 IEEE-488 D3, user port 1D3 |
| 1475 | 4 IEEE-488 D4, user port 1D4 |
| 1476 | 5 IEEE-488 D5, user port 1D5 |
| 1477 | 6 IEEE-488 D6, user port 1D6 |
| 1478 | 7 IEEE-488 D7, user port 1D7 |
| 1497 | 1479 | |
| 1498 | 1480 | */ |
| 1499 | 1481 | |
| 1482 | if (m_ieee_te) m_ieee->dio_w(data); |
| 1483 | |
| 1484 | //m_user->data1_w(data); |
| 1485 | |
| 1500 | 1486 | m_cia_pa = data; |
| 1501 | 1487 | } |
| 1502 | 1488 | |
| r18162 | r18163 | |
| 1506 | 1492 | |
| 1507 | 1493 | bit description |
| 1508 | 1494 | |
| 1509 | | 0 GAME 10, user port |
| 1510 | | 1 GAME 11, user port |
| 1511 | | 2 GAME 12, user port |
| 1512 | | 3 GAME 13, user port |
| 1513 | | 4 GAME 20, user port |
| 1514 | | 5 GAME 21, user port |
| 1515 | | 6 GAME 22, user port |
| 1516 | | 7 GAME 23, user port |
| 1495 | 0 user port 2D0, GAME10 |
| 1496 | 1 user port 2D1, GAME11 |
| 1497 | 2 user port 2D2, GAME12 |
| 1498 | 3 user port 2D3, GAME13 |
| 1499 | 4 user port 2D4, GAME20 |
| 1500 | 5 user port 2D5, GAME21 |
| 1501 | 6 user port 2D6, GAME22 |
| 1502 | 7 user port 2D7, GAME23 |
| 1517 | 1503 | |
| 1518 | 1504 | */ |
| 1519 | 1505 | |
| r18162 | r18163 | |
| 1523 | 1509 | data |= m_joy1->joy_r() & 0x0f; |
| 1524 | 1510 | data |= (m_joy2->joy_r() & 0x0f) << 4; |
| 1525 | 1511 | |
| 1512 | // user port |
| 1513 | //data &= m_user->data2_r(); |
| 1514 | |
| 1526 | 1515 | return data; |
| 1527 | 1516 | } |
| 1528 | 1517 | |
| r18162 | r18163 | |
| 1532 | 1521 | |
| 1533 | 1522 | bit description |
| 1534 | 1523 | |
| 1535 | | 0 user port |
| 1536 | | 1 user port |
| 1537 | | 2 user port |
| 1538 | | 3 user port |
| 1539 | | 4 user port |
| 1540 | | 5 user port |
| 1541 | | 6 user port |
| 1542 | | 7 user port |
| 1524 | 0 user port 2D0 |
| 1525 | 1 user port 2D1 |
| 1526 | 2 user port 2D2 |
| 1527 | 3 user port 2D3 |
| 1528 | 4 user port 2D4 |
| 1529 | 5 user port 2D5 |
| 1530 | 6 user port 2D6 |
| 1531 | 7 user port 2D7 |
| 1543 | 1532 | |
| 1544 | 1533 | */ |
| 1534 | |
| 1535 | //m_user->data2_w(data); |
| 1545 | 1536 | } |
| 1546 | 1537 | |
| 1547 | 1538 | static const mos6526_interface cia_intf = |
| 1548 | 1539 | { |
| 1549 | 1540 | DEVCB_DEVICE_LINE_MEMBER(MOS6525_1_TAG, tpi6525_device, i2_w), |
| 1550 | | DEVCB_NULL, // user port |
| 1551 | | DEVCB_NULL, // user port |
| 1552 | | DEVCB_NULL, // user port |
| 1541 | DEVCB_NULL,//DEVCB_DEVICE_LINE_MEMBER(CBM2_USER_PORT_TAG, cbm2_user_port_device, pc_w), |
| 1542 | DEVCB_NULL,//DEVCB_DEVICE_LINE_MEMBER(CBM2_USER_PORT_TAG, cbm2_user_port_device, sp_w), |
| 1543 | DEVCB_NULL,//DEVCB_DEVICE_LINE_MEMBER(CBM2_USER_PORT_TAG, cbm2_user_port_device, cnt_w), |
| 1553 | 1544 | DEVCB_DRIVER_MEMBER(cbm2_state, cia_pa_r), |
| 1554 | 1545 | DEVCB_DRIVER_MEMBER(cbm2_state, cia_pa_w), |
| 1555 | 1546 | DEVCB_DRIVER_MEMBER(cbm2_state, cia_pb_r), |
| r18162 | r18163 | |
| 1640 | 1631 | save_item(NAME(m_tpi2_pa)); |
| 1641 | 1632 | save_item(NAME(m_tpi2_pb)); |
| 1642 | 1633 | save_item(NAME(m_cia_pa)); |
| 1634 | save_item(NAME(m_ieee_dc)); |
| 1635 | save_item(NAME(m_ieee_te)); |
| 1643 | 1636 | } |
| 1644 | 1637 | |
| 1645 | 1638 | |
| r18162 | r18163 | |
| 2341 | 2334 | //************************************************************************** |
| 2342 | 2335 | |
| 2343 | 2336 | // YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS |
| 2344 | | COMP( 1983, p500n, 0, 0, p500_ntsc, cbm2, driver_device, 0, "Commodore Business Machines", "P500 ~ C128-40 ~ PET-II (NTSC)", GAME_NOT_WORKING ) |
| 2345 | | COMP( 1983, p500p, p500n, 0, p500_pal, cbm2, driver_device, 0, "Commodore Business Machines", "P500 ~ C128-40 ~ PET-II (PAL)", GAME_NOT_WORKING ) |
| 2337 | COMP( 1983, p500n, 0, 0, p500_ntsc, cbm2, driver_device, 0, "Commodore Business Machines", "P500 ~ C128-40 ~ PET-II (NTSC)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // VIC 64K RAM mode is not supported |
| 2338 | COMP( 1983, p500p, p500n, 0, p500_pal, cbm2, driver_device, 0, "Commodore Business Machines", "P500 ~ C128-40 ~ PET-II (PAL)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // VIC 64K RAM mode is not supported |
| 2346 | 2339 | |
| 2347 | | COMP( 1983, b500, p500n, 0, b128, cbm2, driver_device, 0, "Commodore Business Machines", "B500 (NTSC)", GAME_NOT_WORKING ) |
| 2348 | | COMP( 1983, b128, p500n, 0, b128, cbm2, driver_device, 0, "Commodore Business Machines", "B128 (NTSC)", GAME_NOT_WORKING ) |
| 2349 | | COMP( 1983, b256, p500n, 0, b256, cbm2, driver_device, 0, "Commodore Business Machines", "B256 (NTSC)", GAME_NOT_WORKING ) |
| 2350 | | COMP( 1983, cbm610, p500n, 0, cbm610, cbm2, driver_device, 0, "Commodore Business Machines", "CBM 610 (PAL)", GAME_NOT_WORKING ) |
| 2351 | | COMP( 1983, cbm620, p500n, 0, cbm620, cbm2, driver_device, 0, "Commodore Business Machines", "CBM 620 (PAL)", GAME_NOT_WORKING ) |
| 2352 | | COMP( 1983, cbm620hu, p500n, 0, cbm620, cbm2hu, driver_device, 0, "Commodore Business Machines", "CBM 620 (Hungary)", GAME_NOT_WORKING ) |
| 2340 | COMP( 1983, b500, p500n, 0, b128, cbm2, driver_device, 0, "Commodore Business Machines", "B500 (NTSC)", GAME_SUPPORTS_SAVE ) |
| 2341 | COMP( 1983, b128, p500n, 0, b128, cbm2, driver_device, 0, "Commodore Business Machines", "B128 (NTSC)", GAME_SUPPORTS_SAVE ) |
| 2342 | COMP( 1983, b256, p500n, 0, b256, cbm2, driver_device, 0, "Commodore Business Machines", "B256 (NTSC)", GAME_SUPPORTS_SAVE ) |
| 2343 | COMP( 1983, cbm610, p500n, 0, cbm610, cbm2, driver_device, 0, "Commodore Business Machines", "CBM 610 (PAL)", GAME_SUPPORTS_SAVE ) |
| 2344 | COMP( 1983, cbm620, p500n, 0, cbm620, cbm2, driver_device, 0, "Commodore Business Machines", "CBM 620 (PAL)", GAME_SUPPORTS_SAVE ) |
| 2345 | COMP( 1983, cbm620hu, p500n, 0, cbm620, cbm2hu, driver_device, 0, "Commodore Business Machines", "CBM 620 (Hungary)", GAME_SUPPORTS_SAVE ) |
| 2353 | 2346 | |
| 2354 | | COMP( 1983, b128hp, p500n, 0, b128hp, cbm2, driver_device, 0, "Commodore Business Machines", "B128-80HP (NTSC)", GAME_NOT_WORKING ) |
| 2355 | | COMP( 1983, b256hp, p500n, 0, b256hp, cbm2, driver_device, 0, "Commodore Business Machines", "B256-80HP (NTSC)", GAME_NOT_WORKING ) |
| 2356 | | COMP( 1983, bx256hp, p500n, 0, bx256hp, cbm2, driver_device, 0, "Commodore Business Machines", "BX256-80HP (NTSC)", GAME_NOT_WORKING ) |
| 2357 | | COMP( 1983, cbm710, p500n, 0, cbm710, cbm2, driver_device, 0, "Commodore Business Machines", "CBM 710 (PAL)", GAME_NOT_WORKING ) |
| 2358 | | COMP( 1983, cbm720, p500n, 0, cbm720, cbm2, driver_device, 0, "Commodore Business Machines", "CBM 720 (PAL)", GAME_NOT_WORKING ) |
| 2359 | | COMP( 1983, cbm720sw, p500n, 0, cbm720, cbm2sw, driver_device, 0, "Commodore Business Machines", "CBM 720 (Sweden/Finland)", GAME_NOT_WORKING ) |
| 2360 | | COMP( 1983, cbm730, p500n, 0, cbm730, cbm2, driver_device, 0, "Commodore Business Machines", "CBM 730 (PAL)", GAME_NOT_WORKING ) |
| 2347 | COMP( 1983, b128hp, p500n, 0, b128hp, cbm2, driver_device, 0, "Commodore Business Machines", "B128-80HP (NTSC)", GAME_SUPPORTS_SAVE ) |
| 2348 | COMP( 1983, b256hp, p500n, 0, b256hp, cbm2, driver_device, 0, "Commodore Business Machines", "B256-80HP (NTSC)", GAME_SUPPORTS_SAVE ) |
| 2349 | COMP( 1983, bx256hp, p500n, 0, bx256hp, cbm2, driver_device, 0, "Commodore Business Machines", "BX256-80HP (NTSC)", GAME_NOT_WORKING ) // 8088 co-processor is missing |
| 2350 | COMP( 1983, cbm710, p500n, 0, cbm710, cbm2, driver_device, 0, "Commodore Business Machines", "CBM 710 (PAL)", GAME_SUPPORTS_SAVE ) |
| 2351 | COMP( 1983, cbm720, p500n, 0, cbm720, cbm2, driver_device, 0, "Commodore Business Machines", "CBM 720 (PAL)", GAME_SUPPORTS_SAVE ) |
| 2352 | COMP( 1983, cbm720sw, p500n, 0, cbm720, cbm2sw, driver_device, 0, "Commodore Business Machines", "CBM 720 (Sweden/Finland)", GAME_SUPPORTS_SAVE ) |
| 2353 | COMP( 1983, cbm730, p500n, 0, cbm730, cbm2, driver_device, 0, "Commodore Business Machines", "CBM 730 (PAL)", GAME_NOT_WORKING ) // 8088 co-processor is missing |