SheepShaver for Windows

About SheepShaver, a PPC Mac emulator for Windows, MacOS X, and Linux that can run System 7.5.3 to MacOS 9.0.4.

Moderators: Cat_7, Ronald P. Regensburg, ClockWise

Post Reply
Zannaza
Space Cadet
Posts: 4
Joined: Tue May 22, 2012 3:41 pm
Location: Sneek, The Netherlands

Re: SheepShaver for Windows

Post by Zannaza »

Cat_7 wrote:Hi,

Did you follow our guide to set up SheepShaver?
http://www.emaculation.com/doku.php/sheepshaver_setup Please read the 64 bit windows comments at the end.
And are you using the 2010 build from http://www.open.ou.nl/hsp/downloads/She ... 5_2010.zip ?

My windows installation sometimes doesn't start because of conflicts with software already running or using memory SheepShaver wants to use. Please stA fresh start might help.
Also, on 64 bit systems, make sure you have no CD rom in the drive. CD rom access isn't supported on 64 systems.

Best,
Cat_7
Hello,

I just reinstalled everything, Did the same as the guild, and with the 2010 version, But it's giving me the same results as last. I don't have any CD roms or DVD's in my PC right now.
I didn't knew what I needed to do at the ''64-bit Windows compatibility'', but I tried something and it still didn't worked.

Goodnight,
Zannaza.
User avatar
Cat_7
Expert User
Posts: 6121
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: SheepShaver for Windows

Post by Cat_7 »

Did you install the software for the GUI? And do you use the GUI to start SheepShaver?
If so, please check if the SheepShaver program is called SheepShaver.exe. If it not called SheepShaver.exe the GUI can't start it.

Please also paste the content of your sheepshaver_prefs file in your answer. You can open that file with notepad and copy the content in your post.

Best,
Cat_7
Zannaza
Space Cadet
Posts: 4
Joined: Tue May 22, 2012 3:41 pm
Location: Sneek, The Netherlands

Re: SheepShaver for Windows

Post by Zannaza »

Yes, the GUI software is installed, the SheepShaver is called ''SheepShaver.exe''
Here is the Sheepshaver_prefs you asked for:

disk C:\Users\folkert\Desktop\SheepShaver\macos9.hfv
cdrom C:\Windows\SysWOW64\drivers
extfs
screen win/1024/768
windowmodes 3
screenmodes 63
seriala COM1
serialb COM2
rom C:\Users\folkert\Desktop\SheepShaver\MacROM
bootdrive 0
bootdriver 0
ramsize 536870912
frameskip 0
gfxaccel true
nocdrom false
nonet false
nosound false
nogui false
noclipconversion false
ignoresegv false
ignoreillegal false
jit true
jit68k false
keyboardtype 5
keycodes false
mousewheelmode 1
mousewheellines 3
ignoresegv false
idlewait true
keycodes false
mousewheelmode 1
mousewheellines 3
enableextfs true
debugextfs false
extdrives CDEFGHIJKLMNOPQRSTUVWXYZ
pollmedia true
etherpermanentaddress true
ethermulticastmode 0
routerenabled false
ftp_port_list 21
portfile0 C:\B2TEMP0.OUT
portfile1 C:\B2TEMP1.OUT
User avatar
Cat_7
Expert User
Posts: 6121
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: SheepShaver for Windows

Post by Cat_7 »

Hi, Fryslan boppe!

There are some things you would need to change in your prefs file:

"cdrom C:\Windows\SysWOW64\drivers" should just read "cdrom"
"nocdrom" should read "nocdrom true"
"ignoresegv false" should read "ignoresegv true"
"ignoreillegal false" should also read "ignoreillegal true"


If you retrieved the MacOS9.hfv from the redundant robot site, please remember this is not a full install from a MacOS9 installation disk. If possible, you should try to get a universal system install disk to perform a full install.

(Do you know whether the rom file is a new world rom? The redundant robot site I referred to provides a "best for SheepShaver" rom file that could be used.)

Best,
Cat_7
UberFoX
Student Driver
Posts: 19
Joined: Sun Jun 03, 2012 5:00 am

Re: SheepShaver for Windows

Post by UberFoX »

Cat_7 wrote:Most recent build:
SheepShaver for Windows (28-03-2012), fixed for certain Ambrosia games.
http://www.open.ou.nl/hsp/downloads/She ... ampFix.zip

