示例#1
0
void model_init()
{
        pclog("Initting as %s\n", model_getname());
        AMSTRAD = AT = PCI = TANDY = 0;
        io_init();
        
        models[model].init();
}
示例#2
0
文件: model.c 项目: Wack0/PCem-X
void model_init()
{
        pclog("Initting as %s\n", model_getname());
        io_init();
        
        models[model].init();

	pclog("PCI: %02X, Max IDE: %02X, 386: %02X\n", PCI, maxide, is386);
}
示例#3
0
文件: pc.c 项目: richardg867/PCem-X
void runpc()
{
    char s[200];
    int done=0;

    startblit();
    clockrate = models[model].cpu[cpu_manufacturer].cpus[cpu].rspeed;

    if (is386)
    {
        if (cpu_use_dynarec)
            exec386_dynarec(models[model].cpu[cpu_manufacturer].cpus[cpu].rspeed / (turbo ? 100 : 200));
        else
            exec386(models[model].cpu[cpu_manufacturer].cpus[cpu].rspeed / (turbo ? 100 : 200));
    }
    else if (AT || is_nonat_286())
        exec386(models[model].cpu[cpu_manufacturer].cpus[cpu].rspeed / (turbo ? 100 : 200));
    else
        execx86(models[model].cpu[cpu_manufacturer].cpus[cpu].rspeed / (turbo ? 100 : 200));

    keyboard_poll_host();
    keyboard_process();
//                checkkeys();
    pollmouse();
    joystick_poll();
    endblit();

    framecountx++;
    framecount++;
    if (framecountx>=100)
    {
        pclog("onesec\n");
        framecountx=0;
        mips=(float)insc/1000000.0f;
        insc=0;
        flops=(float)fpucount/1000000.0f;
        fpucount=0;
        sreadlnum=readlnum;
        swritelnum=writelnum;
        segareads=egareads;
        segawrites=egawrites;
        scycles_lost = cycles_lost;

        cpu_recomp_blocks_latched = cpu_recomp_blocks;
        cpu_recomp_ins_latched = cpu_recomp_ins;
        cpu_recomp_full_ins_latched = cpu_recomp_full_ins;
        cpu_new_blocks_latched = cpu_new_blocks;
        cpu_recomp_flushes_latched = cpu_recomp_flushes;
        cpu_recomp_evicted_latched = cpu_recomp_evicted;
        cpu_recomp_reuse_latched = cpu_recomp_reuse;
        cpu_recomp_removed_latched = cpu_recomp_removed;
        cpu_reps_latched = cpu_reps;
        cpu_notreps_latched = cpu_notreps;

        cpu_recomp_blocks = 0;
        cpu_recomp_ins = 0;
        cpu_recomp_full_ins = 0;
        cpu_new_blocks = 0;
        cpu_recomp_flushes = 0;
        cpu_recomp_evicted = 0;
        cpu_recomp_reuse = 0;
        cpu_recomp_removed = 0;
        cpu_reps = 0;
        cpu_notreps = 0;

        updatestatus=1;
        readlnum=writelnum=0;
        egareads=egawrites=0;
        cycles_lost = 0;
        mmuflush=0;
        intcount=0;
        intcount=pitcount=0;
        emu_fps = frames;
        frames = 0;
    }
    if (win_title_update)
    {
        win_title_update=0;

        if (is386)
        {
            if (cpu_use_dynarec)
                sprintf(s, "PCem-X v10 [DYN] - %i%% - %s - %s - %s", fps, model_getname(), models[model].cpu[cpu_manufacturer].cpus[cpu].name, (!mousecapture) ? "Click to capture mouse" : "Press CTRL-END or middle button to release mouse");
            else
                sprintf(s, "PCem-X v10 [INT 286/386] - %i%% - %s - %s - %s", fps, model_getname(), models[model].cpu[cpu_manufacturer].cpus[cpu].name, (!mousecapture) ? "Click to capture mouse" : "Press CTRL-END or middle button to release mouse");
        }
        else if (AT || is_nonat_286())
            sprintf(s, "PCem-X v10 [INT 286/386] - %i%% - %s - %s - %s", fps, model_getname(), models[model].cpu[cpu_manufacturer].cpus[cpu].name, (!mousecapture) ? "Click to capture mouse" : "Press CTRL-END or middle button to release mouse");
        else
            sprintf(s, "PCem-X v10 [INT 808x] - %i%% - %s - %s - %s", fps, model_getname(), models[model].cpu[cpu_manufacturer].cpus[cpu].name, (!mousecapture) ? "Click to capture mouse" : "Press CTRL-END or middle button to release mouse");

        set_window_title(s);
    }
    done++;
    frame++;
}