Page 1 of 10

BasiliskII for Windows

Posted: Wed Jul 23, 2008 11:33 am
by Cat_7
NOTE: Read the guide:
https://www.emaculation.com/doku.php/basilisk_ii_setup

Most recent build:
BasiliskII for windows (19-01-2024)
https://surfdrive.surf.nl/files/index.p ... H/download

Note: If you use any other than a US-English keyboard, use this keycodes file: https://ronaldpr.home.xs4all.nl/keycode ... y_2022.zip

Cumulative fixes and enhancements:
Fixes:
-Mouse issue when running the Apeiron game
-Screen garbage when running "Dark Forces" in Windows full screen.
-Scaling when switching to full screen
-Slow transitions in HyperCard stacks.
-Selecting an OpenVPN tap device in the GUI and running tap based networking.
-Now also plays startup sound upon reboot
-Prevents Windows key press to open Windows start menu, see option Reserve Windows Key in the Keyboard/Mouse tab in the GUI.
-Cdrom entry reset at reboot.
-A possible issue with the startup.wav not playing at the correct speed.
-An additional pref item "sound_buffer" is introduced that sets the size of the sound buffer. Size 0 uses the original size, higher numbers shorten the buffer but increase CPU load. Manual editing of the prefs file is needed to enable this function.
-Fixes full screen issue
-Fixes uninitialized value causing Quicktime image rendering to sometimes fail after mode changes.
-You can now again boot from and access real CD's in 64 bit Windows hosts, and the cdenable.sys driver is no longer needed in 32 bit hosts (but can still be used). BasiliskII might crash when an audio CD is in the drive at start. Audio CD can't be played. For hybrid Audio/Data CD's only the audio part shows.

Enhancements:
-Drag and drop of one disk image onto the Basilisk window. CD, HD, and floppy images show up on the desktop as read-only CDs. Dragging the CD icon to the trash or choosing "Special/Eject" (Mac OS 8 and above) unmounts the image (when selected). (Image formats that were already not supported can show up as Audio CDs. You cannot a have a real CD mounted and use this option at the same time. You cannot mount more than one disk image this way.)
-Selectable Render driver on the Graphics/Sound tab of the GUI: Software, OpenGL, Direct3D, giving access to hardware acceleration. If selection doesn't work SDL falls back to software renderer.
-Changed old GUI behavior of refresh rate/frameskip setting being forced to 60hz when video mode fullscreen is selected. Refresh rate setting now stays accessible and also doesn't save to settings as 60hz.
-It is now possible to redirect a tcp/ip port from the guest to the host. Manual editing of the prefs file is needed for this.
-Will now play a sound file named "startup.wav" in the Basilisk folder at boot.
-An additional pref item "title" is introduced that lets the main window have a specific title. Manual editing of the prefs file is needed to enable this function.
-Build with msys2, contains a working GUI with the required libraries. Both booting and reading CDs in 64bit Windows are supported.
-You can now switch between windowed and full screen modes by using the Ctrl+Enter key combination. All thanks go to our member vasi.

Basilisk142 (from before the Just-In-Time compiler was integrated):
https://surfdrive.surf.nl/files/index.p ... b/download
The guide to that specific windows version is available here: http://www.emaculation.com/doku.php/basilisk_142_setup

Alternative builds:
BasiliskII 0.8 with WinPCAP networking. Readme included.
https://surfdrive.surf.nl/files/index.p ... D/download

Best wishes,
Cat_7

Posted: Wed Jul 23, 2008 2:05 pm
by ClockWise
That's great! But what does it do? What kind of changes have been made?

Posted: Wed Jul 23, 2008 2:11 pm
by Binder
On a side-note: I will try to compile a newer SheepShaver for Windows later today.
That sounds great!
Will you be implementing that losing mouse/keyboard bug fix?
Thanks.

Posted: Wed Jul 23, 2008 2:43 pm
by Cat_7
I guess it implements all fixes to the source that were not specific to OSX or other platform builds but were fixed in the generic basilisk code, of which much is shared with SheepShaver.

I'm just happy I could build from the source again, I have no definitive answers to your questions.

And don't get your hopes up too high about a Windows build, I'm running into problems I might not be able to fix :cry:

