OpenCores
URL https://opencores.org/ocsvn/zet86/zet86/trunk

Subversion Repositories zet86

[/] [zet86/] [trunk/] [soc/] [bios/] [vgabios.c] - Diff between revs 40 and 41

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 40 Rev 41
Line 149... Line 149...
 *  int10 handled here
 *  int10 handled here
 */
 */
ASM_START
ASM_START
vgabios_int10_handler:
vgabios_int10_handler:
  pushf
  pushf
 
  cmp   ah, #0x0f
 
  jne   int10_test_1A
 
  call  biosfn_get_video_mode
 
  jmp   int10_end
 
int10_test_1A:
int10_test_1103:
int10_test_1103:
  cmp   ax, #0x1103
  cmp   ax, #0x1103
  jne   int10_normal
  jne   int10_normal
  call  biosfn_set_text_block_specifier
  call  biosfn_set_text_block_specifier
  jmp   int10_end
  jmp   int10_end
Line 227... Line 232...
;  inc  sp
;  inc  sp
  ret
  ret
 
 
#if defined(USE_BX_INFO) || defined(DEBUG)
#if defined(USE_BX_INFO) || defined(DEBUG)
msg_vga_init:
msg_vga_init:
.ascii "VGABios $Id: vgabios.c,v 1.4 2009-01-11 03:22:12 zeus Exp $"
.ascii "VGABios $Id: vgabios.c,v 1.5 2009-01-13 08:20:37 zeus Exp $"
.byte 0x0d,0x0a,0x00
.byte 0x0d,0x0a,0x00
#endif
#endif
ASM_END
ASM_END
 
 
// --------------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------------
Line 403... Line 408...
     biosfn_set_cursor_pos(GET_BH(),DX);
     biosfn_set_cursor_pos(GET_BH(),DX);
     break;
     break;
   case 0x03:
   case 0x03:
     biosfn_get_cursor_pos(GET_BH(),&CX,&DX);
     biosfn_get_cursor_pos(GET_BH(),&CX,&DX);
     break;
     break;
 
   case 0x06:
 
     biosfn_scroll(GET_AL(),GET_BH(),GET_CH(),GET_CL(),GET_DH(),GET_DL(),0xFF,SCROLL_UP);
 
     break;
 
   case 0x07:
 
     biosfn_scroll(GET_AL(),GET_BH(),GET_CH(),GET_CL(),GET_DH(),GET_DL(),0xFF,SCROLL_DOWN);
 
     break;
   case 0x0E:
   case 0x0E:
     // Ralf Brown Interrupt list is WRONG on bh(page)
     // Ralf Brown Interrupt list is WRONG on bh(page)
     // We do output only on the current page !
     // We do output only on the current page !
     biosfn_write_teletype(GET_AL(),0xff,GET_BL(),NO_ATTR);
     biosfn_write_teletype(GET_AL(),0xff,GET_BL(),NO_ATTR);
     break;
     break;
Line 815... Line 826...
 cursor=ycurs; cursor<<=8; cursor+=xcurs;
 cursor=ycurs; cursor<<=8; cursor+=xcurs;
 biosfn_set_cursor_pos(page,cursor);
 biosfn_set_cursor_pos(page,cursor);
}
}
 
 
// --------------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------------
 
ASM_START
 
biosfn_get_video_mode:
 
  push  ds
 
  mov   ax, # BIOSMEM_SEG
 
  mov   ds, ax
 
  push  bx
 
  mov   bx, # BIOSMEM_CURRENT_PAGE
 
  mov   al, [bx]
 
  pop   bx
 
  mov   bh, al
 
  push  bx
 
  mov   bx, # BIOSMEM_VIDEO_CTL
 
  mov   ah, [bx]
 
  and   ah, #0x80
 
  mov   bx, # BIOSMEM_CURRENT_MODE
 
  mov   al, [bx]
 
  or    al, ah
 
  mov   bx, # BIOSMEM_NB_COLS
 
  mov   ah, [bx]
 
  pop   bx
 
  pop   ds
 
  ret
 
ASM_END
 
 
 
// --------------------------------------------------------------------------------------------
static void get_font_access()
static void get_font_access()
{
{
ASM_START
ASM_START
 mov dx, # VGAREG_SEQU_ADDRESS
 mov dx, # VGAREG_SEQU_ADDRESS
 mov ax, #0x0100
 mov ax, #0x0100

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.