Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

83 lines
2.6 KiB

/*
* SccsID = @(#)egaports.h 1.17 10/21/92 Copyright Insignia Solutions Ltd.
*/
#ifdef EGG
/* defined in ega_write.c : */
extern void ega_write_init IPT0();
extern void ega_write_term IPT0();
extern void ega_write_routines_update IPT1(CHANGE_TYPE,c);
#ifdef V7VGA
/* The video seven VGA board has extra memory, but the CRTC does not cross
* bank boundaries unless the counter bank enable bit is set.
* This means that the size as far as wrapping and displaying is concerned is
* only one bank unless that bit is set.
*/
#define EGA_PLANE_SIZE 0x20000
#define EGA_PLANE_DISP_SIZE \
(extensions_controller.ram_bank_select.as_bfld.counter_bank_enable? \
EGA_PLANE_SIZE:0x10000)
#else
#define EGA_PLANE_SIZE 0x10000
#define EGA_PLANE_DISP_SIZE EGA_PLANE_SIZE
#endif /* V7VGA */
extern void ega_init IPT0();
extern void ega_term IPT0();
extern void ega_gc_outb_index IPT2(io_addr,ia,half_word,hw);
#ifdef HUNTER
extern int ega_get_line_compare IPT0();
extern int ega_get_max_scan_lines IPT0();
extern void ega_set_line_compare IPT1(int,i);
#endif
IMPORT VOID update_banking IPT0();
IMPORT VOID set_banking IPT2(IU8, rd_bank, IU8, wrt_bank);
IMPORT VOID set_mark_funcs IPT0();
extern int ega_int_enable;
extern byte *EGA_planes;
#define EGA_plane01 EGA_planes
#define EGA_plane23 (EGA_planes+2)
#define EGA_plane0123 EGA_planes
#define FONT_MEM_SIZE 0x2000 /* max no of bytes in font memory block */
#define FONT_MEM_OFF 0x4000 /* mem offset of next font definition from previous */
#define FONT_BASE_ADDR 2
#define FONT_MAX_HEIGHT 32 /* max font support for 32 scanline high fonts */
#ifdef V7VGA
#define set_v7_bank_for_seq_chain4( rd_bank, wrt_bank ) *(wrt_bank) = \
(((extensions_controller.ram_bank_select.as_bfld.cpu_write_bank_select & 1)<<2) \
| (miscellaneous_output_register.as_bfld.page_bit_odd_even<<1) \
| extensions_controller.page_select.as_bfld.extended_page_select); \
*(rd_bank) = \
(((extensions_controller.ram_bank_select.as_bfld.cpu_read_bank_select & 1)<<2) \
| (miscellaneous_output_register.as_bfld.page_bit_odd_even<<1) \
| extensions_controller.page_select.as_bfld.extended_page_select)
#endif /* V7VGA */
#endif
#if defined(C_VID) || defined(A2CPU)
/*
* C_VID variants use the ports code in e/vga_ports.c
*/
#define Cpu_define_outb( port, func )
#else
/* Declare as Import to remove warnings */
#ifdef ANSI
IMPORT VOID Cpu_define_outb(IU16 adapterID, VOID (*asmFunc) IPT2(io_addr, port, half_word, value));
#else
IMPORT VOID Cpu_define_outb IPT2(IU16, adapterID, VOID (*)(), asmFunc);
#endif /* ANSI */
#endif /* C_VID || A2CPU */