Cat_7

Posted: Wed Jul 23, 2008 7:54 pm
by Mac Emu
Thank you Cat_7 (Howard)! :mrgreen:

Is this using the latest CVS source code, or did you have to tweak it a bit to get it to compile?

Posted: Wed Jul 23, 2008 9:42 pm
by Cat_7
Hi,


In sigsegv.cpp I changed these lines:

// #ifdef HAVE_WIN32_VM
// Windows is either ILP32 or LLP64
// typedef UINT_PTR sigsegv_uintptr_t;
// #else
// Other systems are sane enough to follow ILP32 or LP64 models
typedef unsigned long sigsegv_uintptr_t;
// #endif

furthermore, I had to manually install SDL (version 1.2.10) in cygwin to build succesfully.

I built from the Windows directory with:
NO_CONFIGURE=1 ../Unix/autogen.sh
./configure
make

Cat_7

Posted: Mon Jul 28, 2008 6:44 am
by Mac Emu
Thanks. I've tried a dozens of times to compile Basilisk II from CVS sources for the Maemo Linux platform (Armel architecture) using Scratchbox, but keep getting a sigsegv error during the make phase. I've spent many hours trying to figure out how to get around it.

Posted: Mon Feb 22, 2010 7:34 am
by emodel
thanks for the build
it doesn't work here though, nothing happens.
The gtk is only required for the gui, right ?

Posted: Mon Feb 22, 2010 7:41 am
by Cat_7
Hi,

Yes, the GTK download is only needed for the GUI. But what do you mean by "nothing happens"?
Do you have an older version running, but this one won't?

Posted: Tue Mar 09, 2010 11:36 pm
by MrRandomPerson
Hello
I'm trying to set up Basilisk II on a computer running Windows 7. I extracted the files from the .zip archive but when I tried to run BasiliskIIGUI.exe, it gave me a long list of .dll files that it couldn't find, including intl.dll, libglib-2.0-0.dll and iconv.dll. It recommended re-installing the program (how??) and refused to load. Still no joy getting it to do anything. Is there a step I've missed?

Posted: Wed Mar 10, 2010 6:12 am
by Cat_7
Hi,

I believe the included READ_ME.txt says you need to install a GTK runtime environment for the GUI to work.
Please download and install the one we have available in the forum: http://www.emaculation.com/sheepshaver/ ... -setup.exe

I also discovered some serious flaws in the readme.txt, which I have corrected. :oops:

Best,
Cat_7

Posted: Sun Mar 28, 2010 3:00 am
by nathanpc
Thanks very much Cat_7. You're the guy! :wink:

Posted: Tue Aug 31, 2010 3:31 am
by Bekenn
Thanks for the update!

Is the source available anywhere? I'd like to see if there's anything I can do to get this working under 64-bit Windows.

Posted: Tue Aug 31, 2010 7:14 am
by ClockWise
Thanks for the new build, Cat_7.

Posted: Tue Aug 31, 2010 7:20 am
by Cat_7
Hi,

To build in windows, I use the Cygwin environment, not an MS environment.
Only the old basilisk142 code (2001) can be build in VC(version 6 at most). All subsequent development was done in Linux.

The source code for the startupsound enabled Basilisk/SheepShaver consists of a dirty hack that only works in the windows versions. I took the

-startupsound.h and startupsound.cpp files from the old Basilisk142 version for Windows version and put them into the windows source folder of Basilisk and SheepShaver

