Ce500::Ce500(CPObject *parent) : CpcXXXX(parent) { //[constructor] setfrequency( (int) 3072000/3); setcfgfname(QString("e500")); SessionHeader = "E500PKM"; Initial_Session_Fname ="e500.pkm"; BackGroundFname = P_RES(":/e500/pc-e500.png"); LcdFname = P_RES(":/e500/e500lcd.png"); SymbFname = P_RES(":/e500/e500symb.png"); memsize = 0x100000; InitMemValue = 0xff; /* ROM area(c0000-fffff) S3: */ SlotList.clear(); SlotList.append(CSlot(256, 0x40000 , "" , "" , RAM , "RAM S1")); SlotList.append(CSlot(256, 0x80000 , "" , "" , RAM , "RAM S2")); SlotList.append(CSlot(256, 0xC0000 , P_RES(":/e500/s3.rom"), "e500/s3.rom" , ROM , "ROM S3")); PowerSwitch = 0; Pc_Offset_X = Pc_Offset_Y = 0; setDXmm(200); setDYmm(100); setDZmm(14); setDX(715); setDY(357); Lcd_X = 69; Lcd_Y = 99; Lcd_DX = 240;//168;//144 ; Lcd_DY = 32; Lcd_ratio_X = 348.0/240; Lcd_ratio_Y = 60.0/32; Lcd_Symb_X = 69;//(int) (45 * 1.18); Lcd_Symb_Y = 79;//(int) (35 * 1.18); Lcd_Symb_DX = 348; Lcd_Symb_DY = 20; Lcd_Symb_ratio_X = 1;//1.18; pLCDC = new Clcdc_e500(this); pCPU = new Csc62015(this); pTIMER = new Ctimer(this); pKEYB = new Ckeyb(this,"e500.map"); pHD61102_1 = new CHD61102(this); pHD61102_2 = new CHD61102(this); // pRP5C01 = new CRP5C01(this); start2khz = 0; start4khz = 0; Xin=Xout=false; tmp_state=0; ioFreq=0; }
Cpb1000::Cpb1000(CPObject *parent) : CpcXXXX(parent) { //[constructor] setfrequency( (int) 910000/1); ioFreq = 0; setcfgfname(QString("pb1000")); SessionHeader = "PB1000PKM"; Initial_Session_Fname ="pb1000.pkm"; BackGroundFname = P_RES(":/pb1000/pb-1000.png"); back = new QImage(P_RES(":/pb1000/pb1000back.png")); memsize = 0x20000; InitMemValue = 0xff; SlotList.clear(); SlotList.append(CSlot(6 , 0x0000 , P_RES(":/pb1000/rom0.bin") , "" , CSlot::ROM , "CPU ROM")); SlotList.append(CSlot(8 , 0x6000 , "" , "" , CSlot::RAM , "RAM0")); SlotList.append(CSlot(32, 0x8000 , P_RES(":/pb1000/rom1.bin") , "" , CSlot::ROM , "ROM")); SlotList.append(CSlot(32, 0x18000 , "" , "" , CSlot::RAM , "RAM1")); SlotList.append(CSlot(1 , 0x1800 , "" , "" , CSlot::ROM , "PORT")); PowerSwitch = 0; setDXmm(187); setDYmm(177); setDZmm(24); setDX(668);//715); setDY(633);//465); PowerSwitch = 0; pLCDC = new Clcdc_pb1000(this, QRect(90,130,192*2,32*2), QRect()); pCPU = new CHD61700(this); pTIMER = new Ctimer(this); pKEYB->setMap("pb1000.map"); pHD44352 = new CHD44352(this,P_RES(":/pb1000/chr.bin")); m_kb_matrix = 0; // shift=fct = false; closed = false; loc_flipping = false; loc_m_angle = 180; loc_m_zoom = 1; writeIO = false; adrBus = 0; }
Cpc1421::Cpc1421(CPObject *parent) : Cpc1401(parent) { //[constructor] setfrequency( (int) 768000/3); setcfgfname("pc1421"); SessionHeader = "PC1421PKM"; Initial_Session_Fname ="pc1421.pkm"; BackGroundFname = P_RES(":/pc1421/pc-1421.png"); SlotList.clear(); SlotList.append(CSlot(8 , 0x0000 , P_RES(":/pc1421/cpu-1421.rom"), "pc-1421/cpu-1421.rom" , CSlot::ROM , "CPU ROM")); SlotList.append(CSlot(24, 0x2000 , "", "pc-1421/R1-1421.ram" , CSlot::RAM , "RAM")); SlotList.append(CSlot(32, 0x8000 , P_RES(":/pc1421/bas-1421.rom"), "pc-1421/bas-1421.rom" , CSlot::ROM , "BASIC ROM")); }
Crlp4002::Crlp4002(CPObject *parent):CPObject(parent) { //[constructor] Q_UNUSED(parent) setfrequency( 0); BackGroundFname = P_RES(":/rlh1000/rlp4002.png"); setcfgfname("rlp4002"); pTIMER = new Ctimer(this); pKEYB->setMap("rlp4002.map"); setDXmm(227); setDYmm(95); setDZmm(31); // Ratio = 3,57 setDX(848);//Pc_DX = 75; setDY(340);//Pc_DY = 20; rotate = false; slotChanged = false; connected = false; rts = false; cts = false; memsize = 0x2000; InitMemValue = 0x7f; SlotList.clear(); SlotList.append(CSlot(8 , 0x0000 , P_RES(":/rlh1000/Telecomputing_2.bin") , "" , CSlot::ROM , "ROM")); }
/** * @brief * * @param parent */ Cjr800::Cjr800(CPObject *parent) : CpcXXXX(parent) { //[constructor] setfrequency( (int) 4915200/4); setcfgfname(QString("jr800")); SessionHeader = "JR800PKM"; Initial_Session_Fname ="jr800.pkm"; BackGroundFname = P_RES(":/jr800/jr800.png"); RightFname = P_RES(":/jr800/jr800Right.png"); LeftFname = P_RES(":/jr800/jr800Left.png"); TopFname = P_RES(":/jr800/jr800Top.png"); // BackFname = P_RES(":/jr800/jr800Back.png"); memsize = 0xFFFF; InitMemValue = 0xFF; SlotList.clear(); SlotList.append(CSlot(32 ,0x0000 , "" , "" , CSlot::RAM , "RAM")); SlotList.append(CSlot(32, 0x8000 , P_RES(":/jr800/rom-8000-FFFF.bin"), "" , CSlot::ROM , "ROM")); PowerSwitch = 0; setDXmm(255); setDYmm(140); setDZmm(32); setDX(911); setDY(501); PowerSwitch = 0; pLCDC = new Clcdc_jr800(this, QRect(98,94,340,115), QRect(86,94,364,115)); pCPU = new Cmc6800(this); for (int i=0;i<8;i++) { hd44102[i] = new CHD44102(this); hd44102[i]->setObjectName(QString("%1").arg(i)); qWarning()<<hd44102[i]; } pTIMER = new Ctimer(this); pKEYB->setMap("jr800.map"); ioFreq = 9600; }
Crlh1000::Crlh1000(CPObject *parent) : CpcXXXX(parent) { //[constructor] setfrequency( (int) 4194300/4); setcfgfname(QString("rlh1000")); SessionHeader = "RLH1000PKM"; Initial_Session_Fname ="rlh1000.pkm"; BackGroundFname = P_RES(":/rlh1000/rlh1000.png"); LeftFname = P_RES(":/rlh1000/rlh1000Left.png"); // RightFname = P_RES(":/rlh1000/rlh1000Right.png"); BackFname = P_RES(":/rlh1000/rlh1000BackOpen.png"); TopFname = P_RES(":/rlh1000/rlh1000Top.png"); BottomFname = P_RES(":/rlh1000/rlh1000Bottom.png"); backDoorImage = new QImage(QString(P_RES(":/rlh1000/trappe.png"))); memsize = 0x20000; InitMemValue = 0x7F; SlotList.clear(); SlotList.append(CSlot(8 , 0x0000 , "" , "" , CSlot::RAM , "RAM")); SlotList.append(CSlot(8 , 0x2000 , "" , "" , CSlot::ROM , "Ext ROM")); SlotList.append(CSlot(16, 0x4000 , "" , "" , CSlot::ROM , "ROM Capsules 1")); SlotList.append(CSlot(16, 0x8000 , "" , "" , CSlot::NOT_USED , "Ext RAM")); SlotList.append(CSlot(16, 0xC000 , P_RES(":/rlh1000/HHC-rom-C000-FFFF.bin"),"" , CSlot::ROM , "ROM")); SlotList.append(CSlot(16, 0x10000 , "" , "" , CSlot::ROM , "ROM Capsules 2")); SlotList.append(CSlot(16, 0x14000 , "" , "" , CSlot::ROM , "ROM Capsules 3")); // Ratio = 3,57 setDXmm(227); setDYmm(95); setDZmm(31); setDX(811); setDY(340); PowerSwitch = 0; pLCDC = new Clcdc_rlh1000(this, QRect(205,55,159*2.5,8*3), QRect()); pCPU = new Cm6502(this); m6502 = (Cm6502*)pCPU; pTIMER = new Ctimer(this); pKEYB->setMap("rlh1000.map"); backdoorKeyIndex=0; capsuleKeyIndex=0; ioFreq = 0; extrinsicRAM = 0xff; extrinsicROM = 0xff; bus = new CbusPanasonic(); backdoorOpen = false; backdoorFlipping = false; m_backdoorAngle = 0; }
Crlp9001::Crlp9001(CPObject *parent ) : CPObject(this) { //[constructor] setfrequency( 0); BackGroundFname = P_RES(":/rlh1000/rlp9002.png"); setDXmm(113); setDYmm(95); setDZmm(51); // Ratio = 3,57 setDX(403);//Pc_DX = 75; setDY(340);//Pc_DY = 20; rotate = false; memsize = 0x4000; InitMemValue = 0xff; SlotList.clear(); SlotList.append(CSlot(16 , 0x0000 , "" , "" , RAM , "RAM 16Ko")); }
Crlp1002::Crlp1002(CPObject *parent):Cce515p(parent) { //[constructor] Q_UNUSED(parent) setfrequency( 0); margin = 25; BackGroundFname = P_RES(":/rlh1000/rlp1002.png"); setcfgfname("rlp1002"); pTIMER = new Ctimer(this); pKEYB->setMap("rlp1002.map"); setDXmm(227); setDYmm(95); setDZmm(31); setDX(848); setDY(340); setPaperPos(QRect(57,-20,318,236)); rotate = false; INTrequest = false; printing = false; receiveMode = false; CRLFPending = false; memsize = 0x2000; InitMemValue = 0x7f; SlotList.clear(); SlotList.append(CSlot(8 , 0x0000 , P_RES(":/rlh1000/rlp1002.bin") , "" , CSlot::ROM , "Printer ROM")); }
Ccemem::Ccemem(CPObject *parent ,Models mod):CPObject(parent) { setDXmm(42); setDYmm(54); setDZmm(3); setDX(150); setDY(192); SlotList.clear(); InitMemValue = 0x00; setDXmm(33); setDYmm(40); setDZmm(7); setDX(115); setDY(139); model = mod; switch(model) { case CE151: // 4KB RAM module BackGroundFname = P_RES(":/cemem/ce151.png"); setcfgfname(QString("ce151")); memsize = 0x1000; SlotList.append(CSlot(4 , 0x0000 , "" , "" , CSlot::RAM , "RAM 4KB")); break; case CE155: // 8KB RAM module BackGroundFname = P_RES(":/cemem/ce155.png"); setcfgfname(QString("ce155")); memsize = 0x2000; SlotList.append(CSlot(8 , 0x0000 , "" , "" , CSlot::RAM , "RAM 8KB")); break; case CE160: // 16KB RAM module setDXmm(41); setDYmm(48); setDZmm(9); setDX(143); setDY(167); BackGroundFname = P_RES(":/cemem/ce160.png"); setcfgfname(QString("ce160")); memsize = 0x4000; SlotList.append(CSlot(16 , 0x0000 , "" , "" , CSlot::RAM , "RAM 16KB")); break; case CE163: // 32KB RAM module setDXmm(41); setDYmm(48); setDZmm(9); setDX(143); setDY(167); BackGroundFname = P_RES(":/cemem/ce163.png"); setcfgfname(QString("ce163")); memsize = 0x8000; SlotList.append(CSlot(32 , 0x0000 , "" , "" , CSlot::RAM , "RAM 32KB")); break; default: break; } bus1500 = new CbusPc1500(); }
Cz1::Cz1(CPObject *parent, Models mod) : CpcXXXX(parent) { //[constructor] setfrequency( (int) 3686400); model = mod; switch (model) { case Z1GR: setcfgfname(QString("z1gr")); setresName("z1"); SessionHeader = "Z1GGRPKM"; Initial_Session_Fname ="z1gr.pkm"; BackGroundFname = P_RES(":/z1/z1gr.png"); break; case FX890P: setcfgfname(QString("fx890p")); setresName("z1"); SessionHeader = "FX890PPKM"; Initial_Session_Fname ="fx890p.pkm"; BackGroundFname = P_RES(":/z1/fx-890p.png"); break; default: setcfgfname(QString("z1")); setresName("z1"); SessionHeader = "Z1PKM"; Initial_Session_Fname ="z1.pkm"; BackGroundFname = P_RES(":/z1/z1.png"); } LeftFname = P_RES(":/z1/z1Left.png"); memsize = 0x100000; InitMemValue = 0x00; SlotList.clear(); SlotList.append(CSlot(64 , 0x00000 , "" , "" , CSlot::RAM , "RAM")); SlotList.append(CSlot(64 , 0x10000 , "" , "" , CSlot::RAM , "RAM")); SlotList.append(CSlot(64 , 0x20000 , "" , "" , CSlot::RAM , "RAM")); SlotList.append(CSlot(64 , 0x30000 , "" , "" , CSlot::RAM , "RAM")); SlotList.append(CSlot(32 , 0x40000 , "" , "" , CSlot::RAM , "RAM")); SlotList.append(CSlot(64 , 0xa0000 , "" , "" , CSlot::RAM , "VIDEO RAM")); if (model==Z1GR) SlotList.append(CSlot(128 , 0xE0000 , P_RES(":/z1/romz1gr.bin") , "" , CSlot::ROM , "ROM")); else SlotList.append(CSlot(128 , 0xE0000 , P_RES(":/z1/romz1.bin") , "" , CSlot::ROM , "ROM")); PowerSwitch = 0; setDXmm(206); setDYmm(83); setDZmm(25); setDX(736); setDY(297); PowerSwitch = 0; pLCDC = new Clcdc_z1(this, QRect(91,44,370,64), QRect(81,44,89,64)); // QRect(77,44,384,64), // QRect(67,44,75,64)); pCPU = new Ci80L188EB(this); pFPU = new CCF79107PJ(this); pTIMER = new Ctimer(this); pHD66108 = new CHD66108(this); pKEYB->setMap("z1.map"); pCENT = new Cctronics(this); pCENT->pTIMER = pTIMER; lastKeyBufSize = 0; newKey = false; i80l188ebcpu = (Ci80L188EB*)pCPU; ioFreq = 0; pCENTflip = true; }
Cpc1360::Cpc1360(CPObject *parent) : Cpc13XX(parent) { //[constructor] setcfgfname("pc1360"); SessionHeader = "PC1360PKM"; Initial_Session_Fname ="pc1360.pkm"; BackGroundFname = P_RES(":/pc1360/pc1360.png"); BackFname = P_RES(":/pc1360/pc1360Back.png"); memsize = 0x40000; // InitMemValue = 0xff; SlotList.clear(); SlotList.append(CSlot(8 , 0x0000 , P_RES(":/pc1360/cpu-1360.rom") , "pc-1360/cpu-1360.rom", CSlot::ROM , "CPU ROM")); SlotList.append(CSlot(8 , 0x2000 , "" , "pc-1360/R1-1360.ram" , CSlot::RAM , "SYSTEM RAM")); SlotList.append(CSlot(16, 0x4000 , P_RES(":/pc1360/B0-1360.rom") , "pc-1360/B0-1360.rom" , CSlot::ROM , "CURRENT ROM BANK")); SlotList.append(CSlot(32, 0x8000 , "" , "pc-1360/R2-1360.ram" , CSlot::RAM , "CURRENT RAM SLOT")); SlotList.append(CSlot(16, 0x10000 , P_RES(":/pc1360/B0-1360.rom") , "pc-1360/B0-1360.rom" , CSlot::ROM , "ROM BANK 0")); SlotList.append(CSlot(16, 0x14000 , P_RES(":/pc1360/B1-1360.rom") , "pc-1360/B1-1360.rom" , CSlot::ROM , "ROM BANK 1")); SlotList.append(CSlot(16, 0x18000 , P_RES(":/pc1360/B2-1360.rom") , "pc-1360/B2-1360.rom" , CSlot::ROM , "ROM BANK 2")); SlotList.append(CSlot(16, 0x1C000 , P_RES(":/pc1360/B3-1360.rom") , "pc-1360/B3-1360.rom" , CSlot::ROM , "ROM BANK 3")); SlotList.append(CSlot(16, 0x20000 , P_RES(":/pc1360/B4-1360.rom") , "pc-1360/B4-1360.rom" , CSlot::ROM , "ROM BANK 4")); SlotList.append(CSlot(16, 0x24000 , P_RES(":/pc1360/B5-1360.rom") , "pc-1360/B5-1360.rom" , CSlot::ROM , "ROM BANK 5")); SlotList.append(CSlot(16, 0x28000 , P_RES(":/pc1360/B6-1360.rom") , "pc-1360/B6-1360.rom" , CSlot::ROM , "ROM BANK 6")); SlotList.append(CSlot(16, 0x2C000 , P_RES(":/pc1360/B7-1360.rom") , "pc-1360/B7-1360.rom" , CSlot::ROM , "ROM BANK 7")); SlotList.append(CSlot(32, 0x30000 , "" , "pc-1360/B0-1360.ram" , CSlot::RAM , "RAM SLOT 1")); SlotList.append(CSlot(32, 0x38000 , "" , "pc-1360/B1-1360.ram" , CSlot::RAM , "RAM SLOT 2")); KeyMap = KeyMap1360; KeyMapLenght = KeyMap1360Lenght; pLCDC = new Clcdc_pc1360(this, QRect(75,48,300,64), QRect(50,48,30,64)); pKEYB->setMap("pc1360.map",scandef_pc1360); pCPU = new CSC61860(this); pTIMER = new Ctimer(this); busS2 = new Cbus("RAM Bus S2"); backdoorS2Open = false; backdoorS1Open = false; backdoorFlipping = false; m_backdoorS2Angle = 0; }
Cpc1475::Cpc1475(CPObject *parent) : Cpc1360(parent) { //[constructor] setfrequency(768000/3); setcfgfname("pc1475"); SessionHeader = "PC1475PKM"; Initial_Session_Fname ="pc1475.pkm"; BackGroundFname = P_RES(":/pc1475/pc1475.png"); memsize = 0x40000; SlotList.clear(); SlotList.append(CSlot(8 , 0x0000 , P_RES(":/pc1475/cpu-1475.rom") , "" ,CSlot::ROM , "CPU ROM")); SlotList.append(CSlot(8 , 0x2000 , "" , "" , CSlot::RAM , "SYSTEM RAM")); SlotList.append(CSlot(16, 0x4000 , P_RES(":/pc1475/b0-1475.rom") , "" , CSlot::ROM , "ROM")); SlotList.append(CSlot(32, 0x8000 , "" , "" , CSlot::RAM , "RAM")); SlotList.append(CSlot(16, 0x10000 , P_RES(":/pc1475/b0-1475.rom") , "" , CSlot::ROM , "BANK 0")); SlotList.append(CSlot(16, 0x14000 , P_RES(":/pc1475/b1-1475.rom") , "" , CSlot::ROM , "BANK 1")); SlotList.append(CSlot(16, 0x18000 , P_RES(":/pc1475/b2-1475.rom") , "" , CSlot::ROM , "BANK 2")); SlotList.append(CSlot(16, 0x1C000 , P_RES(":/pc1475/b3-1475.rom") , "" , CSlot::ROM , "BANK 3")); SlotList.append(CSlot(16, 0x20000 , P_RES(":/pc1475/b4-1475.rom") , "" , CSlot::ROM , "BANK 4")); SlotList.append(CSlot(16, 0x24000 , P_RES(":/pc1475/b5-1475.rom") , "" , CSlot::ROM , "BANK 5")); SlotList.append(CSlot(16, 0x28000 , P_RES(":/pc1475/b6-1475.rom") , "" , CSlot::ROM , "BANK 6")); SlotList.append(CSlot(16, 0x2C000 , P_RES(":/pc1475/b7-1475.rom") , "" , CSlot::ROM , "BANK 7")); SlotList.append(CSlot(32, 0x30000 , "" , "" , CSlot::RAM , "RAM S1")); SlotList.append(CSlot(32, 0x38000 , "" , "" , CSlot::RAM , "RAM S2")); KeyMap = KeyMap1450; KeyMapLenght = KeyMap1450Lenght; delete pLCDC; pLCDC = new Clcdc_pc1475(this, QRect(111,48,264*.9,30), QRect(111,38,264*.9,45)); pKEYB->setMap("pc1475.map",scandef_pc1450); }