Esempio n. 1
0
DEX32_DDL_INFO *Dex32CreateDDL(){
    DEX32_DDL_INFO *dev = (DEX32_DDL_INFO *)malloc(sizeof(DEX32_DDL_INFO));
    memset(dev, 0, sizeof(DEX32_DDL_INFO));
    dev->size = sizeof(DEX32_DDL_INFO);
    totalDDL++;
    dev->handle = totalDDL;
    dev->buf_size = 80*25*2*sizeof(char);
    dev->mem_ptr = (char *)malloc(80*25*2*sizeof(char));
    memset(dev->mem_ptr, 0, 80*25*2*sizeof(char));
    dev->buf_ptr = dev->mem_ptr;
    dev->hdw_ptr = (char *)0xB8000;
    dev->type = DDL_CGA;
    dev->active = 0;
    dev->locked = 0;
    dev->lines = 0;
    dev->scroll = 1;
    Dex32SetTextColor(dev, WHITE);
    Dex32SetTextBackground(dev, BLACK);

    dev->curx = 0;
    dev->cury = 0;
    if(ActiveDDL == 0) {
        Dex32SetActiveDDL(dev);
    }

    return dev;
}
Esempio n. 2
0
int fg_setforeground(int num)
{
    DWORD cpuflags;
    int ret = -1;
    
    dex32_stopints(&cpuflags);
    
    if (num < FG_MAXCONSOLE)
    {
        if (fg_vconsoles[num]!=0)
        {
               DEX32_DDL_INFO *fgDDL= fg_vconsoles[num]->screen;
               int ret = fg_current;
               Dex32SetActiveDDL(fgDDL);
               fg_current = num;
        };
    };
    
    dex32_restoreints(cpuflags);
    
    return ret;
};