Ethernet and Serial support (merge from Basilisk II tree)

This commit is contained in:
gbeauche 2005-11-27 22:29:32 +00:00
parent a2cb2c6280
commit 37da272071
4 changed files with 36 additions and 5 deletions

View File

@ -71,7 +71,11 @@ links:
Windows/cd_defs.h Windows/cdenable Windows/extfs_windows.cpp \ Windows/cd_defs.h Windows/cdenable Windows/extfs_windows.cpp \
Windows/posix_emu.cpp Windows/posix_emu.h Windows/sys_windows.cpp \ Windows/posix_emu.cpp Windows/posix_emu.h Windows/sys_windows.cpp \
Windows/timer_windows.cpp Windows/util_windows.cpp \ Windows/timer_windows.cpp Windows/util_windows.cpp \
Windows/util_windows.h Windows/xpram_windows.cpp'; \ Windows/util_windows.h Windows/xpram_windows.cpp \
Windows/kernel_windows.h Windows/kernel_windows.cpp \
Windows/serial_windows.cpp Windows/router Windows/b2ether \
Windows/ether_windows.h Windows/ether_windows.cpp \
Windows/serial_windows.cpp'; \
PREFIX="`pwd`/"; case $(B2_TOPDIR) in /*) PREFIX="";; esac; \ PREFIX="`pwd`/"; case $(B2_TOPDIR) in /*) PREFIX="";; esac; \
for i in $$list; do \ for i in $$list; do \
echo $$i; \ echo $$i; \

View File

@ -40,17 +40,21 @@ HOST_LDFLAGS =
## Files ## Files
UNIXSRCS = vm_alloc.cpp vm_alloc.h sigsegv.cpp sigsegv.h video_vosf.h video_blit.cpp video_blit.h UNIXSRCS = vm_alloc.cpp vm_alloc.h sigsegv.cpp sigsegv.h video_vosf.h video_blit.cpp video_blit.h
ROUTERSRCS = router/arp.cpp router/dump.cpp router/dynsockets.cpp router/ftp.cpp \
router/icmp.cpp router/mib/interfaces.cpp router/iphelp.cpp router/ipsocket.cpp \
router/mib/mibaccess.cpp router/router.cpp router/tcp.cpp router/udp.cpp b2ether/packet32.cpp
SRCS = ../main.cpp main_windows.cpp ../prefs.cpp ../prefs_items.cpp prefs_windows.cpp \ SRCS = ../main.cpp main_windows.cpp ../prefs.cpp ../prefs_items.cpp prefs_windows.cpp \
sys_windows.cpp cdenable/cache.cpp cdenable/eject_nt.cpp cdenable/ntcd.cpp \ sys_windows.cpp cdenable/cache.cpp cdenable/eject_nt.cpp cdenable/ntcd.cpp \
../rom_patches.cpp ../rsrc_patches.cpp ../emul_op.cpp ../name_registry.cpp \ ../rom_patches.cpp ../rsrc_patches.cpp ../emul_op.cpp ../name_registry.cpp \
../macos_util.cpp ../timer.cpp timer_windows.cpp ../xpram.cpp xpram_windows.cpp \ ../macos_util.cpp ../timer.cpp timer_windows.cpp ../xpram.cpp xpram_windows.cpp \
../adb.cpp ../sony.cpp ../disk.cpp ../cdrom.cpp ../scsi.cpp ../dummy/scsi_dummy.cpp \ ../adb.cpp ../sony.cpp ../disk.cpp ../cdrom.cpp ../scsi.cpp ../dummy/scsi_dummy.cpp \
../gfxaccel.cpp ../video.cpp ../SDL/video_sdl.cpp video_blit.cpp \ ../gfxaccel.cpp ../video.cpp ../SDL/video_sdl.cpp video_blit.cpp \
../audio.cpp ../SDL/audio_sdl.cpp ../ether.cpp ../dummy/ether_dummy.cpp \ ../audio.cpp ../SDL/audio_sdl.cpp ../ether.cpp ether_windows.cpp \
../thunks.cpp ../serial.cpp ../dummy/serial_dummy.cpp ../extfs.cpp extfs_windows.cpp \ ../thunks.cpp ../serial.cpp serial_windows.cpp ../extfs.cpp extfs_windows.cpp \
about_window_windows.cpp ../user_strings.cpp user_strings_windows.cpp \ about_window_windows.cpp ../user_strings.cpp user_strings_windows.cpp \
../dummy/prefs_editor_dummy.cpp clip_windows.cpp util_windows.cpp \ ../dummy/prefs_editor_dummy.cpp clip_windows.cpp util_windows.cpp kernel_windows.cpp \
vm_alloc.cpp sigsegv.cpp posix_emu.cpp SheepShaver.rc $(CPUSRCS) vm_alloc.cpp sigsegv.cpp posix_emu.cpp SheepShaver.rc $(CPUSRCS) $(ROUTERSRCS)
APP = SheepShaver.exe APP = SheepShaver.exe
## Rules ## Rules

View File

@ -44,6 +44,7 @@
#include "vm_alloc.h" #include "vm_alloc.h"
#include "sigsegv.h" #include "sigsegv.h"
#include "util_windows.h" #include "util_windows.h"
#include "kernel_windows.h"
#define DEBUG 0 #define DEBUG 0
#include "debug.h" #include "debug.h"
@ -205,6 +206,9 @@ int main(int argc, char **argv)
if (!check_drivers()) if (!check_drivers())
QuitEmulator(); QuitEmulator();
// Load win32 libraries
KernelInit();
// FIXME: default to DIB driver // FIXME: default to DIB driver
if (getenv("SDL_VIDEODRIVER") == NULL) if (getenv("SDL_VIDEODRIVER") == NULL)
putenv("SDL_VIDEODRIVER=windib"); putenv("SDL_VIDEODRIVER=windib");
@ -453,6 +457,9 @@ static void Quit(void)
// Exit preferences // Exit preferences
PrefsExit(); PrefsExit();
// Release win32 libraries
KernelExit();
#ifdef ENABLE_MON #ifdef ENABLE_MON
// Exit mon // Exit mon
mon_exit(); mon_exit();

View File

@ -48,6 +48,14 @@ prefs_desc platform_prefs_items[] = {
{"debugextfs", TYPE_BOOLEAN, false, "debug extfs system"}, {"debugextfs", TYPE_BOOLEAN, false, "debug extfs system"},
{"extdrives", TYPE_STRING, false, "define allowed extfs drives"}, {"extdrives", TYPE_STRING, false, "define allowed extfs drives"},
{"pollmedia", TYPE_BOOLEAN, false, "poll for new media (e.g. cd, floppy)"}, {"pollmedia", TYPE_BOOLEAN, false, "poll for new media (e.g. cd, floppy)"},
{"etherpermanentaddress", TYPE_BOOLEAN, false, "use permanent NIC address to identify itself"},
{"ethermulticastmode", TYPE_INT32, false, "how to multicast packets"},
{"etherfakeaddress", TYPE_STRING, false, "optional fake hardware address"},
{"routerenabled", TYPE_BOOLEAN, false, "enable NAT/Router module"},
{"ftp_port_list", TYPE_STRING, false, "FTP ports list"},
{"tcp_port", TYPE_STRING, false, "TCP ports list"},
{"portfile0", TYPE_STRING, false, "output file for serial port 0"},
{"portfile1", TYPE_STRING, false, "output file for serial port 1"},
{NULL, TYPE_END, false, NULL} // End of list {NULL, TYPE_END, false, NULL} // End of list
}; };
@ -126,4 +134,12 @@ void AddPlatformPrefsDefaults(void)
PrefsAddBool("ignoresegv", false); PrefsAddBool("ignoresegv", false);
#endif #endif
PrefsAddBool("idlewait", true); PrefsAddBool("idlewait", true);
PrefsReplaceBool("etherpermanentaddress", true);
PrefsReplaceInt32("ethermulticastmode", 0);
PrefsReplaceBool("routerenabled", false);
PrefsReplaceString("ftp_port_list", "21");
PrefsReplaceString("seriala", "COM1");
PrefsReplaceString("serialb", "COM2");
PrefsReplaceString("portfile0", "C:\\B2TEMP0.OUT");
PrefsReplaceString("portfile1", "C:\\B2TEMP1.OUT");
} }