SheepShaver for Windows (30-08-2010), with startup sound is available here:
http://www.open.ou.nl/hsp/downloads/She ... psound.zip
Just unzip and replace your current SheepShaver.exe. Make sure the file "boing.wav" is in the same folder! More startup sounds can be found here (partly thanks to katoll):
http://www.open.ou.nl/hsp/downloads/StartupSounds.zip

To get started, always download this:
SheepShaver (05-05-2010), SheepShaver GUI and other files (HFV-Explorer, SDL.dll, drivers, documentation, etc) are included is this download: http://www.open.ou.nl/hsp/downloads/She ... 5_2010.zip
If the included sheepshaver.exe gives you memory problems on i5 or i7 processors, replace it with the sheepshaver version from the 30-08-2010 download.

Current fix(es):
(28-03-2012):Gamma ramp patch to allow running certain Ambrosia (and possibly other) games.

Previous fixes:
(30-08-2010):Startup sound has been enabled for a file called "boing.wav" in the SheepShaver folder.
(05-05-2010):(taken from CVS change messages, but not a far back as the original 2006 windows build):
-The timer code has been changed to allow running software that requires more timer slots like the AppleShare IP server sofware.
-Cursor placement.
-Mouse lock-up after frequent movement in and out the SheepShaver window
-Multi-mouse button support through e.g., TheMouse2B
-CD-rom support improved
-Fix file corruption experienced when doing random-access
file I/O to the external filesystem
-Cope with assembler updates in emulated CPU
-Support for 64 bit Intel/ia64
-FPU instructions added
-SSE and MMX optimizations
-SSSE3 optimizations (Intel Core 2 CPUs and newer)
-Update to slirp sources from QEMU 0.9.0

In case you would want to download the older official version, go here:
http://www.emaculation.com/sheepshaver/ ... .win32.zip

Best wishes,
Cat_7


Current fix(es):
(28-03-2012)

Previous fixes:
(30-08-2010)

Why so long between updates? This emu is awesome and if some great people will get to coding it can become a full and complete PPC OS9 emulator.

Most of the *really* hard stuff is already complete surely finishing it or at least making it as massively more stable and compatible is possible? I wish i had the skills to work on it i would work on it 17 hours a day until its complete.

I make apps/games (C++/C#) but i dont think i can do something this big....
User avatar
Cat_7
Expert User
Posts: 6121
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: SheepShaver for Windows

Post by Cat_7 »

Hi, and welcome to our forum!

Development has stalled after the original developer stopped working on the code. His aims were never to create a full emulator. For example, he refused to create a MMU as it would slow down the emulator too much (reason why you can't run Mac OS above 9.0.4). He also never came around to implementing the full opcode set. And didn't look into USB support, accelerated graphics etc.

Only maintenance work has been done to keep SheepShaver running on newer platforms. The issues fixed over the years are in the list you quoted. For the windows build, these are mostly the result of fixes that were needed on the OSX builds, as most users run SheepShaver on OSX. No explicit development for Windows has been done since 2006

If you want to contribute, you might start at some minor isolated issues like better native cdrom support or networking support (using winpcap instead of the current Slirp or basilisk ethernet driver).

We have a developers mailing list https://lists.sourceforge.net/lists/lis ... lisk-devel
and you can view the code from CVS http://www.cebix.net/viewcvs/cebix/BasiliskII/

Best,
Cat_7
jmclaus
Space Cadet
Posts: 5
Joined: Tue Oct 02, 2012 6:18 pm

Re: SheepShaver for Windows

Post by jmclaus »

Hi, I'm new to this forum and I mainly made an account to ask for for help with SheepShaver.

I'm using 32 bit windows 7 and I have mounted an iso file of Mac OS 9.2.1 to CD Drive E using Daemon Tools Lite. I've copied the cdenable.sys file to both my System32 directory and the System32/drivers directory but whenever I run SheepShaver it throws and error and says the cdenable.sys file is not located in the directory.

One thing I noticed was that it wants the file to be located in system32/drivers and not System32/drivers. It doesn't seem like this would cause an error but it's the only thing I can think of. I also cannot edit the name of the directory. I'm an administrator on my computer but you're disallowed from editing a System32 folder.

My preferences file looks like this:

disk C:\Users\JMClaus\Desktop\Mac OS 9.2.1.iso
disk C:\Users\JMClaus\Desktop\SheepShaver\macos9.hfv
cdrom
screen win/1024/768
windowmodes 3
screenmodes 63
seriala COM1
serialb COM2
rom C:\Users\JMClaus\Desktop\newworld86.rom
bootdrive 0
bootdriver 0
ramsize 1073741824
frameskip 0
gfxaccel true
nocdrom true
nonet false
nosound false
nogui false
noclipconversion false
ignoresegv true
ignoreillegal true
jit true
jit68k false
keyboardtype 5
keycodes false
mousewheelmode 1
mousewheellines 3
ignoresegv false
idlewait true
keycodes false
mousewheelmode 1
mousewheellines 3
enableextfs true
debugextfs false
extdrives CDEFGHIJKLMNOPQRSTUVWXYZ
pollmedia true
etherpermanentaddress true
ethermulticastmode 0
routerenabled false
ftp_port_list 21
portfile0 C:\B2TEMP0.OUT
portfile1 C:\B2TEMP1.OUT
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: SheepShaver for Windows

Post by Ronald P. Regensburg »

1. If you want to mount a .iso file in SheepShaver, do not mount it in Windows, just add it to the volumes list (as you did). The cdenable.sys file is not needed for mounting an .iso file, SheepShaver's CD-ROM driver is only needed for using actual physical CDs.

2. SheepShaver cannot boot from MacOS 9.2.1. The latest MacOS version supported by SheepShaver is 9.0.4.

See our setup guide for more information: http://www.emaculation.com/doku.php/sheepshaver_setup
jmclaus
Space Cadet
Posts: 5
Joined: Tue Oct 02, 2012 6:18 pm

Re: SheepShaver for Windows

Post by jmclaus »

Thanks for the quick reply. I downloaded a Mac OS 9.0.4 ISO file, changed the volumes list to use it, and unmounted all ISOs. I couldn't get it to work at first but when I removed the line "cdrom" it worked.

Yet, the error that the driver is missing persists even after I fully installed the OS (including removing the ISO from the Volumes), but when I close the error window SheepShaver begins to run. Should I just ignore this error or is there still a problem with a driver? It'd be nice if it didn't appear but I can deal with it occurring as long as nothing is truly wrong.
User avatar
Cat_7
Expert User
Posts: 6121
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: SheepShaver for Windows

Post by Cat_7 »

Hi,

The error can be ignored, but to get cd access and to get rid of the error, you'll need to copy the file cdenable.sys to your Windows/System32/drivers folder.
In Windows Explorer (the file manager, not the Internet Explorer), drag it from its current location to the Windows/System32/drivers/ folder.

You said earlier you have no access to that folder? Can you not click something like "show content" in the left pane of the windows explorer and then drag the file to the folder?

Best,
Cat_7
jmclaus
Space Cadet
Posts: 5
Joined: Tue Oct 02, 2012 6:18 pm

Re: SheepShaver for Windows

Post by jmclaus »

No, I do have access to it. I can remove, edit, and place files in it freely. I cannot rename the folder. Placing the cdenable.sys file in the drivers folder does not fix the problem. I think it might be because in the prompt issued by SheepShaver it says it cannot find it in system32/drivers directory whereas the directory on my hard drive is named System32/drivers. Normally I wouldn't think the capitalization of the folder name would be an issue, but it seems like that's the only problem.
User avatar
Cat_7
Expert User
Posts: 6121
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: SheepShaver for Windows

Post by Cat_7 »

No,
You should never edit the name of any of those Windows folders. I hadn't assumed anyone would try to do that ;-) The folder name in the guide was just a small error. I fixed it.

What happens when you open two Explorer windows (one in which you navigate to the Windows/System32/ folder and one in which your navigate to the location of the cdenable.sys file) and drag the cdenable.sys onto the /Windows/System32/drivers/ folder icon?

Best,
Cat_7
jmclaus
Space Cadet
Posts: 5
Joined: Tue Oct 02, 2012 6:18 pm

Re: SheepShaver for Windows

Post by jmclaus »

When I do that, it's no longer copies the file but moves it. Windows prompted me about replacing the file already located in drivers, which I agreed to. The error still occurs.
ZOleg
Inquisitive Elf
Posts: 37
Joined: Tue May 25, 2004 9:11 am
Location: Russia

Re: SheepShaver for Windows

Post by ZOleg »

Cat_7 why no startup sound with latest SheepShaver for Windows (28-03-2012)?
With SheepShaver for Windows (30-08-2010) this work.
User avatar
Cat_7
Expert User
Posts: 6121
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: SheepShaver for Windows

Post by Cat_7 »

That's because I didn't ask for the required code to be included in the source code. I'm no programmer, I just added this feature for fun. And I don't have the desire to add it everytime a new version can be built.

Best, Cat_7
ZOleg
Inquisitive Elf
Posts: 37
Joined: Tue May 25, 2004 9:11 am
Location: Russia

Re: SheepShaver for Windows

Post by ZOleg »

I run SheepShaver for Windows (28-03-2012) in Win7 x64.
PPC CPU emulation speed is normal, but PPC FPU emulation very slow - about 5 times slower than latest SS(running in 64-bit mode) for MacOS X and about 1.5 times slower than in latest SS(running in 32-bit mode) for MacOS X. MacOS X 10.8.2 and Win7 x64 SP1 run on the same computer.
FPU and CPU speed tested in MacOS 9.0.4 with Norton SystemInfo 6.0.3 and MacBench 5.0.
How to build 64-bit SS for Windows?
User avatar
Cat_7
Expert User
Posts: 6121
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: SheepShaver for Windows

Post by Cat_7 »

Hi,

I don't know if that is even possible. You would need to set up a 64-bit build chain in Cygwin or MinGW/Msys to even try. I have never attempted that.
This would be question for the developers at github. But the Windows version hasn't seen much love in the last few years.

Best,
Cat_7
ZOleg
Inquisitive Elf
Posts: 37
Joined: Tue May 25, 2004 9:11 am
Location: Russia

Re: SheepShaver for Windows

Post by ZOleg »

I setup latest mingw64 from http://sourceforge.net/projects/mingwbuilds/ and GTK 2.22.1 x64
then build SDL 1.2.15 for x64 from sources
then start compiling latest SS, but stop on error:

Code: Select all

C:\mingw64\src\SheepShaver\src\Windows>mingw32-make
cp -pR ../Unix/vm_alloc.cpp vm_alloc.cpp
cp -pR ../Unix/vm_alloc.h vm_alloc.h
cp -pR ../Unix/sigsegv.cpp sigsegv.cpp
cp -pR ../Unix/sigsegv.h sigsegv.h
cp -pR ../Unix/video_vosf.h video_vosf.h
cp -pR ../Unix/video_blit.cpp video_blit.cpp
cp -pR ../Unix/video_blit.h video_blit.h
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c ../main.cpp -o obj/main.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c main_windows.cpp -o obj/main_windows.o
main_windows.cpp: In function 'int SDL_main(int, char**)':
main_windows.cpp:287:50: warning: cast from 'uint8* {aka unsigned char*}' to 'uint32 {aka unsigned int}' loses precision [-fpermissive]
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c ../prefs.cpp -o obj/prefs.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c ../prefs_items.cpp -o obj/prefs_items.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c prefs_windows.cpp -o obj/prefs_windows.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c sys_windows.cpp -o obj/sys_windows.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c cdenable/cache.cpp -o obj/cache.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c cdenable/eject_nt.cpp -o obj/eject_nt.o
cdenable/eject_nt.cpp:34:25: warning: deprecated conversion from string constant to 'LPTSTR {aka char*}' [-Wwrite-strings]
cdenable/eject_nt.cpp:35:23: warning: deprecated conversion from string constant to 'LPTSTR {aka char*}' [-Wwrite-strings]
cdenable/eject_nt.cpp:36:24: warning: deprecated conversion from string constant to 'LPTSTR {aka char*}' [-Wwrite-strings]
cdenable/eject_nt.cpp: In function 'void* OpenVolume(TCHAR)':
cdenable/eject_nt.cpp:76:38: warning: deprecated conversion from string constant to 'LPTSTR {aka char*}' [-Wwrite-strings]
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c cdenable/ntcd.cpp -o obj/ntcd.o
cdenable/ntcd.cpp:33:31: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
cdenable/ntcd.cpp:34:29: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
cdenable/ntcd.cpp:35:31: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
cdenable/ntcd.cpp: In function 'int CdenableSysReadCdBytes(HANDLE, DWORD, DWORD, char*)':
cdenable/ntcd.cpp:209:24: warning: cast from 'HANDLE {aka void*}' to 'DWORD {aka long unsigned int}' loses precision [-fpermissive]
cdenable/ntcd.cpp:212:24: warning: cast from 'char*' to 'DWORD {aka long unsigned int}' loses precision [-fpermissive]
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c ../rom_patches.cpp -o obj/rom_patches.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c ../rsrc_patches.cpp -o obj/rsrc_patches.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c ../emul_op.cpp -o obj/emul_op.o
../emul_op.cpp: In function 'void EmulOp(M68kRegisters*, uint32, int)':
../emul_op.cpp:297:65: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c ../name_registry.cpp -o obj/name_registry.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c ../macos_util.cpp -o obj/macos_util.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c ../timer.cpp -o obj/timer.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c timer_windows.cpp -o obj/timer_windows.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c ../xpram.cpp -o obj/xpram.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c xpram_windows.cpp -o obj/xpram_windows.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c ../adb.cpp -o obj/adb.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c ../sony.cpp -o obj/sony.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c ../disk.cpp -o obj/disk.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c ../cdrom.cpp -o obj/cdrom.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c ../scsi.cpp -o obj/scsi.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c ../dummy/scsi_dummy.cpp -o obj/scsi_dummy.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c ../gfxaccel.cpp -o obj/gfxaccel.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c ../video.cpp -o obj/video.o
../video.cpp: In function 'bool VideoSnapshot(int, int, uint8*)':
../video.cpp:127:42: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c ../SDL/video_sdl.cpp -o obj/video_sdl.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c video_blit.cpp -o obj/video_blit.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c ../audio.cpp -o obj/audio.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c ../SDL/audio_sdl.cpp -o obj/audio_sdl.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c ../ether.cpp -o obj/ether.o
In file included from ../ether.cpp:32:0:
../include/ether_defs.h:528:12: warning: ignoring packed attribute because of unpacked non-POD field 'nw_uint16 EnetPacketHeader::fProto' [enabled by
default]
../include/ether_defs.h:545:19: warning: ignoring packed attribute because of unpacked non-POD field 'EnetPacketHeader T8022FullPacketHeader::fEnetPar
t' [enabled by default]
../include/ether_defs.h:551:12: warning: ignoring packed attribute because of unpacked non-POD field 'nw_uint16 T8022AddressStruct::fSAP' [enabled by
default]
../ether.cpp: In destructor 'EthernetPacket::~EthernetPacket()':
../ether.cpp:1731:58: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c ether_windows.cpp -o obj/ether_windows.o
In file included from ether_windows.cpp:37:0:
../include/ether_defs.h:528:12: warning: ignoring packed attribute because of unpacked non-POD field 'nw_uint16 EnetPacketHeader::fProto' [enabled by
default]
../include/ether_defs.h:545:19: warning: ignoring packed attribute because of unpacked non-POD field 'EnetPacketHeader T8022FullPacketHeader::fEnetPar
t' [enabled by default]
../include/ether_defs.h:551:12: warning: ignoring packed attribute because of unpacked non-POD field 'nw_uint16 T8022AddressStruct::fSAP' [enabled by
default]
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c ../thunks.cpp -o obj/thunks.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c ../serial.cpp -o obj/serial.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c serial_windows.cpp -o obj/serial_windows.o
serial_windows.cpp: In constructor 'XSERDPort::XSERDPort(const char*, const char*)':
serial_windows.cpp:115:3: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp: In destructor 'virtual XSERDPort::~XSERDPort()':
serial_windows.cpp:146:3: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:148:4: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:154:4: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp: In function 'void SerialInit()':
serial_windows.cpp:211:40: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:217:3: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:223:3: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp: In function 'void SerialExit()':
serial_windows.cpp:235:2: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:238:2: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp: In member function 'virtual int16 XSERDPort::open(uint16)':
serial_windows.cpp:254:2: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:273:3: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:285:4: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:299:2: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:307:2: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:311:2: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp: In member function 'virtual int16 XSERDPort::prime_in(uint32, uint32)':
serial_windows.cpp:335:2: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp: In member function 'virtual int16 XSERDPort::prime_out(uint32, uint32)':
serial_windows.cpp:352:2: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp: In member function 'virtual int16 XSERDPort::control(uint32, uint32, uint16)':
serial_windows.cpp:380:2: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:390:4: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:422:6: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:430:4: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:454:7: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:457:7: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:604:4: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp: In member function 'virtual int16 XSERDPort::status(uint32, uint32, uint16)':
serial_windows.cpp:641:5: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:661:4: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp: In member function 'virtual int16 XSERDPort::close()':
serial_windows.cpp:673:2: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp: In member function 'bool XSERDPort::set_timeouts(int, int, int)':
serial_windows.cpp:722:3: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:744:4: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:746:4: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:756:3: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp: In member function 'bool XSERDPort::configure(uint16)':
serial_windows.cpp:767:2: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:872:2: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:880:3: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp: In member function 'void XSERDPort::set_handshake(uint32, bool)':
serial_windows.cpp:897:2: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp: In static member function 'static int XSERDPort::acknowledge_error(HANDLE, bool)':
serial_windows.cpp:967:3: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:968:3: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:970:4: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:973:5: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:976:5: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:979:5: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:982:5: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:985:5: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:989:5: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:994:5: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:1000:5: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:1003:5: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:1007:5: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:1012:3: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp: In static member function 'static unsigned int XSERDPort::input_func(void*)':
serial_windows.cpp:1051:2: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:1063:3: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:1067:4: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:1081:3: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:1105:4: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:1113:2: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp: In static member function 'static unsigned int XSERDPort::output_func(void*)':
serial_windows.cpp:1136:2: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:1148:3: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:1152:4: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:1163:3: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:1187:4: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
serial_windows.cpp:1195:2: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c ../extfs.cpp -o obj/extfs.o
In file included from ../extfs.cpp:65:0:
./posix_emu.h:81:0: warning: "stat" redefined [enabled by default]
c:\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.2/../../../../x86_64-w64-mingw32/include/sys/stat.h:258:0: note: this is the location of the previous
 definition
./posix_emu.h:82:0: warning: "fstat" redefined [enabled by default]
c:\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.2/../../../../x86_64-w64-mingw32/include/sys/stat.h:259:0: note: this is the location of the previous
 definition
./posix_emu.h:90:0: warning: "lseek" redefined [enabled by default]
c:\mingw64\bin\../lib/gcc/x86_64-w64-mingw32/4.6.2/../../../../x86_64-w64-mingw32/include/io.h:335:0: note: this is the location of the previous defin
ition
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c extfs_windows.cpp -o obj/extfs_windows.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c about_window_windows.cpp -o obj/about_window_windows.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c ../user_strings.cpp -o obj/user_strings.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c user_strings_windows.cpp -o obj/user_strings_windows.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c ../dummy/prefs_editor_dummy.cpp -o obj/prefs_editor_dummy.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c clip_windows.cpp -o obj/clip_windows.o
clip_windows.cpp: In function 'void do_getscrap(void**, uint32, int32)':
clip_windows.cpp:266:6: warning: large integer implicitly truncated to unsigned type [-Woverflow]
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c util_windows.cpp -o obj/util_windows.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c kernel_windows.cpp -o obj/kernel_windows.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c vm_alloc.cpp -o obj/vm_alloc.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c sigsegv.cpp -o obj/sigsegv.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c posix_emu.cpp -o obj/posix_emu.o
windres --include-dir ../Windows -i SheepShaver.rc -o obj/SheepShaver.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -c ../kpx_cpu/src/cpu/jit/jit-cache.cpp -o obj/jit-cache.o
g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -fpermissive -IC:/mingw64/sdl/include/SDL -D_GNU_S
OURCE=1 -Dmain=SDL_main -fomit-frame-pointer -finline-limit=10000 -g0 -fno-reorder-blocks -fno-optimize-sibling-calls -c ../kpx_cpu/src/cpu/jit/basic-
dyngen-ops.cpp -o obj/basic-dyngen-ops.o
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:33:1: warning: register used for two global register variables [enabled by default]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:34:1: warning: register used for two global register variables [enabled by default]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:35:1: warning: register used for two global register variables [enabled by default]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_mov_32_T0_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:92:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_mov_32_T1_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:95:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_mov_32_T2_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:98:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_add_32_T0_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:108:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_sub_32_T0_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:115:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_add_32_T1_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:122:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_sub_32_T1_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:129:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_and_32_T0_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:147:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_or_32_T0_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:149:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_xor_32_T0_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:151:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_lsl_32_T0_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:160:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_lsr_32_T0_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:162:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_asr_32_T0_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:164:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_rol_32_T0_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:166:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:166:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_ror_32_T0_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:168:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:168:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_load_u32_T0_T1_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:200:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_load_s32_T0_T1_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:200:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_store_32_T0_T1_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:200:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_load_u16_T0_T1_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:203:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_load_s16_T0_T1_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:203:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_store_16_T0_T1_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:203:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_load_u8_T0_T1_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:206:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_load_s8_T0_T1_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:206:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_store_8_T0_T1_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:206:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_jmp_slow()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:282:2: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_invoke_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:384:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_invoke_CPU_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:405:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_invoke_CPU_im_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:412:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:412:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_invoke_direct()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:426:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_invoke_direct_T0()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:431:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_invoke_direct_T0_T1()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:436:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_invoke_direct_T0_T1_T2()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:441:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_invoke_direct_T0_ret_T0()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:446:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_invoke_direct_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:451:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:451:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_invoke_direct_CPU()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:456:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_invoke_direct_CPU_T0()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:461:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_invoke_direct_CPU_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:466:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:466:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_invoke_direct_CPU_im_im()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:471:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:471:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:471:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function 'void op_invoke_direct_CPU_A0_ret_A0()':
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:476:1: warning: cast from 'int*' to 'long int' loses precision [-fpermissive]
C:\Windows\TEMP\ccNyRiDq.s: Assembler messages:
C:\Windows\TEMP\ccNyRiDq.s:1162: Error: can't resolve `.text' {.text section} - `_op_execute' {*UND* section}
gwkefile:184: recipe for target 'obj/basic-dyngen-ops.o' failedmin
-make: *** [obj/basic-dyngen-ops.o] Error 1
Cat_7 may you contact with developers of SS and send to them this info?

Thanx!
User avatar
Cat_7
Expert User
Posts: 6121
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: SheepShaver for Windows

Post by Cat_7 »

Hi.

Can you explain how you set up this build environment?

Best,
Cat_7
ZOleg
Inquisitive Elf
Posts: 37
Joined: Tue May 25, 2004 9:11 am
Location: Russia

Re: SheepShaver for Windows

Post by ZOleg »

Hi.

Cat_7 can you please specify what exactly you are interested?

I mainly followed instruction in http://www.emaculation.com/doku.php/com ... r_basilisk, only make following changes:
1) before make links i comment last line in SheepShaver\Makefile
2) before NO_CONFIGURE=1 ../Unix/autogen.sh i change in SheepShaver\src\Unix\autogen.sh

Code: Select all

if test -z "$ACLOCAL_FLAGS"; then
    ACLOCAL_FLAGS="-I `aclocal --print-ac-dir` -I m4"
fi
to

Code: Select all

if test -z "$ACLOCAL_FLAGS"; then
    ACLOCAL_FLAGS="-I `aclocal --print-ac-dir` -I /c/mingw64/src/SheepShaver/src/Unix/m4 -I /c/mingw64/gtk/share/aclocal -I /c/mingw64/sdl/share/aclocal"
fi
3) after ./configure:

Code: Select all

Setting OpenSSL Env.
Setting DirectX Env.
Setting SDL Env.

C:\mingw64>bash
bash-3.1$ 
bash-3.1$ cd src/SheepShaver/src/Windows/
bash-3.1$ ./configure
checking build system type... i686-pc-mingw32
checking host system type... i686-pc-mingw32
checking target system type... i686-pc-mingw32
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 g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking whether make sets $(MAKE)... yes
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking whether ln -s works... no, using cp -pR
checking for perl... /usr/bin/perl
checking for windres... windres
checking for pkg-config... /c/mingw64/gtk/bin/pkg-config
checking for GTK+ - version >= 1.3.15... yes (version 2.22.1)
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... 64
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 whether byte ordering is bigendian... no
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking size of short... 2
checking size of int... 4
checking size of long... 4
checking size of long long... 8
checking size of float... 4
checking size of double... 8
checking size of void *... 8
checking for off_t... yes
checking for loff_t... no
checking for size_t... yes
checking for strdup... yes
checking for strerror... yes
checking for exp2f... yes
checking for log2f... yes
checking for exp2... yes
checking for log2... yes
checking for floorf... yes
checking for roundf... yes
checking for ceilf... yes
checking for truncf... yes
checking for floor... yes
checking for round... yes
checking for ceil... yes
checking for trunc... yes
checking whether VirtualProtect works... yes
checking whether your system supports Windows exceptions... yes
checking whether we can skip instruction in SIGSEGV handler... yes
checking for GCC 2.7 or higher... yes
checking for GCC 3.0 or higher... yes
checking whether the compiler supports -fno-strict-aliasing... yes
checking for sdl-config... sdl-config
configure: creating ./config.status
config.status: creating Makefile
config.status: WARNING:  'Makefile.in' seems to ignore the --datarootdir setting
config.status: creating config.h
config.status: config.h is unchanged

SheepShaver configuration summary:

Enable JIT compiler .............. : yes
GTK user interface ............... : yes

Configuration done. Now type "make".
bash-3.1$
i edit SheepShaver\src\Windows\Makefile:
add -fpermissive to SDL_CFLAGS
remove -mpreferred-stack-boundary=2 from DYNGEN_OP_FLAGS
User avatar
Cat_7
Expert User
Posts: 6121
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: SheepShaver for Windows

Post by Cat_7 »

Hi,

I was interested in what and how you installed the mingw environment. You already gave the link to the mingw installer, but did you also use msys? I tried to install the mingw environment, but it seems I can't run the ./autogen.sh step in mingw because some software is missing in mingw. That's why I asked how exactly you set up the build environment.

Have you tried to add the -fpermissive flag to the make file for the SheepShaver program itself?

Best,
Cat_7
ZOleg
Inquisitive Elf
Posts: 37
Joined: Tue May 25, 2004 9:11 am
Location: Russia

Re: SheepShaver for Windows

Post by ZOleg »

Hi.
Cat_7 wrote:Hi,

I was interested in what and how you installed the mingw environment. You already gave the link to the mingw installer, but did you also use msys? ...
Yes, i use msys from http://sourceforge.net/projects/mingwbu ... -packages/ , install it to c:\mingw64\msys and add c:\mingw64\msys\bin to PATH
Have you tried to add the -fpermissive flag to the make file for the SheepShaver program itself?
in SheepShaver\src\Windows\Makefile:

Code: Select all

CFLAGS =  -O2 $(SDL_CFLAGS)
CXXFLAGS =  -O2 $(SDL_CFLAGS)
so -fpermissive flag affects the entire project
User avatar
Cat_7
Expert User
Posts: 6121
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: SheepShaver for Windows

Post by Cat_7 »

Hi,

I now got as far as you got (I also had to define min and max in two source files).
An issue has been raised at github. Let's see what happens.

You can follow the issue here: https://github.com/cebix/macemu/issues/14

Best,
Cat_7
ZOleg
Inquisitive Elf
Posts: 37
Joined: Tue May 25, 2004 9:11 am
Location: Russia

Re: SheepShaver for Windows

Post by ZOleg »

Ok, thanx.
User avatar
Cat_7
Expert User
Posts: 6121
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: SheepShaver for Windows

Post by Cat_7 »

Got a bit more info with these compiler flag at DYNGEN_OP_FLAGS = -S -fomit-frame-pointer -falign-functions=0 -finline-limit=10000 -g0 -fno-reorder-blocks -fno-optimize-sibling-calls

gcc -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -c ../kpx_cpu/src/cpu/jit/dyngen.c -o obj/dyngen.ho

g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -O2 -c ../kpx_cpu/src/cpu/jit/cxxdemang le.cpp -o obj/cxxdemangle.ho

g++ -o dyngen.exe obj/dyngen.ho obj/cxxdemangle.ho

./dyngen.exe -o basic-dyngen-ops.hpp obj/basic-dyngen-ops.o
dyngen: bad COFF header

make: *** [basic-dyngen-ops.hpp] Error 1
Post Reply