Previous 199869 Revisions Next

r33508 Monday 24th November, 2014 at 10:05:08 UTC by Curt Coder
[MESS] cbm8296: Added proper dump of BASIC/Kernal ROM 324746-01 @ UE7. The one on zimmers.net has the segments in wrong order since it was saved from a running machine. [Mike Naberezny]
[MESS] cbm8296: Fixed address decoding and promoted driver to working. [Curt Coder]
[src/mess/drivers]pet.c
[src/mess/includes]pet.h

trunk/src/mess/drivers/pet.c
r242019r242020
269269   case SELE:
270270      if (BIT(offset, 11))
271271      {
272         data = 0xff;
273
272274         if (BIT(offset, 4))
273275         {
274            data = m_pia1->read(space, offset & 0x03);
276            data &= m_pia1->read(space, offset & 0x03);
275277         }
276278         if (BIT(offset, 5))
277279         {
278            data = m_pia2->read(space, offset & 0x03);
280            data &= m_pia2->read(space, offset & 0x03);
279281         }
280282         if (BIT(offset, 6))
281283         {
282            data = m_via->read(space, offset & 0x0f);
284            data &= m_via->read(space, offset & 0x0f);
283285         }
284286         if (m_crtc && BIT(offset, 7) && BIT(offset, 0))
285287         {
286            data = m_crtc->register_r(space, 0);
288            data &= m_crtc->register_r(space, 0);
287289         }
288290      }
289291      else if (norom)
r242019r242020
351353   }
352354}
353355
354
355356//-------------------------------------------------
356357//  read_pla1 -
357358//-------------------------------------------------
r242019r242020
360361   int &cswff, int &cs9, int &csa, int &csio, int &cse, int &cskb, int &fa12, int &casena1)
361362{
362363   UINT32 input = (offset & 0xff00) | phi2 << 7 | brw << 6 | noscreen << 5 | noio << 4 | ramsela << 3 | ramsel9 << 2 | ramon << 1 | norom;
363   //UINT32 data = m_pla1->read(input);
364   UINT32 data = m_pla1->read(input);
365
366   cswff = BIT(data, 0);
367   cs9 = BIT(data, 1);
368   csa = BIT(data, 2);
369   csio = BIT(data, 3);
370   cse = BIT(data, 4);
371   cskb = BIT(data, 5);
372   fa12 = BIT(data, 6);
373   casena1 = BIT(data, 7);
374}
375
376void cbm8296_state::read_pla1_eprom(offs_t offset, int phi2, int brw, int noscreen, int noio, int ramsela, int ramsel9, int ramon, int norom,
377   int &cswff, int &cs9, int &csa, int &csio, int &cse, int &cskb, int &fa12, int &casena1)
378{
379   // PLA-EPROM adapter by Joachim Nemetz (Jogi)
380
381   UINT32 input = (offset & 0xff00) | phi2 << 7 | brw << 6 | noscreen << 5 | noio << 4 | ramsela << 3 | ramsel9 << 2 | ramon << 1 | norom;
364382   input = BITSWAP16(input,13,8,9,7,12,14,11,10,6,5,4,3,2,1,0,15);
383
365384   UINT8 data = m_ue6_rom->base()[input];
366385   data = BITSWAP8(data,7,0,1,2,3,4,5,6);
367386
r242019r242020
383402void cbm8296_state::read_pla2(offs_t offset, int phi2, int brw, int casena1, int &endra, int &noscreen, int &casena2, int &fa15)
384403{
385404   UINT32 input = BITSWAP8(m_cr, 0,1,2,3,4,5,6,7) << 8 | ((offset >> 8) & 0xf8) | brw << 2 | phi2 << 1 | casena1;
386   //UINT32 data = m_pla2->read(input);
405   UINT32 data = m_pla2->read(input);
406
407   endra = BIT(data, 4);
408   noscreen = BIT(data, 5);
409   casena2 = BIT(data, 6);
410   fa15 = BIT(data, 7);
411}
412
413void cbm8296_state::read_pla2_eprom(offs_t offset, int phi2, int brw, int casena1, int &endra, int &noscreen, int &casena2, int &fa15)
414{
415   // PLA-EPROM adapter by Joachim Nemetz (Jogi)
416
417   UINT32 input = BITSWAP8(m_cr, 0,1,2,3,4,5,6,7) << 8 | ((offset >> 8) & 0xf8) | brw << 2 | phi2 << 1 | casena1;
387418   input = BITSWAP16(input,13,8,9,7,12,14,11,10,6,5,4,3,2,1,0,15);
419
388420   UINT8 data = m_ue5_rom->base()[input];
389421   data = BITSWAP8(data,7,0,1,2,3,4,5,6);
390422
r242019r242020
406438   int ramsela = BIT(m_via_pa, 0), ramsel9 = BIT(m_via_pa, 1), ramon = BIT(m_via_pa, 2);
407439   int cswff = 1, cs9 = 1, csa = 1, csio = 1, cse = 1, cskb = 1, fa12 = 1, fa15 = 1, casena1 = 1, casena2 = 1, endra = 1;
408440
409   read_pla1(offset, phi2, brw, noscreen, noio, ramsela, ramsel9, ramon, norom,
441   read_pla1_eprom(offset, phi2, brw, noscreen, noio, ramsela, ramsel9, ramon, norom,
410442      cswff, cs9, csa, csio, cse, cskb, fa12, casena1);
411443
412   read_pla2(offset, phi2, brw, casena1, endra, noscreen, casena2, fa15);
444   read_pla2_eprom(offset, phi2, brw, casena1, endra, noscreen, casena2, fa15);
413445
414   read_pla1(offset, phi2, brw, noscreen, noio, ramsela, ramsel9, ramon, norom,
446   read_pla1_eprom(offset, phi2, brw, noscreen, noio, ramsela, ramsel9, ramon, norom,
415447      cswff, cs9, csa, csio, cse, cskb, fa12, casena1);
416448
417   //logerror("%04x : cswff %u cs9 %u csa %u csio %u cse %u cskb %u fa12 %u casena1 %u endra %u noscreen %u casena2 %u fa15 %u\n",offset,cswff,cs9,csa,csio,cse,cskb,fa12,casena1,endra,noscreen,casena2,fa15);
449   //logerror("%s read  %04x : norom %u noio %u ramsela %u ramsel9 %u ramon %u / cswff %u cs9 %u csa %u csio %u cse %u cskb %u fa12 %u casena1 %u endra %u noscreen %u casena2 %u fa15 %u\n",machine().describe_context(),offset,norom,noio,ramsela,ramsel9,ramon,cswff,cs9,csa,csio,cse,cskb,fa12,casena1,endra,noscreen,casena2,fa15);
418450
419451   UINT8 data = 0;
420452
421   if (!endra)
453   offs_t drma = fa15 << 15 | (offset & 0x7e00) | BIT(offset, 0) << 8 | (offset & 0x1fe) >> 1;
454
455   if (!endra && !casena1)
422456   {
423      //logerror("%s read  %04x : cswff %u cs9 %u csa %u csio %u cse %u cskb %u fa12 %u casena1 %u endra %u noscreen %u casena2 %u fa15 %u\n",machine().describe_context(),offset,cswff,cs9,csa,csio,cse,cskb,fa12,casena1,endra,noscreen,casena2,fa15);
424
425      offs_t drma = fa15 << 15 | (offset & 0x7e00) | BIT(offset, 0) << 8 | (offset & 0x1fe) >> 1;
426
427      if (!casena1)
428      {
429         data = m_ram->pointer()[drma];
430      }
431      if (casena2)
432      {
433         data = m_ram->pointer()[0x10000 | drma];
434      }
457      data = m_ram->pointer()[drma];
435458   }
459   if (casena2)
460   {
461      data = m_ram->pointer()[0x10000 | drma];
462   }
436463   if (!cs9)
437464   {
438465      if (m_cart_9000 && m_cart_9000->exists())
r242019r242020
457484   }
458485   if (!csio)
459486   {
487      data = 0xff;
488
460489      if (BIT(offset, 4))
461490      {
462         data = m_pia1->read(space, offset & 0x03);
491         data &= m_pia1->read(space, offset & 0x03);
463492      }
464493      if (BIT(offset, 5))
465494      {
466         data = m_pia2->read(space, offset & 0x03);
495         data &= m_pia2->read(space, offset & 0x03);
467496      }
468497      if (BIT(offset, 6))
469498      {
470         data = m_via->read(space, offset & 0x0f);
499         data &= m_via->read(space, offset & 0x0f);
471500      }
472501      if (BIT(offset, 7) && BIT(offset, 0))
473502      {
474         data = m_crtc->register_r(space, 0);
503         data &= m_crtc->register_r(space, 0);
475504      }
476505   }
477506
r242019r242020
490519   int ramsela = BIT(m_via_pa, 0), ramsel9 = BIT(m_via_pa, 1), ramon = BIT(m_via_pa, 2);
491520   int cswff = 1, cs9 = 1, csa = 1, csio = 1, cse = 1, cskb = 1, fa12 = 1, fa15 = 1, casena1 = 1, casena2 = 1, endra = 1;
492521
493   read_pla1(offset, phi2, brw, noscreen, noio, ramsela, ramsel9, ramon, norom,
522   read_pla1_eprom(offset, phi2, brw, noscreen, noio, ramsela, ramsel9, ramon, norom,
494523      cswff, cs9, csa, csio, cse, cskb, fa12, casena1);
495524
496   read_pla2(offset, phi2, brw, casena1, endra, noscreen, casena2, fa15);
525   read_pla2_eprom(offset, phi2, brw, casena1, endra, noscreen, casena2, fa15);
497526
498   read_pla1(offset, phi2, brw, noscreen, noio, ramsela, ramsel9, ramon, norom,
527   read_pla1_eprom(offset, phi2, brw, noscreen, noio, ramsela, ramsel9, ramon, norom,
499528      cswff, cs9, csa, csio, cse, cskb, fa12, casena1);
500529
501   if (!endra)
502   {
503      //logerror("%s write %04x : cswff %u cs9 %u csa %u csio %u cse %u cskb %u fa12 %u casena1 %u endra %u noscreen %u casena2 %u fa15 %u\n",machine().describe_context(),offset,cswff,cs9,csa,csio,cse,cskb,fa12,casena1,endra,noscreen,casena2,fa15);
530   //logerror("%s write %04x : norom %u noio %u ramsela %u ramsel9 %u ramon %u / cswff %u cs9 %u csa %u csio %u cse %u cskb %u fa12 %u casena1 %u endra %u noscreen %u casena2 %u fa15 %u\n",machine().describe_context(),offset,norom,noio,ramsela,ramsel9,ramon,cswff,cs9,csa,csio,cse,cskb,fa12,casena1,endra,noscreen,casena2,fa15);
504531
505      offs_t drma = fa15 << 15 | (offset & 0x7e00) | BIT(offset, 0) << 8 | (offset & 0x1fe) >> 1;
532   offs_t drma = fa15 << 15 | (offset & 0x7e00) | BIT(offset, 0) << 8 | (offset & 0x1fe) >> 1;
506533
507      if (!casena1)
508      {
509         m_ram->pointer()[drma] = data;
510      }
511      if (casena2)
512      {
513         m_ram->pointer()[0x10000 | drma] = data;
514      }
534   if (!endra && !casena1)
535   {
536      m_ram->pointer()[drma] = data;
515537   }
538   if (casena2)
539   {
540      m_ram->pointer()[0x10000 | drma] = data;
541   }
516542   if (!csio)
517543   {
518544      if (BIT(offset, 4))
r242019r242020
23302356   ROM_REGION( 0x2000, M6502_TAG, ROMREGION_ERASE00 )
23312357
23322358   ROM_REGION( 0x4000, "basic", 0 )
2333   ROM_LOAD( "324746-01.ue7", 0x0000, 0x4000, CRC(7935b528) SHA1(5ab17ee70467152bf2130e3f48a2aa81e9df93c9) )   // BASIC 4
2359   ROM_LOAD( "324746-01.ue7", 0x0000, 0x4000, CRC(03a25bb4) SHA1(e3e1431969bf317c885e47f3790e0bcbdf61fe77) )   // BASIC 4
23342360
23352361   ROM_REGION( 0x1000, "editor", 0 )
23362362   ROM_LOAD( "8296.ue8", 0x000, 0x800, CRC(a3475de6) SHA1(b715db83fd26458dfd254bef5c4aae636753f7f5) )
r242019r242020
23412367   ROM_REGION( 0x20, "prom", 0 )
23422368   ROM_LOAD( "74s288.uc2", 0x00, 0x20, CRC(06030665) SHA1(19dc91ca49ecc20e66c646ba480d2c3bc70a62e6) ) // video/RAM timing
23432369
2344   ROM_REGION( 0x10000, "ue5hack", 0 )
2345   ROM_LOAD( "ue5.bin", 0x00000, 0x10000, BAD_DUMP CRC(f70b7b37) SHA1(fe0fbb0fa71775f3780134aa11dac5b761526148) )
2370   ROM_REGION( 0x10000, "ue5_eprom", 0 )
2371   ROM_LOAD( "ue5.bin", 0x00000, 0x10000, CRC(f70b7b37) SHA1(fe0fbb0fa71775f3780134aa11dac5b761526148) )
23462372
2347   ROM_REGION( 0x10000, "ue6hack", 0 )
2348   ROM_LOAD( "ue6.bin", 0x00000, 0x10000, BAD_DUMP CRC(36952256) SHA1(e94d3e744a6aaff553bf260f25da0286436265d1) )
2373   ROM_REGION( 0x10000, "ue6_eprom", 0 )
2374   ROM_LOAD( "ue6.bin", 0x00000, 0x10000, CRC(36952256) SHA1(e94d3e744a6aaff553bf260f25da0286436265d1) )
23492375
23502376   ROM_REGION( 0xf5, PLA1_TAG, 0 )
23512377   ROM_LOAD( "324744-01.ue6", 0x00, 0xf5, NO_DUMP ) // 8700-009
r242019r242020
23652391   ROM_LOAD( "paperclip.ue9", 0x1000, 0x1000, CRC(8fb11d4b) SHA1(1c0f883cd3b8ded42ec00d83f7e7f0887f91fec0) )  // Paperclip 2.84
23662392
23672393   ROM_REGION( 0x4000, "basic", 0 )
2368   ROM_LOAD( "324746-01.ue7", 0x0000, 0x4000, CRC(7935b528) SHA1(5ab17ee70467152bf2130e3f48a2aa81e9df93c9) )   // BASIC 4
2394   ROM_LOAD( "324746-01.ue7", 0x0000, 0x4000, CRC(03a25bb4) SHA1(e3e1431969bf317c885e47f3790e0bcbdf61fe77) )   // BASIC 4
23692395
23702396   ROM_REGION( 0x1000, "editor", 0 )
23712397   ROM_LOAD( "execudesk.ue8", 0x0000, 0x1000, CRC(bef0eaa1) SHA1(7ea63a2d651f516e96b8725195c13542ea495ebd) )
r242019r242020
23762402   ROM_REGION( 0x20, "prom", 0 )
23772403   ROM_LOAD( "74s288.uc2", 0x00, 0x20, CRC(06030665) SHA1(19dc91ca49ecc20e66c646ba480d2c3bc70a62e6) ) // video/RAM timing
23782404
2379   ROM_REGION( 0x10000, "ue5hack", 0 )
2380   ROM_LOAD( "ue5.bin", 0x00000, 0x10000, BAD_DUMP CRC(f70b7b37) SHA1(fe0fbb0fa71775f3780134aa11dac5b761526148) )
2405   ROM_REGION( 0x10000, "ue5_eprom", 0 )
2406   ROM_LOAD( "ue5.bin", 0x00000, 0x10000, CRC(f70b7b37) SHA1(fe0fbb0fa71775f3780134aa11dac5b761526148) )
23812407
2382   ROM_REGION( 0x10000, "ue6hack", 0 )
2383   ROM_LOAD( "ue6.bin", 0x00000, 0x10000, BAD_DUMP CRC(36952256) SHA1(e94d3e744a6aaff553bf260f25da0286436265d1) )
2408   ROM_REGION( 0x10000, "ue6_eprom", 0 )
2409   ROM_LOAD( "ue6.bin", 0x00000, 0x10000, CRC(36952256) SHA1(e94d3e744a6aaff553bf260f25da0286436265d1) )
23842410
23852411   ROM_REGION( 0xf5, PLA1_TAG, 0 )
23862412   ROM_LOAD( "324744-01.ue6", 0x00, 0xf5, NO_DUMP ) // 8700-009
r242019r242020
23982424   ROM_REGION( 0x2000, M6502_TAG, ROMREGION_ERASE00 )
23992425
24002426   ROM_REGION( 0x4000, "basic", 0 )
2401   ROM_LOAD( "324746-01.ue7", 0x0000, 0x4000, CRC(7935b528) SHA1(5ab17ee70467152bf2130e3f48a2aa81e9df93c9) )   // BASIC 4
2427   ROM_LOAD( "324746-01.ue7", 0x0000, 0x4000, CRC(03a25bb4) SHA1(e3e1431969bf317c885e47f3790e0bcbdf61fe77) )   // BASIC 4
24022428
24032429   ROM_REGION( 0x1000, "editor", 0 )
24042430   ROM_LOAD( "324243-01.ue8", 0x0000, 0x1000, CRC(4000e833) SHA1(dafbdf8ba0a1fe7d7b9586ffbfc9e5390c0fcf6f) )
r242019r242020
24092435   ROM_REGION( 0x20, "prom", 0 )
24102436   ROM_LOAD( "74s288.uc2", 0x00, 0x20, CRC(06030665) SHA1(19dc91ca49ecc20e66c646ba480d2c3bc70a62e6) ) // video/RAM timing
24112437
2412   ROM_REGION( 0x10000, "ue5hack", 0 )
2413   ROM_LOAD( "ue5.bin", 0x00000, 0x10000, BAD_DUMP CRC(f70b7b37) SHA1(fe0fbb0fa71775f3780134aa11dac5b761526148) )
2438   ROM_REGION( 0x10000, "ue5_eprom", 0 )
2439   ROM_LOAD( "ue5.bin", 0x00000, 0x10000, CRC(f70b7b37) SHA1(fe0fbb0fa71775f3780134aa11dac5b761526148) )
24142440
2415   ROM_REGION( 0x10000, "ue6hack", 0 )
2416   ROM_LOAD( "ue6.bin", 0x00000, 0x10000, BAD_DUMP CRC(36952256) SHA1(e94d3e744a6aaff553bf260f25da0286436265d1) )
2441   ROM_REGION( 0x10000, "ue6_eprom", 0 )
2442   ROM_LOAD( "ue6.bin", 0x00000, 0x10000, CRC(36952256) SHA1(e94d3e744a6aaff553bf260f25da0286436265d1) )
24172443
24182444   ROM_REGION( 0xf5, PLA1_TAG, 0 )
24192445   ROM_LOAD( "324744-01.ue6", 0x00, 0xf5, NO_DUMP ) // 8700-009
r242019r242020
24312457   ROM_REGION( 0x2000, M6502_TAG, ROMREGION_ERASE00 )
24322458
24332459   ROM_REGION( 0x4000, "basic", 0 )
2434   ROM_LOAD( "324746-01.ue7", 0x0000, 0x4000, CRC(7935b528) SHA1(5ab17ee70467152bf2130e3f48a2aa81e9df93c9) )   // BASIC 4
2460   ROM_LOAD( "324746-01.ue7", 0x0000, 0x4000, CRC(03a25bb4) SHA1(e3e1431969bf317c885e47f3790e0bcbdf61fe77) )   // BASIC 4
24352461
24362462   ROM_REGION( 0x1000, "editor", 0 )
24372463   ROM_LOAD( "324243-04.ue8", 0x0000, 0x1000, CRC(3fe48897) SHA1(c218ff3168514f1d5e7822ae1b1ac3e161523b33) )
r242019r242020
24422468   ROM_REGION( 0x20, "prom", 0 )
24432469   ROM_LOAD( "74s288.uc2", 0x00, 0x20, CRC(06030665) SHA1(19dc91ca49ecc20e66c646ba480d2c3bc70a62e6) ) // video/RAM timing
24442470
2445   ROM_REGION( 0x10000, "ue5hack", 0 )
2446   ROM_LOAD( "ue5.bin", 0x00000, 0x10000, BAD_DUMP CRC(f70b7b37) SHA1(fe0fbb0fa71775f3780134aa11dac5b761526148) )
2471   ROM_REGION( 0x10000, "ue5_eprom", 0 )
2472   ROM_LOAD( "ue5.bin", 0x00000, 0x10000, CRC(f70b7b37) SHA1(fe0fbb0fa71775f3780134aa11dac5b761526148) )
24472473
2448   ROM_REGION( 0x10000, "ue6hack", 0 )
2449   ROM_LOAD( "ue6.bin", 0x00000, 0x10000, BAD_DUMP CRC(36952256) SHA1(e94d3e744a6aaff553bf260f25da0286436265d1) )
2474   ROM_REGION( 0x10000, "ue6_eprom", 0 )
2475   ROM_LOAD( "ue6.bin", 0x00000, 0x10000, CRC(36952256) SHA1(e94d3e744a6aaff553bf260f25da0286436265d1) )
24502476
24512477   ROM_REGION( 0xf5, PLA1_TAG, 0 )
24522478   ROM_LOAD( "324744-01.ue6", 0x00, 0xf5, NO_DUMP ) // 8700-009
r242019r242020
24662492   ROM_LOAD( "324993-02.ue9", 0x1000, 0x1000, CRC(57444531) SHA1(74aa39888a6bc95762de767fce883203daca0d34) ) // HiRes BASIC
24672493
24682494   ROM_REGION( 0x4000, "basic", 0 )
2469   ROM_LOAD( "324746-01.ue7", 0x0000, 0x4000, CRC(7935b528) SHA1(5ab17ee70467152bf2130e3f48a2aa81e9df93c9) )   // BASIC 4
2495   ROM_LOAD( "324746-01.ue7", 0x0000, 0x4000, CRC(03a25bb4) SHA1(e3e1431969bf317c885e47f3790e0bcbdf61fe77) )   // BASIC 4
24702496
24712497   ROM_REGION( 0x1000, "editor", 0 )
24722498   ROM_LOAD( "324243-01.ue8", 0x0000, 0x1000, CRC(4000e833) SHA1(dafbdf8ba0a1fe7d7b9586ffbfc9e5390c0fcf6f) )
r242019r242020
24772503   ROM_REGION( 0x20, "prom", 0 )
24782504   ROM_LOAD( "74s288.uc2", 0x00, 0x20, CRC(06030665) SHA1(19dc91ca49ecc20e66c646ba480d2c3bc70a62e6) ) // video/RAM timing
24792505
2480   ROM_REGION( 0x10000, "ue5hack", 0 )
2481   ROM_LOAD( "ue5.bin", 0x00000, 0x10000, BAD_DUMP CRC(f70b7b37) SHA1(fe0fbb0fa71775f3780134aa11dac5b761526148) )
2506   ROM_REGION( 0x10000, "ue5_eprom", 0 )
2507   ROM_LOAD( "ue5.bin", 0x00000, 0x10000, CRC(f70b7b37) SHA1(fe0fbb0fa71775f3780134aa11dac5b761526148) )
24822508
2483   ROM_REGION( 0x10000, "ue6hack", 0 )
2484   ROM_LOAD( "ue6.bin", 0x00000, 0x10000, BAD_DUMP CRC(36952256) SHA1(e94d3e744a6aaff553bf260f25da0286436265d1) )
2509   ROM_REGION( 0x10000, "ue6_eprom", 0 )
2510   ROM_LOAD( "ue6.bin", 0x00000, 0x10000, CRC(36952256) SHA1(e94d3e744a6aaff553bf260f25da0286436265d1) )
24852511
24862512   ROM_REGION( 0xf5, PLA1_TAG, 0 )
24872513   ROM_LOAD( "324744-01.ue6", 0x00, 0xf5, NO_DUMP ) // 8700-009
r242019r242020
25252551COMP( 1981, mmf9000,    pet8032,    0,      superpet,   petb,       driver_device,  0,  "Commodore Business Machines",  "MicroMainFrame 9000",          GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
25262552COMP( 1981, mmf9000_se, pet8032,    0,      superpet,   petb_se,    driver_device,  0,  "Commodore Business Machines",  "MicroMainFrame 9000 (Sweden/Finland)",         GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
25272553COMP( 1981, cbm8096,    pet8032,    0,      cbm8096,    petb,       driver_device,  0,  "Commodore Business Machines",  "CBM 8096",                     GAME_SUPPORTS_SAVE )
2528COMP( 1984, cbm8296,    0,          0,      cbm8296,    petb,       driver_device,  0,  "Commodore Business Machines",  "CBM 8296",                     GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
2529COMP( 1984, cbm8296ed,  cbm8296,    0,      cbm8296d,   petb,       driver_device,  0,  "Commodore Business Machines",  "CBM 8296 ExecuDesk",           GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
2530COMP( 1984, cbm8296d,   cbm8296,    0,      cbm8296d,   petb,       driver_device,  0,  "Commodore Business Machines",  "CBM 8296-D",                   GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
2531COMP( 1984, cbm8296d_de,cbm8296,    0,      cbm8296d,   petb_de,    driver_device,  0,  "Commodore Business Machines",  "CBM 8296-D (Germany)",         GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
2532COMP( 1984, cbm8296gd,  cbm8296,    0,      cbm8296d,   petb,       driver_device,  0,  "Commodore Business Machines",  "CBM 8296GD",                   GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
2554COMP( 1984, cbm8296,    0,          0,      cbm8296,    petb,       driver_device,  0,  "Commodore Business Machines",  "CBM 8296",                     GAME_SUPPORTS_SAVE )
2555COMP( 1984, cbm8296ed,  cbm8296,    0,      cbm8296d,   petb,       driver_device,  0,  "Commodore Business Machines",  "CBM 8296 ExecuDesk",           GAME_SUPPORTS_SAVE )
2556COMP( 1984, cbm8296d,   cbm8296,    0,      cbm8296d,   petb,       driver_device,  0,  "Commodore Business Machines",  "CBM 8296-D",                   GAME_SUPPORTS_SAVE )
2557COMP( 1984, cbm8296d_de,cbm8296,    0,      cbm8296d,   petb_de,    driver_device,  0,  "Commodore Business Machines",  "CBM 8296-D (Germany)",         GAME_SUPPORTS_SAVE )
2558COMP( 1984, cbm8296gd,  cbm8296,    0,      cbm8296d,   petb,       driver_device,  0,  "Commodore Business Machines",  "CBM 8296GD",                   GAME_SUPPORTS_SAVE )
trunk/src/mess/includes/pet.h
r242019r242020
201201class pet2001b_state : public pet_state
202202{
203203public:
204   pet2001b_state(const machine_config &mconfig, device_type type, const char *tag)
205      : pet_state(mconfig, type, tag)
204   pet2001b_state(const machine_config &mconfig, device_type type, const char *tag) :
205      pet_state(mconfig, type, tag)
206206   { }
207207
208208   DECLARE_READ8_MEMBER( pia1_pb_r );
r242019r242020
212212class pet80_state : public pet2001b_state
213213{
214214public:
215   pet80_state(const machine_config &mconfig, device_type type, const char *tag)
216      : pet2001b_state(mconfig, type, tag)
215   pet80_state(const machine_config &mconfig, device_type type, const char *tag) :
216      pet2001b_state(mconfig, type, tag)
217217   { }
218218
219219   DECLARE_MACHINE_START( pet80 );
r242019r242020
236236class cbm8096_state : public pet80_state
237237{
238238public:
239   cbm8096_state(const machine_config &mconfig, device_type type, const char *tag)
240      : pet80_state(mconfig, type, tag)
239   cbm8096_state(const machine_config &mconfig, device_type type, const char *tag)   :
240      pet80_state(mconfig, type, tag)
241241   { }
242242};
243243
r242019r242020
245245class cbm8296_state : public pet80_state
246246{
247247public:
248   cbm8296_state(const machine_config &mconfig, device_type type, const char *tag)
249      : pet80_state(mconfig, type, tag),
250         m_basic_rom(*this, "basic"),
251         m_editor_rom(*this, "editor"),
252         m_ue5_rom(*this, "ue5hack"),
253         m_ue6_rom(*this, "ue6hack"),
254         m_pla1(*this, PLA1_TAG),
255         m_pla2(*this, PLA2_TAG)
248   cbm8296_state(const machine_config &mconfig, device_type type, const char *tag) :
249      pet80_state(mconfig, type, tag),
250      m_basic_rom(*this, "basic"),
251      m_editor_rom(*this, "editor"),
252      m_ue5_rom(*this, "ue5_eprom"),
253      m_ue6_rom(*this, "ue6_eprom"),
254      m_pla1(*this, PLA1_TAG),
255      m_pla2(*this, PLA2_TAG)
256256   { }
257257
258258   required_memory_region m_basic_rom;
r242019r242020
269269      int &cswff, int &cs9, int &csa, int &csio, int &cse, int &cskb, int &fa12, int &casena1);
270270   void read_pla2(offs_t offset, int phi2, int brw, int casena1, int &endra, int &noscreen, int &casena2, int &fa15);
271271
272   void read_pla1_eprom(offs_t offset, int phi2, int brw, int noscreen, int noio, int ramsela, int ramsel9, int ramon, int norom,
273      int &cswff, int &cs9, int &csa, int &csio, int &cse, int &cskb, int &fa12, int &casena1);
274   void read_pla2_eprom(offs_t offset, int phi2, int brw, int casena1, int &endra, int &noscreen, int &casena2, int &fa15);
275
272276   DECLARE_READ8_MEMBER( read );
273277   DECLARE_WRITE8_MEMBER( write );
274278


Previous 199869 Revisions Next


© 1997-2024 The MAME Team