diff --git a/src/CPU/x86seg.c b/src/CPU/x86seg.c index 71fe5ccef..cc0cc6dbc 100644 --- a/src/CPU/x86seg.c +++ b/src/CPU/x86seg.c @@ -49,7 +49,7 @@ void x86abort(const char *format, ...) va_end(ap); fflush(stdout); savenvr(); - dumpregs(); + dumpregs(1); fflush(stdout); exit(-1); } diff --git a/src/bugger.c b/src/bugger.c index d9a79aafa..ce5ed03a9 100644 --- a/src/bugger.c +++ b/src/bugger.c @@ -44,7 +44,7 @@ * configuration register (CTRL_SPCFG bit set) but have to * remember that stuff first... * - * Version: @(#)bugger.c 1.0.3 2017/04/07 + * Version: @(#)bugger.c 1.0.4 2017/05/09 * * Author: Fred N. van Kempen, * Copyright 1989-2017 Fred N. van Kempen. @@ -98,10 +98,8 @@ bug_setui(void) (bug_ledr&0x08)?'R':'r', (bug_ledr&0x04)?'R':'r', (bug_ledr&0x02)?'R':'r', (bug_ledr&0x01)?'R':'r'); -#if 0 /* Send formatted string to the UI. */ - set_bugui(bug_str); -#endif + status_settext(bug_str); } diff --git a/src/ibm.h b/src/ibm.h index e71d29ccb..44c9c1df6 100644 --- a/src/ibm.h +++ b/src/ibm.h @@ -7,9 +7,9 @@ #include #define printf pclog + /*Memory*/ uint8_t *ram; - uint32_t rammask; int readlookup[256],readlookupp[256]; @@ -25,32 +25,30 @@ extern int mmu_perm; #define readmemw(s,a) ((readlookup2[(uint32_t)((s)+(a))>>12]==-1 || (s)==0xFFFFFFFF || (((s)+(a))&0xFFF)>0xFFE)?readmemwl(s,a):*(uint16_t *)(readlookup2[(uint32_t)((s)+(a))>>12]+(uint32_t)((s)+(a)))) #define readmeml(s,a) ((readlookup2[(uint32_t)((s)+(a))>>12]==-1 || (s)==0xFFFFFFFF || (((s)+(a))&0xFFF)>0xFFC)?readmemll(s,a):*(uint32_t *)(readlookup2[(uint32_t)((s)+(a))>>12]+(uint32_t)((s)+(a)))) -uint8_t readmembl(uint32_t addr); -void writemembl(uint32_t addr, uint8_t val); -uint8_t readmemb386l(uint32_t seg, uint32_t addr); -void writememb386l(uint32_t seg, uint32_t addr, uint8_t val); -uint16_t readmemwl(uint32_t seg, uint32_t addr); -void writememwl(uint32_t seg, uint32_t addr, uint16_t val); -uint32_t readmemll(uint32_t seg, uint32_t addr); -void writememll(uint32_t seg, uint32_t addr, uint32_t val); -uint64_t readmemql(uint32_t seg, uint32_t addr); -void writememql(uint32_t seg, uint32_t addr, uint64_t val); +extern uint8_t readmembl(uint32_t addr); +extern void writemembl(uint32_t addr, uint8_t val); +extern uint8_t readmemb386l(uint32_t seg, uint32_t addr); +extern void writememb386l(uint32_t seg, uint32_t addr, uint8_t val); +extern uint16_t readmemwl(uint32_t seg, uint32_t addr); +extern void writememwl(uint32_t seg, uint32_t addr, uint16_t val); +extern uint32_t readmemll(uint32_t seg, uint32_t addr); +extern void writememll(uint32_t seg, uint32_t addr, uint32_t val); +extern uint64_t readmemql(uint32_t seg, uint32_t addr); +extern void writememql(uint32_t seg, uint32_t addr, uint64_t val); -uint8_t *getpccache(uint32_t a); - -uint32_t mmutranslatereal(uint32_t addr, int rw); - -void addreadlookup(uint32_t virt, uint32_t phys); -void addwritelookup(uint32_t virt, uint32_t phys); +extern uint8_t *getpccache(uint32_t a); +extern uint32_t mmutranslatereal(uint32_t addr, int rw); +extern void addreadlookup(uint32_t virt, uint32_t phys); +extern void addwritelookup(uint32_t virt, uint32_t phys); /*IO*/ -uint8_t inb(uint16_t port); -void outb(uint16_t port, uint8_t val); -uint16_t inw(uint16_t port); -void outw(uint16_t port, uint16_t val); -uint32_t inl(uint16_t port); -void outl(uint16_t port, uint32_t val); +extern uint8_t inb(uint16_t port); +extern void outb(uint16_t port, uint8_t val); +extern uint16_t inw(uint16_t port); +extern void outw(uint16_t port, uint16_t val); +extern uint32_t inl(uint16_t port); +extern void outl(uint16_t port, uint32_t val); extern int shadowbios,shadowbios_write; extern int mem_size; @@ -163,6 +161,9 @@ struct } cpu_state; #define cycles cpu_state._cycles +#define cpu_rm cpu_state.rm_data.rm_mod_reg.rm +#define cpu_mod cpu_state.rm_data.rm_mod_reg.mod +#define cpu_reg cpu_state.rm_data.rm_mod_reg.reg #ifdef __MSC__ # define COMPILE_TIME_ASSERT(expr) /*nada*/ @@ -292,13 +293,8 @@ typedef struct PIT } PIT; PIT pit, pit2; -void setpitclock(float clock); - -float pit_timer0_freq(); - -#define cpu_rm cpu_state.rm_data.rm_mod_reg.rm -#define cpu_mod cpu_state.rm_data.rm_mod_reg.mod -#define cpu_reg cpu_state.rm_data.rm_mod_reg.reg +extern void setpitclock(float clock); +extern float pit_timer0_freq(void); @@ -649,24 +645,22 @@ extern uint32_t SCSIGetCDChannel(int channel); extern int ui_writeprot[4]; -void pclog(const char *format, ...); -void pclog_w(const wchar_t *format, ...); + extern int nmi; extern int nmi_auto_clear; - extern float isa_timing, bus_timing; -uint64_t timer_read(); +extern uint64_t timer_read(void); extern uint64_t timer_freq; extern int infocus; -void onesec(); +extern void onesec(void); -void resetpc_cad(); +extern void resetpc_cad(void); extern int dump_on_exit; extern int start_in_fullscreen; @@ -692,7 +686,6 @@ wchar_t *nvr_concat(wchar_t *to_concat); int mem_a20_state; -void fatal(const char *format, ...); #ifdef ENABLE_LOG_TOGGLES extern int buslogic_do_log; @@ -714,65 +707,72 @@ typedef struct PCI_RESET extern PCI_RESET pci_reset_handler; -uint8_t trc_read(uint16_t port, void *priv); -void trc_write(uint16_t port, uint8_t val, void *priv); -void trc_init(); +extern uint8_t trc_read(uint16_t port, void *priv); +extern void trc_write(uint16_t port, uint8_t val, void *priv); +extern void trc_init(void); extern int enable_xtide; extern int enable_external_fpu; +extern int serial_enabled[2]; +extern int lpt_enabled, bugger_enabled; + extern int invert_display; uint32_t svga_color_transform(uint32_t color); extern int scale; -/* Function prototypes. */ -int checkio(int port); -void closepc(); -void codegen_block_end(); -void codegen_reset(); -void cpu_set_edx(); -int divl(uint32_t val); -void dumpregs(); -void exec386(int cycs); -void exec386_dynarec(int cycs); -void execx86(int cycs); -void flushmmucache(); -void flushmmucache_cr3(); -int idivl(int32_t val); -void initpc(int argc, wchar_t *argv[]); -void loadcscall(uint16_t seg); -void loadcsjmp(uint16_t seg, uint32_t oxpc); -void mmu_invalidate(uint32_t addr); -void pclog(const char *format, ...); -void pmodeint(int num, int soft); -void pmoderetf(int is32, uint16_t off); -void pmodeiret(int is32); -void port_92_clear_reset(); -uint8_t readdacfifo(); -void refreshread(); -int rep386(int fv); -void resetmcr(); -void resetpchard(); -void resetreadlookup(); -void resetx86(); -void runpc(); -void saveconfig(); -void softresetx86(); -void speedchanged(); -void status_settextw(wchar_t *wstr); -void status_settext(char *str); -void trc_reset(uint8_t val); -void update_status_bar_icon(int tag, int active); -void update_status_bar_icon_state(int tag, int state); -void x86_int_sw(int num); -void x86gpf(char *s, uint16_t error); -void x86np(char *s, uint16_t error); -void x86ss(char *s, uint16_t error); -void x86ts(char *s, uint16_t error); -void x87_dumpregs(); -void x87_reset(); -extern int serial_enabled[2]; -extern int lpt_enabled, bugger_enabled; +/* Function prototypes. */ +extern int checkio(int port); +extern void closepc(void); +extern void codegen_block_end(void); +extern void codegen_reset(void); +extern void cpu_set_edx(void); +extern int divl(uint32_t val); +extern void dumpregs(int __force); +extern void exec386(int cycs); +extern void exec386_dynarec(int cycs); +extern void execx86(int cycs); +extern void flushmmucache(void); +extern void flushmmucache_cr3(void); +extern int idivl(int32_t val); +extern void initpc(int argc, wchar_t *argv[]); +extern void loadcscall(uint16_t seg); +extern void loadcsjmp(uint16_t seg, uint32_t oxpc); +extern void mmu_invalidate(uint32_t addr); +extern void pclog(const char *format, ...); +extern void pmodeint(int num, int soft); +extern void pmoderetf(int is32, uint16_t off); +extern void pmodeiret(int is32); +extern void port_92_clear_reset(void); +extern uint8_t readdacfifo(void); +extern void refreshread(void); +extern int rep386(int fv); +extern void resetmcr(void); +extern void resetpchard(void); +extern void resetreadlookup(void); +extern void resetx86(void); +extern void runpc(void); +extern void saveconfig(void); +extern void softresetx86(void); +extern void speedchanged(void); +extern void trc_reset(uint8_t val); +extern void x86_int_sw(int num); +extern void x86gpf(char *s, uint16_t error); +extern void x86np(char *s, uint16_t error); +extern void x86ss(char *s, uint16_t error); +extern void x86ts(char *s, uint16_t error); +extern void x87_dumpregs(void); +extern void x87_reset(void); + +/* Platform functions. */ +extern void pclog(const char *format, ...); +extern void pclog_w(const wchar_t *format, ...); +extern void fatal(const char *format, ...); + +extern void update_status_bar_icon(int tag, int active); +extern void update_status_bar_icon_state(int tag, int state); +extern void status_settextw(wchar_t *wstr); +extern void status_settext(char *str); diff --git a/src/network.c b/src/network.c index ccacdeed9..8889bd248 100644 --- a/src/network.c +++ b/src/network.c @@ -8,7 +8,7 @@ * * Implementation of the network module. * - * Version: @(#)network.c 1.0.1 2017/05/09 + * Version: @(#)network.c 1.0.2 2017/05/09 * * Authors: Kotori, * Fred N. van Kempen, @@ -38,7 +38,7 @@ typedef struct { static int net_handlers_num; -static uint32_t net_poll_time = 100; +static int net_poll_time; static NETPOLL net_handlers[8]; static NETCARD net_cards[] = { { "None", "none", NULL }, @@ -75,12 +75,9 @@ net_poll(void *priv) void network_init(void) { - /* No network interface right now. */ network_card_current = 0; net_handlers_num = 0; - - /* This should be a config value, really. --FvK */ - net_poll_time = 100; + net_poll_time = 0; } diff --git a/src/scsi_aha154x.c b/src/scsi_aha154x.c index 253d4929c..316679ab8 100644 --- a/src/scsi_aha154x.c +++ b/src/scsi_aha154x.c @@ -859,7 +859,7 @@ enum { }; -#ifdef WALTJE +#ifdef xWALTJE int aha_do_log = 1; # define ENABLE_AHA154X_LOG #else diff --git a/src/slirp/misc.c b/src/slirp/misc.c index d3fb66b3d..39dc1e6e5 100644 --- a/src/slirp/misc.c +++ b/src/slirp/misc.c @@ -82,6 +82,10 @@ inet_aton(cp, ia) } #endif + +extern void pclog(char *fmt, ...); + + /* * Get our IP address and put it in our_addr */ diff --git a/src/win-status.c b/src/win-status.c index 858a3646c..a39d38700 100644 --- a/src/win-status.c +++ b/src/win-status.c @@ -93,14 +93,3 @@ void status_open(HWND hwnd) status_hwnd = CreateDialog(hinstance, TEXT("StatusDlg"), hwnd, status_dlgproc); ShowWindow(status_hwnd, SW_SHOW); } - - -#if 0 -void -set_bugui(char *str) -{ - if (str == NULL) - str = "L:R GGGGGGGG-RRRRRRRR"; - SendMessage(status_hwnd, SB_SETTEXT, 2, (WPARAM)str); -} -#endif