
  Basilisk II
  A 68k Macintosh emulator

  Copyright (C) 1997-2008 Christian Bauer et al.
  http://basilisk.cebix.net/


  Atari port by by Anders Granlund
  http://www.happydaze.se

  With help and/or contributions by:
  EmuTOS, Hatari, FreeMiNT, Motorola, Vincent Rivière, mfro, stephen_usher,
  derkom, Badwolf, SWE/YesCREW, Odd Skancke, Miro Kropáček,
  and everyone else who has helped testing this.
 
  Version: 20220329


--------------------
License
--------------------
Basilisk II is available under the terms of the GNU General Public License.
See the file "LICENSE.TXT" that is included in the distribution for details.


--------------------
Requirements
--------------------
- Atari ST/STe/TT/Falcon
- 68030 or better. MMU is required, FPU is optional.
- 4MB+ RAM and a Hard drive.
- Mono monitor, unless you have a graphics card
- A MacintoshII ROM dump


--------------------
Recommended settings
--------------------
- 68030 : modelid 5,  Macintosh LC-III rom
- 68040 : modelid 14, Macintosh Quadra rom
- 68060 : modelid 14, Macintosh Quadra rom

These are general recommendations, you may have better or worse luck
using roms from other Macintosh models.

(68030)
If you are low on memory then these 512K roms appear to work also:
MacII-CI (requires an FPU)
MacII-SI (works with or without FPU)

(68040-60)
I am unsure which Quadra rom is "best", try one from a 650/700/800/900.
Some '030 roms may work but I recommend using a proper 68040 rom.


--------------------
FAQ
--------------------


--------------------
Known issues
--------------------
- Disk images are very slow, especially if TOS is running from
  ROM or ST-RAM. Generally much faster in MiNT or MagiC.
- Mouse will lag/stutter during disk access in Atari TOS.
  Fine in EmuTOS, MagiC and MiNT.
- Enabling sound will make a few games or programs lock up.
  Some games do not work with sound disabled so you may
  have to enable it and hope for the best.
- Direct disc access is disabled until it has been more carefully tested.
- Mouse & keyboard support is early and needs improvement.
- Expect that many things may not work, and there may be crashes.


--------------------
Notes
--------------------
* This is an early pre-release version meant for testing.
It is not yet as compatible or feature rich as ports for other platforms.
Nor is it fully polished so expect it to be a bit rough around the edges.
There may be more or less severe bugs - take extra care if you try
direct-harddrive access.

* MacOS has a habit of sometimes "unblessing" the startup disk if it
wasn't shut down properly.
This results in an unbootable, but otherwise fully intact disk.
One of many ways to "re-bless" a disk:
 - Boot up from another disk.
 - Open "System Folder" on the disk you want to "bless".
 - Drag "Finder" out to the desktop.
 - Close "System Folder". Drag "Finder" back on top of the "System Folder" icon.
You can now shut down, remove that temporary boot disk from the config, and
it should be recognizing your disk as "blessed" and allow it to boot.

* HFVExplorer is a good Windows tool for exploring and creating disk images.
Also, having the PC version of BasiliskII is helpful in speeding up
testing and preparing disk images before transfering them to the Atari.
This site is great for general BasiliskII information, tools and software:
https://www.emaculation.com/


--------------------
Graphics
--------------------
Basilisk II supports ST and TT mono resolution.
(Falcon 16bit mode will work, but the colors are off due
to Mac and Falcon having different 16bit pixel formats)

Graphics cards are supported and will work as long as the video
mode is Mac compatible. All Mac video modes have "chunky" pixels.
1- and 8bit modes will probably work  fine on most cards.
16bit color requires a big endian RGB555 mode
32bit color requires a big endian RGB888 mode

Graphics card support has been tested using an ET4000 with NVDI5 drivers.
Your milage may vary with other VDIs, drivers or cards.


--------------------
Configuring
--------------------
basilisk.inf contains some settings you may want to modify.
At the very least to specify the rom file and to add one or
more disks/cds to the Mac.

logging <mode>
  Enable debug logging. Mode can be "off", "file", "serial" or "screen".
  File logging writes to the file basilisk.log
  Serial logging outputs in 307200 baud, 8 bits, no parity, 1 stop bit.
  Screen logging prints directly on the screen

rom <ROM file path>
  This item specifies the file name of the Mac ROM file to be used by
  Basilisk II. If no "rom" line is given, the ROM file has to be named
  "ROM" and put in the same directory as the Basilisk II executable.

modelid <MacOS model ID>
  Specifies the Macintosh model ID that Basilisk II should report to MacOS.
  The default is "5" which corresponds to a Mac IIci. If you want to run
  MacOS 8, you have to set this to "14" (Quadra 900).

ramsize <bytes>
  Allocate "bytes" bytes of RAM for MacOS system and application memory.
  Set it to 0 to give it all available Atari memory.

fpu <enable>
  Enable fpu if available
  0 = don't use fpu, 1 = use fpu if available
  
bootdrive <drive number>
  Specify MacOS drive number of boot volume. "0" (the default) means
  "boot from first bootable volume".