-commented out
/*#include "main_windows.h"*/
/*#include "audio_windows.h"*/
in startupsound.cpp and left only this function in the body (You'll see why the sound file must be named "boing.wav" ;-)

void play_startup_sound()
{
char *fname = "boing.wav"; // get_startup_sound_fname( checksum );

PlaySound ( fname, 0, SND_FILENAME|SND_ASYNC|SND_NODEFAULT|SND_NOWAIT );

}

-added the "play_startup_sound();" function call to main.cpp (this doesn't differentiate between Windows and the other host OS supported)

-added startupsound.cpp to the SRCS section of the make file after configure had ran.

I will not write to the development list to have it included in the source, unless someone cleans it up. (I'm just a run-of-the-mill philosopher, not a programmer ;-) )
Also, the old version of the startupsound procedure was much nicer as it extracted the sound from the rom file, while mine only plays a sound already available.

Best,
Cat_7

The normal source code for basilisk and sheepshaver is available from the CVS repository. Instructions to get the code and build:

#download sdl 1.2.14 source

#cd into SDLfolder
./autogen.sh
./configure --disable-shared --prefix=`pwd`
make
make install
PATH=`pwd`/bin:$PATH
export PATH

#stay in the same command window

cvs -d :pserver:anoncvs@cvs.cebix.net:/home/cvs/cebix login
#password is "anoncvs"
cvs -d :pserver:anoncvs@cvs.cebix.net:/home/cvs/cebix checkout BasiliskII
cvs -d :pserver:anoncvs@cvs.cebix.net:/home/cvs/cebix checkout SheepShaver

cd BasiliskII/src/Windows
NO_CONFIGURE=1 ../Unix/autogen.sh
./configure --enable-jit-compiler=yes --disable-gtktest
make
strip BasiliskII.exe

cd SheepShaver
make links
cd src/Windows
NO_CONFIGURE=1 ../Unix/autogen.sh
./configure
make
strip SheepShaver.exe

Posted: Wed Sep 08, 2010 6:00 am
by Bekenn
Thanks. I may not actually have time to do much, but I'll take a look.

Posted: Mon Nov 22, 2010 6:05 am
by Galane
Have to delete the basilisk II prefs file to get this latest build to do anything.

Some previous builds have had this break too. Same solution.

re: Basilisk II

Posted: Sun Feb 06, 2011 4:28 pm
by McIntosh
Cat_7,

Thanks for the awesome downloads and emulation builds! Emaculation was the first place I got them!

Posted: Sun Feb 06, 2011 6:29 pm
by Cat_7
Is that so? Then I have to edit that download ;-) The file is coming from my site, not emaculation.com

But no-one complained up till now, and certainly not in a public remark!
Perhaps you edit your post?

Best,
Cat_7

Re: BasiliskII for Windows build 30-08-2010 available

Posted: Thu Jan 26, 2012 7:47 pm
by jacobs
I haven't had any luck running this with Scratchbox, so this is a real gem right here. Thanks!

Jacob

Re: BasiliskII for Windows build 30-08-2010 available

Posted: Sun Feb 26, 2012 9:54 pm
by deer421
I tried to compile the code in Windows 7 64 bit using cygwin and got the following warnings and error. Please help.

$ ./autogen.sh
Generating build information using autoconf
This may take a while ...
configure.in:33: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
/usr/src/packages/autoconf/26/autoconf2.5-2.68-1/src/autoconf-2.68/lib/autoconf/ lang.m4:194: AC_LANG_CONFTEST is expanded from...
/usr/src/packages/autoconf/26/autoconf2.5-2.68-1/src/autoconf-2.68/lib/autoconf/ general.m4:2662: _AC_LINK_IFELSE is expanded from...
/usr/src/packages/autoconf/26/autoconf2.5-2.68-1/src/autoconf-2.68/lib/autoconf/ general.m4:2679: AC_LINK_IFELSE is expanded from...
aclocal.m4:1337: _LT_SYS_MODULE_PATH_AIX is expanded from...
aclocal.m4:4483: _LT_LINKER_SHLIBS is expanded from...
aclocal.m4:5558: _LT_LANG_C_CONFIG is expanded from...
aclocal.m4:453: _LT_SETUP is expanded from...
aclocal.m4:382: LT_INIT is expanded from...
configure.in:33: the top level
configure.in:33: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
/usr/src/packages/autoconf/26/autoconf2.5-2.68-1/src/autoconf-2.68/lib/autoconf/ lang.m4:194: AC_LANG_CONFTEST is expanded from...
/usr/src/packages/autoconf/26/autoconf2.5-2.68-1/src/autoconf-2.68/lib/autoconf/ general.m4:2662: _AC_LINK_IFELSE is expanded from...
/usr/src/packages/autoconf/26/autoconf2.5-2.68-1/src/autoconf-2.68/lib/autoconf/ general.m4:2679: AC_LINK_IFELSE is expanded from...
aclocal.m4:4483: _LT_LINKER_SHLIBS is expanded from...
aclocal.m4:5558: _LT_LANG_C_CONFIG is expanded from...
aclocal.m4:453: _LT_SETUP is expanded from...
aclocal.m4:382: LT_INIT is expanded from...
configure.in:33: the top level
configure.in:59: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
/usr/src/packages/autoconf/26/autoconf2.5-2.68-1/src/autoconf-2.68/lib/autoconf/ lang.m4:194: AC_LANG_CONFTEST is expanded from...
/usr/src/packages/autoconf/26/autoconf2.5-2.68-1/src/autoconf-2.68/lib/autoconf/ general.m4:2662: _AC_LINK_IFELSE is expanded from...
/usr/src/packages/autoconf/26/autoconf2.5-2.68-1/src/autoconf-2.68/lib/autoconf/ general.m4:2679: AC_LINK_IFELSE is expanded from...
aclocal.m4:1337: _LT_SYS_MODULE_PATH_AIX is expanded from...
aclocal.m4:5665: _LT_LANG_CXX_CONFIG is expanded from...
aclocal.m4:1100: _LT_LANG is expanded from...
aclocal.m4:1083: LT_LANG is expanded from...
configure.in:59: the top level
Now you are ready to run ./configure

$ ./configure --disable-shared --prefix=`pwd`
configure: WARNING: you should use --build, --host, --target
configure: WARNING: you should use --build, --host, --target
configure: WARNING: invalid host type: Settings/MyWindowsAccount/Desktop/SDL-1.2.15
checking for and-gcc... no
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.exe
checking for suffix of executables... .exe
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
configure: WARNING: Libtool does not cope well with whitespace in `pwd`
checking build system type... Invalid configuration `and': machine `and' not recognized
configure: error: /bin/sh ./build-scripts/config.sub and failed

Re: BasiliskII for Windows build 30-08-2010 available

Posted: Sun Feb 26, 2012 10:53 pm
by Cat_7
Hi,

I see you fail in building SDL. I should first of all alert you if you are using Cygwin 1.7. I haven't been able to build Basilisk or SheepShaver in that. I use the older version 1.5

This error seems to indicate that your cygwin installation can't find your host type.
"invalid host type: Settings/MyWindowsAccount/Desktop/SDL-1.2.15"

Perhaps there is a problem due to you having the source code for SDL on your desktop. You could start by putting it in the cygwin directory tree under your cygwin/home/"username" folder.
I also see an error message that configure doesn't handle paths with spaces in it. Does your user name contain spaces? Also shown when you start Cygwin?

Our compilation guide should explain how to set up the environment:
http://www.emaculation.com/doku.php/com ... r_basilisk
Please read the section directly below the first "Windows" heading.

Best,
Cat_7

Re: BasiliskII for Windows build 30-08-2010 available

Posted: Mon Feb 27, 2012 3:09 am
by deer421
Thanks for your response. I moved the SDL folder into cygwin as you suggested. I got a bit further on the compilation. See the following error. I am using cygwin 1.7.

$ ./configure --disable-shared --prefix=`pwd`
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.exe
checking for suffix of executables... .exe
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking build system type... i686-pc-cygwin
checking host system type... i686-pc-cygwin
checking for a sed that does not truncate output... /usr/bin/sed
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/i686-pc-cygwin/bin/ld.exe
checking if the linker (/usr/i686-pc-cygwin/bin/ld.exe) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 8192
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/i686-pc-cygwin/bin/ld.exe option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for dlfcn.h... yes
checking for as... as
checking for dlltool... dlltool
checking for objdump... (cached) objdump
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -DDLL_EXPORT -DPIC
checking if gcc PIC flag -DDLL_EXPORT -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/i686-pc-cygwin/bin/ld.exe) supports shared libraries... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking whether byte ordering is bigendian... no
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether g++ accepts -g... (cached) yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/i686-pc-cygwin/bin/ld.exe
checking if the linker (/usr/i686-pc-cygwin/bin/ld.exe) is GNU ld... yes
checking whether the g++ linker (/usr/i686-pc-cygwin/bin/ld.exe) supports shared libraries... yes
checking for g++ option to produce PIC... -DDLL_EXPORT -DPIC
checking if g++ PIC flag -DDLL_EXPORT -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/i686-pc-cygwin/bin/ld.exe) supports shared libraries... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking for a BSD-compatible install... /usr/bin/install -c
checking whether make sets $(MAKE)... yes
checking for windres... windres
checking for an ANSI C-conforming const... no
checking for inline... no
checking for working volatile... no
checking for ANSI C header files... (cached) yes
checking for sys/types.h... (cached) yes
checking stdio.h usability... no
checking stdio.h presence... no
checking for stdio.h... no
checking for stdlib.h... (cached) yes
checking stddef.h usability... no
checking stddef.h presence... no
checking for stddef.h... no
checking stdarg.h usability... no
checking stdarg.h presence... no
checking for stdarg.h... no
checking malloc.h usability... no
checking malloc.h presence... no
checking for malloc.h... no
checking for memory.h... (cached) yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking for inttypes.h... (cached) yes
checking for stdint.h... (cached) yes
checking ctype.h usability... no
checking ctype.h presence... no
checking for ctype.h... no
checking math.h usability... no
checking math.h presence... no
checking for math.h... no
checking iconv.h usability... no
checking iconv.h presence... no
checking for iconv.h... no
checking signal.h usability... no
checking signal.h presence... no
checking for signal.h... no
checking for size_t... no
checking for int64_t... no
checking for working memcmp... no
checking for working strtod... no
checking for pow... no
checking for pow in -lm... no
configure: WARNING: cannot find library containing definition of pow
checking for mprotect... no
checking for malloc... no
checking for calloc... no
checking for realloc... no
checking for free... no
checking for getenv... no
checking for putenv... no
checking for unsetenv... no
checking for qsort... no
checking for abs... no
checking for bcopy... no
checking for memset... no
checking for memcpy... no
checking for memmove... no
checking for strlen... no
checking for strlcpy... no
checking for strlcat... no
checking for strdup... no
checking for _strrev... no
checking for _strupr... no
checking for _strlwr... no
checking for strchr... no
checking for strrchr... no
checking for strstr... no
checking for itoa... no
checking for _ltoa... no
checking for _uitoa... no
checking for _ultoa... no
checking for strtol... no
checking for strtoul... no
checking for _i64toa... no
checking for _ui64toa... no
checking for strtoll... no
checking for strtoull... no
checking for atoi... no
checking for atof... no
checking for strcmp... no
checking for strncmp... no
checking for _stricmp... no
checking for strcasecmp... no
checking for _strnicmp... no
checking for strncasecmp... no
checking for sscanf... no
checking for snprintf... no
checking for vsnprintf... no
checking for iconv... no
checking for sigaction... no
checking for setjmp... no
checking for nanosleep... no
checking for libiconv_open in -liconv... no
checking for pow in -lm... (cached) no
checking for struct sigaction.sa_sigaction... no
checking Win32 compiler... no
configure: error:
*** Your compiler (gcc) does not produce Win32 executables!

Re: BasiliskII for Windows build 30-08-2010 available

Posted: Mon Feb 27, 2012 6:40 am
by Cat_7
Hi,

I found that there are problems using gcc 4 in cygwin 1.7. You can set cygwin to use the gcc 3 compiler (if installed) by executing:

chmod 755 /usr/bin/set-gcc-default-3.sh
/usr/bin/set-gcc-default-3.sh

and then do the ./autogen.sh and ./configure steps for SDL and finally build BasiliskII.

if you need to switch back use:
chmod 755 /usr/bin/set-gcc-default-4.sh
/usr/bin/set-gcc-default-4.sh

I just succesfully built both BasiliskII and SheepShaver with SDL-1.2.15

Best,
Cat_7

Re: BasiliskII for Windows build 30-08-2010 available

Posted: Wed Mar 14, 2012 11:49 pm
by deer421
I have gotten much farther with gcc 3. Thanks so much for your help. Now it is asking for GTK. I should have installed it. Should I install GTK through cygwin or windows? Or it doesn't matter?