// Start address
address = SCREEN_IO_START(nbcols, nbrows, page);
} else {
- struct VideoParam_s *vparam_g = GET_GLOBAL(vmode_g->vparam);
- address = page * GET_GLOBAL(vparam_g->slength);
+ address = page * GET_GLOBAL(vmode_g->slength);
}
vgahw_set_active_page(address);
perform_gray_scale_summing(0x00, 0x100);
}
- struct VideoParam_s *vparam_g = GET_GLOBAL(vmode_g->vparam);
- vgahw_set_mode(vparam_g);
+ vgahw_set_mode(vmode_g);
if (noclearmem == 0x00)
clear_screen(vmode_g);
crtc_addr = VGAREG_MDA_CRTC_ADDRESS;
// Set the BIOS mem
- u16 cheight = GET_GLOBAL(vparam_g->cheight);
+ u16 cheight = GET_GLOBAL(vmode_g->cheight);
SET_BDA(video_mode, mode);
- SET_BDA(video_cols, GET_GLOBAL(vparam_g->twidth));
- SET_BDA(video_pagesize, GET_GLOBAL(vparam_g->slength));
+ SET_BDA(video_cols, GET_GLOBAL(vmode_g->twidth));
+ SET_BDA(video_pagesize, GET_GLOBAL(vmode_g->slength));
SET_BDA(crtc_address, crtc_addr);
- SET_BDA(video_rows, GET_GLOBAL(vparam_g->theightm1));
+ SET_BDA(video_rows, GET_GLOBAL(vmode_g->theight)-1);
SET_BDA(char_height, cheight);
SET_BDA(video_ctl, (0x60 | noclearmem));
SET_BDA(video_switches, 0xF9);
struct funcInfo {
- u16 static_functionality_off;
- u16 static_functionality_seg;
+ struct segoff_s static_functionality;
u8 bda_0x49[30];
u8 bda_0x84[3];
u8 dcc_index;
struct funcInfo *info = (void*)(regs->di+0);
memset_far(seg, info, 0, sizeof(*info));
// Address of static functionality table
- SET_FARVAR(seg, info->static_functionality_off, (u32)static_functionality);
- SET_FARVAR(seg, info->static_functionality_seg, get_global_seg());
+ SET_FARVAR(seg, info->static_functionality
+ , SEGOFF(get_global_seg(), (u32)static_functionality));
// Hard coded copy from BIOS area. Should it be cleaner ?
memcpy_far(seg, info->bda_0x49, SEG_BDA, (void*)0x49