Exemplo n.º 1
0
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;

}
Exemplo n.º 2
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;

}
Exemplo n.º 3
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"));

}
Exemplo n.º 4
0
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"));

}
Exemplo n.º 5
0
/**
 * @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;
}
Exemplo n.º 6
0
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;
}
Exemplo n.º 7
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"));

}
Exemplo n.º 8
0
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"));

}
Exemplo n.º 9
0
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();
}
Exemplo n.º 10
0
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;
}
Exemplo n.º 11
0
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;
}
Exemplo n.º 12
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);

}