bootdriver <driver number>
  Specify MacOS driver number of boot volume. "0" (the default) means
  "boot from first bootable volume". Use "-62" to boot from CD-ROM.

floppy <floppy drive description>
  This item describes one floppy drive to be used by Basilisk II. There
  can be multiple "floppy" lines in the preferences file.
  The format of "floppy drive description" is the same as for "disk" lines.

cdrom <CD-ROM drive description>
  This item describes one CD-ROM drive to be used by Basilisk II. There
  can be multiple "cdrom" lines in the preferences file.
  The format of "CD-ROM drive description" is the same as for "disk" lines.

disk <volume description>
  This item describes one MacOS volume to be mounted by Basilisk II.
  There can be multiple "disk" lines in the preferences file. Basilisk II
  can handle hardfiles (byte-per-byte images of HFS volumes in a file on
  the host system) or access an Atari device directly.
  The "volume description" is either the pathname of a hardfile or a
  platform-dependant description of an HFS partition or drive.
  If the volume description is prefixed by an asterisk ("*"),
  the volume is write protected for MacOS.

  Basilisk II can also handle some types of Mac "disk image" files directly,
  as long as they are uncompressed and unencoded.

  ----------
  Disk image
  ----------
  The easiest, and safest, is to use disk images stored on an Atari partition.
  Disk images might be slow though, depending on TOS and driver.
  They seem ok in TOS + HDDriver (in TT-RAM, and GEMDOS caching enabled)
  In EmuTOS, they are _extremely_ slow, almost to the point of being unusable

  MacOS does a lot of tiny reads for almost anything and filesystem latency,
  rather than throughput, will make the whole experience quite slow.
  With that being said, I still recommend using this method unless you've
  backed up all your things and have a farily good understand of Atari
  hard drives, partitions and drivers.

  The path can be absolute or relative.
  Example:
    "disk hdd0.dsk"
    "disk c:\basilisk\disks\hdd0.dsk"



  -----------------
  Direct HDD access
  -----------------

  *** DISABLED IN THIS BUILD ***

  The following two options will let the Mac access a harddrive directly.
  This is a lot faster compared to using disk images.
  The ST bus is still slower than that of a 68030/40 Macintosh but at least
  it will be able to access it at native speed and latency without
  having to go through the Atari filesystem layer.

  **** USE WITH CAUTION ****
  Unless you are confident in what you are doing this can DESTROY YOUR DATA!

  Backup your existing drive(s) before trying this.
  To limit the risk of destroying Atari partitions, use a different drive, and
  if possible a different device entierly for you Mac stuff. At least until:
   a) You are comfortable with Atari devices, partitions and so on.
   b) BasiliskII is more mature. It cannot be guaranteed there are no
      potentially fatal bugs in the system. It has had limited testing
      with an Ultrasatan, HDDriver and EmuTOS built-in driver.

  The device must have a physical block size of 512 bytes.
   This is usually the case, but if in doubt, double check using some software
   that can display this information. For example HDDrutil from HDDriver.


  -------------
  RAW partition
  -------------
  This is the easier and safer of the two direct-access options.

  Requires an XHDI compliant driver.
   Or worst case, and not really recommended, an AHDI compliant driver
   which is able to recognize RAW type partitions (not all of them will)
 
  Additionally you'll need a partitioning tool that is able to
  create RAW type partitions.
  HDDrutil from the HDDriver package is able to create RAW partitions and is
  generally just a good all around tool for examining drive and device info.
  
  Usage;
   disk raw:<drive letter>
   or
   disk raw:<drive letter>:<start block>:<size>

   "start block" and "size" are given in blocks and are completely optional.
   "start block" is the offset where the Mac disk should start
   "size" is how many blocks it should occupy.
   If these are not specified it will use the entire partition.

  Examples:
    "disk raw:g"
      Let Mac use the entire partition G: as a harddrive

    "disk raw:g:1024:4096"
      Let mac use blocks 1024 to 1024+4096 on G: as a harddrive

  You can assign several Mac drives from the same RAW parition
  by using the start+size option. Or just make multiple partitions.

  Special note on AHDI:
   BasiliskII will not be able to automatically determine the
   size of the last RAW partion on a device. Get around this by either
   creating a last dummy RAW partition on the device, or simply use
   the optional parameters to specify the size yourself.
   This is not a problem when using an XHDI compliant driver.
   Additionally, AHDI has had very limited testing, I strongly recommend
   using a driver which supports XHDI.


  --------------------
  Direct device access
  --------------------
  Same as above but you are not restricted to partitions in any way.
  You can assign any physical location on a device as a Mac disk with this.
  Use with extra caution.

  Requires an XHDI compliant device driver.

  Usage:
    disk dev:<major>.<minor>:<start block>:<size>
       "major" is the Major device ID
       "minor" is the Minor device ID
       "start block" is the block where the Mac disk should start
       "size" is the size of the Mac disk, given in blocks.

  Example:
     "disk dev:0.0:2:4096"
       Let Mac use blocks 2 to 2+4096 on device 0.0 as a hard drive.

  You can assign several Mac drives on the same device, just take care
  with the start and size so that they don't overlap.

