コード例 #1
0
ファイル: fp100.cpp プロジェクト: TheProjecter/pockemul
Cfp100::Cfp100(CPObject *parent):Cce515p(this) {
    setfrequency( 4000);
    ioFreq = 0;
    setcfgfname(QString("fp100"));
    BackGroundFname	= P_RES(":/ext/fp100.png");



    delete pKEYB;
    pKEYB		= new Ckeyb(this,"x710.map");

    setDXmm(302);//Pc_DX_mm = 256;
    setDYmm(120);//Pc_DY_mm = 185;
    setDZmm(36);//Pc_DZ_mm = 42;

    setDX(1078);//Pc_DX	= 895;
    setDY(817);//Pc_DY	= 615;



    printerACK = false;
    printerBUSY = false;


    capot = LoadImage(QSize(849,274),P_RES(":/ext/fp100-capot.png"));
    head = LoadImage(QSize(79,161),P_RES(":/ext/fp100head.png"));
    cable = LoadImage(QSize(75,10),P_RES(":/ext/fp100cable.png"));

    margin = 40;
    Paper_DX = 960+2*margin;
    setPaperPos(QRect(154,26,731,300));
}
コード例 #2
0
ファイル: rlp4002.cpp プロジェクト: pockemul/PockEmul
bool Crlp4002::init(void)
{
    CPObject::init();

    setfrequency( 0);

    pCONNECTOR = new Cconnector(this,44,0,
                                    Cconnector::Panasonic_44,
                                    "44 pins conector",
                                    true,
                                    QPoint(30,72),
                                    Cconnector::WEST);
    publish(pCONNECTOR);
    WatchPoint.add(&pCONNECTOR_value,64,44,this,"Printer connector");
    AddLog(LOG_PRINTER,tr("PRT initializing..."));

    if(pKEYB)   pKEYB->init();
    if(pTIMER)  pTIMER->init();

//    inBuffer.append("PREMIERE COMMUNICATION SERIE");
    statusReg = 0;
    outputReg = 0;
    controlReg = 0;
    xon = true;

    soc.connectToHost("127.0.0.1",4000);

    QObject:: connect(&soc, SIGNAL(readyRead()), this, SLOT(readData()));



    return true;
}
コード例 #3
0
ファイル: pc2021.cpp プロジェクト: pockemul/PockEmul
Cpc2021::Cpc2021(CPObject *parent):Cprinter(parent)
{								//[constructor]
    setfrequency( 0);
    pc2021buf	= 0;
    pc2021display= 0;
    //bells		= 0;
    charTable = 0;
    margin = 25;
    ToDestroy	= false;
    BackGroundFname	= P_RES(":/ext/pc-2021.png");
    setcfgfname("pc2021");

    settop(10);
    setposX(0);

    pTIMER		= new Ctimer(this);
    KeyMap      = KeyMappc2021;
    KeyMapLenght= KeyMappc2021Lenght;
    pKEYB->setMap("pc2021.map");
    setDXmm(108);
    setDYmm(130);
    setDZmm(43);

    setDX(386);
    setDY(464);

    setPaperPos(QRect(70,-3,275,149));

    ctrl_char = false;
    t = 0;
    c = 0;
    rmtSwitch = false;

    internal_device_code = 0x0f;
}
コード例 #4
0
ファイル: rlp4002.cpp プロジェクト: pockemul/PockEmul
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"));

}
コード例 #5
0
ファイル: e500.cpp プロジェクト: TheProjecter/pockemul
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;

}
コード例 #6
0
ファイル: rlh1000.cpp プロジェクト: pockemul/PockEmul
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;
}
コード例 #7
0
ファイル: pb1000.cpp プロジェクト: pockemul/PockEmul
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;

}
コード例 #8
0
ファイル: cemem.cpp プロジェクト: pockemul/PockEmul
bool Ccemem::init()
{
    CPObject::init();
    setfrequency( 0);

    pCONNECTOR = new Cconnector(this,40,3,Cconnector::Sharp_40,"Memory connector",false,QPoint(0,90));	publish(pCONNECTOR);

    if(pKEYB)	pKEYB->init();
    if(pTIMER)	pTIMER->init();

    return true;
}
コード例 #9
0
ファイル: ce1600f.cpp プロジェクト: pockemul/PockEmul
bool Cce1600f::init()
{
    CPObject::init();
    setfrequency( 0);
    pCONNECTOR	   = new Cconnector(this,50,0,Cconnector::Sharp_50,"Connector 50 pins",false,QPoint(339,225),Cconnector::EAST);	publish(pCONNECTOR);
    WatchPoint.add(&pCONNECTOR_value,64,50,this,"50 pins connector");

    AddLog(LOG_PRINTER,tr("CE-1600F initializing..."));

    if(pKEYB)	pKEYB->init();
    if(pTIMER)	pTIMER->init();

    return true;
}
コード例 #10
0
ファイル: rlp6001.cpp プロジェクト: TheProjecter/pockemul
Crlp6001::Crlp6001(CPObject *parent )	: CPObject(this)
{							//[constructor]


    setfrequency( 0);
    BackGroundFname	= P_RES(":/rlh1000/rlp6001.png");

    setDXmm(85);
    setDYmm(318);
    setDZmm(51);
 // Ratio = 3,57
    setDX(303);//Pc_DX	= 75;
    setDY(1035);//Pc_DY	= 20;

}
コード例 #11
0
ファイル: pc1421.cpp プロジェクト: pockemul/PockEmul
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"));

}
コード例 #12
0
ファイル: jr800.cpp プロジェクト: pockemul/PockEmul
/**
 * @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;
}
コード例 #13
0
ファイル: pc2021.cpp プロジェクト: TheProjecter/pockemul
bool Cpc2021::init(void)
{
    CPObject::init();

    setfrequency( 0);

    pCONNECTOR	= new Cconnector(this,
                                 9,
                                 0,
                                 Cconnector::DIN_8,
                                 "Printer connector",
                                 true,
                                 QPoint(386,238),
                                 Cconnector::EAST);
    publish(pCONNECTOR);
    WatchPoint.add(&pCONNECTOR_value,64,11,this,"Printer connector");
    AddLog(LOG_PRINTER,tr("PRT initializing..."));

    if(pKEYB)	pKEYB->init();
    if(pTIMER)	pTIMER->init();

    // Create CE-126 Paper Image
    // The final paper image is 207 x 149 at (277,0) for the ce125
    pc2021buf	= new QImage(QSize(170, 3000),QImage::Format_ARGB32);
    pc2021display= new QImage(QSize(170, 149),QImage::Format_ARGB32);


//TODO Update the chartable with upd16343 char table
    charTable = new QImage(P_RES(":/ext/ce126ptable.bmp"));

//	bells	 = new QSound("ce.wav");

// Create a paper widget

    paperWidget = new CpaperWidget(PaperPos(),pc2021buf,this);
    paperWidget->updated = true;
    paperWidget->show();

    // Fill it blank
    clearPaper();

    run_oldstate = -1;

    return true;
}
コード例 #14
0
ファイル: sio.cpp プロジェクト: pockemul/PockEmul
Csio::Csio(CPObject *parent)	: CPObject(parent)
{							//[constructor]
    si=so=0;			//si,so port access?(0:none, 1:access)
    plink=0;			//aplinks using?(0:none, 1:using)
    plinkmode=0;		//select plink client(0:plink, 1:plinkc)
    exportbit=0;
    exportbyte=1;
    convCRLF=1;

    currentBit=oldstate_in=0;
    Start_Bit_Sent = false;
    t=c=0;waitbitstart=1;waitbitstop=waitparity=0;

    baudrate = 9600;

    ToDestroy = false;

    outBitNb = 0;
    Sii_ndx				= 0;
    Sii_wait			= 0;
    Sii_wait_recv       = 0;
    Sii_startbitsent	= false;
    Sii_stopbitsent		= true;
    Sii_TransferStarted = false;
    Sii_TextLength		= 0;
    Sii_Bit_Nb			= 0;
    Sii_LfWait			= 500;

    setfrequency( 0);
    ioFreq = 0;
    BackGroundFname	= P_RES(":/ext/serial.png");

    pTIMER		= new Ctimer(this);
    setDX(195);
    setDY(145);
    setDXmm(50);
    setDYmm(55);
    setDZmm(33);

    dialogconsole = new DialogConsole(this);

}
コード例 #15
0
ファイル: ce122.cpp プロジェクト: pockemul/PockEmul
bool Cce122::init(void)
{
    Cce126::init();

    setfrequency( 0);
    remove(pCONNECTOR); delete pCONNECTOR;
    pCONNECTOR	= new Cconnector(this,9,0,Cconnector::Sharp_9,"Connector 9 pins",true,QPoint(372,107));	publish(pCONNECTOR);

    WatchPoint.add(&pCONNECTOR_value,64,9,this,"Standard 11pins connector");
    WatchPoint.add(&pTAPECONNECTOR_value,64,2,this,"Line In / Rec");

    AddLog(LOG_PRINTER,tr("PRT initializing..."));

    if(pKEYB)	pKEYB->init();
    if(pTIMER)	pTIMER->init();

    // Create CE-122 Paper Image
    // The final paper image is 207 x 149 at (277,0) for the ce125
    ce126buf	= new QImage(QSize(130, 3000),QImage::Format_ARGB32);
    ce126display= new QImage(QSize(130, 149),QImage::Format_ARGB32);
    margin = 5;



    charTable = new QImage(P_RES(":/ext/ce122table.bmp"));

//	bells	 = new QSound("ce.wav");

// Create a paper widget

    paperWidget = new CpaperWidget(PaperPos(),ce126buf,this);
    paperWidget->updated = true;
    paperWidget->show();

    // Fill it blank
    clearPaper();



    return true;
}
コード例 #16
0
ファイル: ce152.cpp プロジェクト: TheProjecter/pockemul
bool Cce152::init(void)
{
    AddLog(LOG_TAPE,"Tape initializing...")

    info.ptrFd	= 0;
    mode	= EJECT;

    CPObject::init();

    setfrequency( 0);

    pTAPECONNECTOR	= new Cconnector(this,3,0,Cconnector::Jack,"Line in / Rec / Rmt",true,
                                     QPoint(0,150),Cconnector::WEST);	publish(pTAPECONNECTOR);

    WatchPoint.add(&pTAPECONNECTOR_value,64,2,this,"Line In / Rec");

    if(pKEYB)	pKEYB->init();
    if(pTIMER)	pTIMER->init();

if (fp_tape==NULL) fp_tape=fopen("LOG TAPE.txt","wb");
    return true;
}
コード例 #17
0
ファイル: rlp1002.cpp プロジェクト: pockemul/PockEmul
bool Crlp1002::init(void)
{
    Cce515p::init();

    setfrequency( 0);

    pCONNECTOR = new Cconnector(this,44,0,
                                    Cconnector::Panasonic_44,
                                    "44 pins conector",
                                    true,
                                    QPoint(37,72),
                                    Cconnector::WEST);
    publish(pCONNECTOR);
    WatchPoint.add(&pCONNECTOR_value,64,44,this,"Printer connector");
    AddLog(LOG_PRINTER,tr("PRT initializing..."));

    if(pKEYB)   pKEYB->init();
    if(pTIMER)  pTIMER->init();

    paperWidget->hide();
    return true;
}
コード例 #18
0
ファイル: md100.cpp プロジェクト: pockemul/PockEmul
Cmd100::Cmd100(CPObject *parent):CPObject(parent)
{								//[constructor]
    setfrequency( 0);

    BackGroundFname	= P_RES(":/md100/md-100.png");
    setcfgfname("md100");



    pTIMER		= new Ctimer(this);

    setDX(1203);//Pc_DX	= 620;//480;
    setDY(779);//Pc_DY	= 488;//420;

    setDXmm(337);
    setDYmm(218);
    setDZmm(46);

    port = 0x08;
    adrBus=prev_adrBus=0;

}
コード例 #19
0
ファイル: rlp9001.cpp プロジェクト: TheProjecter/pockemul
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"));

}
コード例 #20
0
ファイル: cl1000.cpp プロジェクト: TheProjecter/pockemul
Ccl1000::Ccl1000(CPObject *parent):Cce515p(this) {
    setfrequency( 0);
    ioFreq = 0;
    setcfgfname(QString("cl1000"));
    BackGroundFname	= P_RES(":/ext/cl-1000.png");

    delete pKEYB;
    pKEYB		= new Ckeyb(this,"cl1000.map");

    setDXmm(260);//Pc_DX_mm = 256;
    setDYmm(225);//Pc_DY_mm = 185;
    setDZmm(42);//Pc_DZ_mm = 42;

    setDX(928);//Pc_DX	= 895;
    setDY(804);//Pc_DY	= 615;

    printerACK = false;
    printerBUSY = false;

    margin = 20;
    Paper_DX = 240+2*margin;
    setPaperPos(QRect(90,0,214,245));
}
コード例 #21
0
ファイル: Ce126.cpp プロジェクト: pockemul/PockEmul
Cce126::Cce126(CPObject *parent):Cprinter(parent)
{								//[constructor]
    Q_UNUSED(parent)

    setfrequency( 0);
    ce126buf	= 0;
    ce126display= 0;
    
//bells		= 0;
    charTable = 0;
    margin = 25;
    ToDestroy	= false;
    BackGroundFname	= P_RES(":/ext/ce-126p.png");
    setcfgfname("ce126p");

    settop(10);
    setposX(0);
    pTIMER		= new Ctimer(this);
    KeyMap      = KeyMapce126;
    KeyMapLenght= KeyMapce126Lenght;
    pKEYB->setMap("ce126.map");
    setDX(620);
    setDY(488);

    setDXmm(116);
    setDYmm(140);
    setDZmm(23);

    setPaperPos(QRect(150,-3,207,149));

    ctrl_char = false;
    t = 0;
    c = 0;
    rmtSwitch = false;

    internal_device_code = 0x0f;
}
コード例 #22
0
ファイル: pc1475.cpp プロジェクト: pockemul/PockEmul
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);

}
コード例 #23
0
ファイル: rlp1002.cpp プロジェクト: pockemul/PockEmul
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"));

}
コード例 #24
0
ファイル: md100.cpp プロジェクト: pockemul/PockEmul
bool Cmd100::init(void)
{
    CPObject::init();

    setfrequency( 0);

    pCONNECTOR	   = new Cconnector(this,30,0,Cconnector::Casio_30,"Connector 30 pins",true,QPoint(666,540));	publish(pCONNECTOR);
    pCENTCONNECTOR = new Cconnector(this,36,1,Cconnector::Centronics_36,"Centronic 36 pins",false,QPoint(417,13)); publish(pCENTCONNECTOR);
    pSIOCONNECTOR  = new Cconnector(this,9,2,Cconnector::DB_25,"Serial 25 pins",false,QPoint(517,13)); publish(pSIOCONNECTOR);

    QHash<int,QString> lbl;
    lbl[ 4]="A0";
    lbl[18]="A1";
    lbl[ 6]="A2";
    lbl[ 3]="A3";

    lbl[22]="I00";
    lbl[19]="I01";
    lbl[ 9]="I02";
    lbl[24]="I03";
    lbl[21]="I04";
    lbl[ 8]="I05";
    lbl[20]="I06";
    lbl[23]="I07";

    lbl[25]="P0";
    lbl[11]="P1";
    lbl[26]="P2";
    lbl[12]="P3";
    lbl[27]="P4";
    WatchPoint.add(&pCONNECTOR_value,64,30,this,"Standard 30pins connector",lbl);

    lbl.clear();
    lbl[1] = "STROBE";
    lbl[2] = "D1";
    lbl[3] = "D2";
    lbl[4] = "D3";
    lbl[5] = "D4";
    lbl[6] = "D5";
    lbl[7] = "D6";
    lbl[8] = "D7";
    lbl[9] = "D8";
    lbl[10]= "ACK";
    lbl[11]= "BUSY";
    lbl[31]= "INIT";
    lbl[32]= "ERROR";
    WatchPoint.add(&pCENTCONNECTOR_value,64,36,this,"Centronic 36pins connector",lbl);

    lbl.clear();
    lbl[1] = "GND";
    lbl[2] = "TXD";
    lbl[3] = "RXD";
    lbl[4] = "RTS";
    lbl[5] = "CTS";
    lbl[6] = "DSR";
    lbl[7] = "GND";
    lbl[8] = "DCD";
    lbl[20]= "DTR";
    WatchPoint.add(&pSIOCONNECTOR_value,64,25,this,"Serial 25pins connector",lbl);

    AddLog(LOG_PRINTER,tr("MD-100 initializing..."));

    if(pTIMER)	pTIMER->init();

    mdFileNotOpened = 0x80;
    mdNoRoom = 0x40;
    mdInvalidCommand = 0x20;
    mdFileFound = 0x10;
    mdRenameFailed = 0x08;
    mdNoData = 0x04;
    mdWriteProtected = 0x02;
    mdEndOfFile = 0x01;
    mdOK = 0x00;

    data = 0;
    sendData = false;

    FddOpen();
    return true;
}
コード例 #25
0
ファイル: z1.cpp プロジェクト: pockemul/PockEmul
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;
}