⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 v86bios.h

📁 BIOS emulator and interface to Realmode X86 Emulator Library Can emulate a PCI Graphic Controller V
💻 H
字号:
/* * Copyright 1999 Egbert Eich * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation, and that the name of the authors not be used in * advertising or publicity pertaining to distribution of the software without * specific, written prior permission.  The authors makes no representations * about the suitability of this software for any purpose.  It is provided * "as is" without express or implied warranty. * * THE AUTHORS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO * EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */#ifndef V86_BIOS_H#define V86_BIOS_H#include <stdio.h>#ifdef DEBUG#undef PRINT_PORT#define PRINT_PORT#undef PRINT_PCI#define PRINT_PCI#undef PRINT_IRQ#define PRINT_IRQ#endif#ifdef PRINT_PORT#define p_printf(f,a...) fprintf(stderr,f,##a)#else#define p_printf(f,a...)#endif#ifdef PRINT_IRQ#define i_printf(f,a...) fprintf(stderr,f,##a)#else#define i_printf(f,a...)#endif#ifdef PRINT_PCI#define P_printf(f,a...) fprintf(stderr,f,##a)#else#define P_printf(f,a...)#endiftypedef unsigned char CARD8;typedef unsigned short CARD16;typedef unsigned int CARD32;struct regs86 {		long ebx;		long ecx;		long edx;		long esi;		long edi;		long ebp;		long eax;		long eip;		long esp;		unsigned short cs;		unsigned short ss;		unsigned short es;		unsigned short ds;		unsigned short fs;		unsigned short gs;	long eflags;};typedef struct {	int fd;	int vt;} console;#ifdef __alpha__unsigned long _bus_base(void);extern void* vram_map;extern int sparse_shift;#endifextern void do_x86(unsigned long bios_start,CARD16 ax);extern int run_bios_int(int num, struct regs86 *regs);extern CARD32 getIntVect(int num);extern int port_rep_inb(CARD16 port, CARD8 *base, int d_f, CARD32 count);extern int port_rep_inw(CARD16 port, CARD16 *base, int d_f, CARD32 count);extern int port_rep_inl(CARD16 port, CARD32 *base, int d_f, CARD32 count);extern int port_rep_outb(CARD16 port, CARD8 *base, int d_f, CARD32 count);extern int port_rep_outw(CARD16 port, CARD16 *base, int d_f, CARD32 count);extern int port_rep_outl(CARD16 port, CARD32 *base, int d_f, CARD32 count);extern CARD8 p_inb(CARD16 port);extern CARD16 p_inw(CARD16 port);extern CARD32 p_inl(CARD16 port);extern void p_outb(CARD16 port, CARD8 val);extern void p_outw(CARD16 port, CARD16 val);extern void p_outl(CARD16 port, CARD32 val);#ifdef __alpha__CARD8 mem_rb(CARD32 addr);CARD16 mem_rw(CARD32 addr);CARD32 mem_rl(CARD32 addr);void mem_wb(CARD32 addr, CARD8 val);void mem_ww(CARD32 addr, CARD16 val);void mem_wl(CARD32 addr, CARD32 val);#endifextern void io_statistics(void);extern int int_handler(int num, struct regs86 *regs);extern console open_console(void);extern void close_console(console);extern void dprint(unsigned long start, unsigned long size);#define MEM_FILE "/dev/mem"#define DEFAULT_V_BIOS 0xc0000#ifndef V_BIOS#define V_BIOS DEFAULT_V_BIOS#endif#ifdef __alpha__#define NEED_PCI_IO#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -