This is the fourth public version of Cockatrice (update five?)

This version is compiled with GCC 6.1.0 with the -Ofast flag.

 **** THERE IS A BUG IN PARSING PREF FILES, PUT AN EMPTY LINE or a HASH as the 
last entry, and everything will be fine!!!!!!!!!!!!!! ****

Ive tried to iron out a few prefs bugs, so some of the mysterious 
crashing should be over.  Ive also integrated DrMinGW in this Win32
build to dump out some debug logs if there is any issues.  I've also change
the GCC to build -Ofast as the new recommended level for building neutral
fast applications, and include all the debug information.
Because it's compiled in, it won't upset your normal JIT debugger (assuming
you even have one).

In any event, if you are having issues, give me the CPU type, OS, and 
the rpt file, and I can at least have a guess as to why it's crashing.

Enclosed is two executables, the SDL dll that I'm using 
(although there is nothing special about it), and all the DLLs associated
with Dr MinGW.

20/02/2014  10:13 AM         1,256,112 dbghelp.dll
12/11/2015  06:49 AM            23,040 exchndl.dll
12/11/2015  06:49 AM           216,064 mgwhelp.dll
24/03/2010  11:32 AM           293,376 SDL.dll
22/08/2013  05:03 AM           124,520 symsrv.dll
09/05/2016  03:24 PM         4,106,600 BasiliskII.exe
24/03/2010  11:32 AM           224,768 qemu-img.exe
10/02/2016  01:01 AM            35,790 ethlist.exe

To create a new disk image, I've enclosed the qemu-img program.
Just run it something like this:

qemu-img.exe create -f raw scsi0.disk 2000M

and it'll create a 2,000 MB file suitable for Cockatrice III

To further aid people in getting started I threw in a minimal
System 7 & System 8 install in the archive directory.

10/02/2016  01:09 AM           300,061 blank_2gb.7z
09/02/2016  11:53 PM         1,896,688 min7.7z
09/02/2016  11:59 PM         8,868,401 min8.7z

These will extract out to scsi0.disk, so don't overwrite that unless
you want to.

The previous release of Cockatrice, greatly improved
networking speed and stability.  I can now copy several GB worth of 
data over AppleTalk, while before this was dreadfully slow and unstable.
I've also started to expand the SCSI code to better support the buffer
demands of Basilisk II, so you can now format disks 2GB without it
crashing.  I have also started to add primative CD-ROM support, in addition
to the SCSI disk files.  The SCSI device #6 is hard coded to be a CD-ROM.
There is no 'hot' insertation method, and ignore/lock are ignored for now.
Simply use the following statement in your config file:

scsi6 <diskfilename>

But at this time, ISO-9660 filesystems will not mount.  Only *SOME*
HFS volumes will.  I have also made available on sourceforge a 'util' CD
that contains among other things the disk tool from A/UX that can format
any disk.  You can find it at:

https://sourceforge.net/projects/cockatrice/files/Utils/

I highly recommend using it if you are starting for the first time.  To
force your virtual MAC to boot from the CD use the statements:

disk6 CDUtils.iso
bootdriver -33
bootdisk 6

And this will ensure that the CD-ROM gets boot priority.  I've found that
the Macintosh Quadra 800 ROM is the best for running System 7 and 8.

My BasiliskII_Prefs is as follows:

-------------------------------------------------------------------
ramsize 268435456
#ramsize 134217728
frameskip 2
modelid 29
cpu 4
fpu false
nocdrom false
nosound false
nogui false
idlewait true
rom Quadra-650.rom
screen win/1152/870
bootdriver -33
bootdisk 6
#scsi6 System753.iso
#scsi6 MacOS8.1.iso
scsi6 CDutils.iso
scsi0 scsi0.disk
#ether slirp
ether \Device\NPF_{FFFFFFFF-FFFF-7777-FFFF-FFFFFFFFFFFF}
#
-------------------------------------------------------------------


This way my SCSI disk boots instead of trying to boot from the 
transfer.hfv volume, which is the default behavour.

is the syntax to add a disk into position 0 of the SCSI bus.

Another 'feature' is that for 68040 emulation you can now disable the
numerical coprocessor.  You may find this desierable as it is quite buggy
and things like the scrollbars will function in OS 8.

As always, pcap is present, This will allow you to  use native networking.  
Although this is more geared to wired networking.  For wireless, use SLiRP.  
There is no tun/tap networking in this version.

To setup the Windows networking, run the program ethlist to determin the 
network adapters available in your computer.


C:\BasiliskII\mingw>ethlist.exe
Network devices:
  Number       NAME                                     (Description)
  0  \Device\NPF_{FFFFFFFF-FFFF-7777-FFFF-FFFFFFFFFFFF} (Local Area Connection)

Press Enter to continue...


In this example there is a single interface.  But due to the nature of 
Windows, the index number could easily change, but the GUID is what pcap 
is expecting and for now that is what you have to specifiy in the 
BasiliskII_Prefs file.

In this example you would add the line:

ether \Device\NPF_{6D96D148-9B3D-4AF6-9FC3-1B4987074978}

And then you shold be good to go.

When you start Cockatrice, you should then see something similar to this:

C:\BasiliskII\mingw>BasiliskII.exe
Basilisk II V0.8 by Christian Bauer et al.
Reading ROM file...
Setting up for a 68040, Without FPU and 32bit addressing
SCSI Unit 0:2gig.scsi geometry: 63 sectors, 1999534 cylinders, 16 heads
SCSI Unit 6:MacAddict_001_1996_09.iso
EtherInit with [PCAP]
Pcap version [WinPcap version 4.1.3 (packet.dll version 4.1.0.2980), based on li
bpcap version 1.0 branch 1_0_rel0b (20091008)]
Ethernet address fe fd 00 00 70 58
Building packet filter.........!
SDL_Audio inited 8bit, 8192Hz, 1 channels
Patching a 32-bit clean ROM (version $067c or higher)


Linux and OS X users just need to specify the name of their 
ethernet interfaces.  WIFI ADAPTERS WILL NOT WORK!!!  Instead use SLiRP.

You may also need to run this as the root user.  In a future release I'll
try a stab at the user mode support, although I think that is a Windows
only thing.

To use the SLiRP (ie user mode NAT) you simply use the statement

ether slirp

And if your MacOS uses DHCP it'll figure out the configuration 
on it's own.  Otherwise use the folowing address:

IP			10.0.2.15
NetMask			255.255.255.0
Gateway			10.0.2.2
DNS			10.0.2.3

YOU CANNOT PING ANYTHING ON YOUR NETWORK OR THE INTERNET 
with SLiRP mode.  This is normal, and expected.  If you must ping something 
to ensure the stack is working, ping 10.0.2.2.  It is the only thing that can ping.

I've done my best to make the SLiRP as stable as possible, but it's possible 
that it may fail frm time to time. 

But I've downloaded 150MB files at 450KB/sec without issue.  

Plenty of things are missing from this version, as it is derived from 
BasiliskII version 0.8.  I am striving to make it 100% SDL reliant for 
system calls, but for now the os x/Linux and MinGW are more tied to UNIX, 
while the Visual C++ version is more agnostic.  But for now I'm only 
happy with the GCC/Clang built versions. But the Visual C++ build is making
great progress

I've mostly tested with os 8.0 for internet stuff, and 7.11 for using 
AppleTalk to communicate with Shoebill, and Windows NT AppleTalk servers.


For System 7.1.1 without AppleTalk or OpenTransport I just set the modelid
to 5, and restrict the CPU to 3

Various other ROMs either have booting issues from SCSI, or other errors that
BasiliskII's ROM patches cannot compensate for.


-------
Built by Equation Solution <http://www.Equation.com>.
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=d:/mingw/bin/../libexec/gcc/i686-pc-mingw32/6.1.0/lto-wrapper.exe
Target: i686-pc-mingw32
Configured with: ../gcc-6.1.0-mingw/configure --host=i686-pc-mingw32 --build=x86_64-unknown-linux-gnu --target=i686-pc-mingw32 --prefix=/home/gfortran/gcc-home/binary/mingw32/native/x86_32/gcc/6.1.0 --with-gcc --with-gnu-as --with-gnu-ld --with-cloog=/home/gfortran/gcc-home/binary/mingw32/native/x86_32/cloog --with-gmp=/home/gfortran/gcc-home/binary/mingw32/native/x86_32/gmp --with-mpfr=/home/gfortran/gcc-home/binary/mingw32/native/x86_32/mpfr --with-mpc=/home/gfortran/gcc-home/binary/mingw32/native/x86_32/mpc --enable-cloog-backend=isl --with-sysroot=/home/gfortran/gcc-home/binary/mingw32/cross/x86_32/gcc/6-20150531 --disable-shared --disable-nls --disable-tls --disable-libgcc2 --disable-win32-registry --enable-build-with-cxx --enable-libquadmath-support --enable-libquadmath --enable-languages=c,c++,fortran --disable-checking --enable-libgomp --enable-threads=win32 --enable-lto --enable-static --enable-shared=lto-plugin --enable-sjlj-exceptions --enable-plugins --enable-ld=yes
Thread model: win32
gcc version 6.1.0 (GCC)