mirror of https://github.com/lianthony/NT4.0
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
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 */
|