top of page

Just deserts: F/A-18 Hornet Classic



Building destroyed!
Building destroyed!

This is a guide to setting up F/A-18 Hornet V1.0/Classic with Mac emulation. It'll take a look a single screen and multi-monitor options and my subjective view on which are best. We'll be looking at emulators in order of preference.


Versions


The preferred version of Hornet is v1.1.2, available as a single game or as part of the '9 Big Ones' compilation cd.


A patch exists to update to version 1.1.3b1, however it requires the games folder to named (or renamed to) F/A-18 Hornet 1.1.2 before the patch will run. However at the present time this version will crash on all emulators. It doesn't provide any significant changes or bug fixes.


SheepShaver


Mapping axes in Target
Mapping axes in Target

SheepShaver is a good solution, easy to setup and run. In order to use a modern joystick effectively, you will need to use your joysticks profile software to map your joystick x/y-axes to the mouse x/y-axes. It doesn't have support for multiple virtual monitors at present.


If you decide to use Qemu m68k instead, it's still worth installing SheepShaver as you can mount a Qemu disk image in SheepShaver which makes transferring files onto the disk far easier.


The latest version of SheepShaver can be obtained from the Emaculation website. At time of writing the latest version is SheepShaver-Windows-27-08-2023-framebuffer. In order to create a suitable emulated PPC Mac, the SheepShaver setup guide at the Emaculation website should be followed.


The configuration I use is:

  • An old world 4mb rom file

  • 128mb ram

  • Mac OS 7.6.1

  • 1152x870 resolution

In addition the SheepShaver_prefs file was edited and the following preference was added to reduce the cpu clock to 33Mhz, the default being 100Mhz.

cpuclock 33 

Once you have an emulated Mac running Mac OS 7.6.1, you will want to install software. Depending on the version of Hornet obtained, you may have to install Stuffit Expander before you install F/A-18 Hornet. I've found Stuffit Expander v5.5 to work well.


Update 07/11/2023: I've noticed that very occasionally when switching to the external target view during a mission the game can freeze. SheepShaver is still the recommendation, but something to be aware of.


SheepShaver keycodes
SheepShaver keycodes

Update 10/11/2023: The key bindings are not optimal. The \ key is incorrectly mapped to 3. To fix this you'll want to set the 'Use raw keycodes' option and specify the keycodes files in the SheepShaver folder as shown.




Qemu m68k


Qemu is another good solution for running Hornet and the recommended solution to run with multi monitor support.


Transferring files onto the hard disk image is also more complicated, the easiest solution is to use SheepShaver to mount the Qemu disk image and transfer files. The alternative is to create a cd image and mount the image in Qemu.


Like SheepShaver you'll need to remap the joystick x/y-axes to the mouse x/y axes. The target button, backslash '\' doesn't seem to work, instead the hash '#' key targets (at least on Uk keyboards).


There are 2 versions available from the Emaculation website, the latest version, Qemu-system-m68k-Win64-06-10-2023 and the experimental multi-monitor version Qemu-m68k-Win64-qfb-experimental-05-10-2022. If you want to try out both, they should be installed into separate folders.


I tend to use the experimental version for both single and multiple monitors. The experimental version allows you to use the Windows key to emulate the Apple command key (which you need in Hornet).


The Qemu-system-m68k-Win64-06-10-2023 version seems to have lost this mapping. However the experimental version has an issue with full screen rendering at 1152x870, so I tend to use 1024x768.


Update 11/11/2023: The Qemu-system-m68k-Win64-06-10-2023 version hasn't actually lost this mapping, but in full screen mode holding the Windows key causes a key press 'pulse' in the emulator. In the experimental version holding the Windows key generates the held key press in the emulator. This can be seen with the 'Key Caps' app.


I'll include the command to run the Qemu-system-m68k-Win64-06-10-2023 version in case this gets fixed later.


In order to create a suitable virtual Mac the Emaculation setup guide should be used.


The configuration I use is:

  • Quadra 800 rom

  • 128mb ram

  • Mac OS 7.6.1

  • 1152x870 resolution (Qemu-system-m68k-Win64-06-10-2023 version)

  • 1024x768 resolution (Qemu-m68k-Win64-qfb-experimental-05-10-2022 version)


Note: In the configurations below, your rom file and hard disk image may have a different name and be located in a different folder. The caret ^ character continues the command onto the next line.


Qemu-system-m68k-Win64-06-10-2023 configuration


qemu-system-m68k.exe ^
-M q800 ^
-m 128 ^
-g 1152x870x8 ^
-display sdl ^
-bios "D:\MacOS\qemu-disk-rom\Quadra800.rom" ^
-drive file=pram-macos.img,format=raw,if=mtd ^
-device scsi-hd,scsi-id=0,drive=hd0 ^
-drive file=D:\MacOS\qemu-disk-rom\qemu761.img,media=disk,format=raw,if=none,id=hd0

Qemu-m68k-Win64-qfb-experimental-05-10-2022 single monitor configuration


qemu-system-m68k-qfb.exe ^
-M q800,fb=none ^
-m 128 ^
-bios D:\MacOS\qemu-disk-rom\Quadra800.rom ^
-display sdl ^
-device nubus-qfb,width=1024,height=768,depth=8 ^
-drive file=pram-macos-qfb.img,format=raw,if=mtd ^
-device scsi-hd,scsi-id=0,drive=hd0 ^
-drive file=D:\MacOS\qemu-disk-rom\qemu761.img,media=disk,format=raw,if=none,id=hd0 


Qemu-m68k-Win64-qfb-experimental-05-10-2022 multi monitor configuration


This configuration will create 3 virtual displays as windows.

qemu-system-m68k-qfb.exe ^
-M q800,fb=qemu ^
-device nubus-qfb,width=1024,height=768,depth=8 ^
-device nubus-qfb,width=1024,height=768,depth=8 ^
-m 128 ^
-g 1024x768x8 ^
-bios D:\MacOS\qemu-disk-rom\Quadra800.rom ^
-display sdl ^
-drive file=pram-macos-qfb.img,format=raw,if=mtd ^
-device scsi-hd,scsi-id=0,drive=hd0 ^
-drive file=D:\MacOS\qemu-disk-rom\qemu761multi.img,media=disk,format=raw,if=none,id=hd0

You can add the following lines to the bottom of each command to mount a cd image, replacing <cd-image.iso> with the actual name of your cd image. The previous last line will need to end with the caret character.

rem add the ^ to the end of the last line before adding these lines
-device scsi-cd,scsi-id=3,drive=cd0 ^
-drive file=<cd-image.iso>,format=raw,media=cdrom,if=none,id=cd0

Once you have your emulated Mac up and running, install Stuffit Expander v5.5, if you need to, before you install Hornet.


MAME


MAME provides very accurate emulation at the cost of performance. This accuracy means it may be the only emulator capable of running some titles reliably. With Hornet, we can get better performance from SheepShaver or Qemu.


However both SheepShaver and Qemu require the joystick axes to be mapped to mouse axes for the mouse controls to act like a joystick. If this isn't possible then MAME may be a preferred option.


The hit in performance can be overcome by overclocking the emulated Mac, however this can result in non-breaking sound issues, where fragments of sound will be repeated during play. It'll be down to personal preference as to how big of an issue this is.


The current version of MAME is v0.260 although there is active development with new releases coming out frequently.


Setup


To set up MAME take a look at my earlier blog post: Running the Mac version of F-117a Stealth Fighter 2.0 with MAME. You can follow the guide all the way through until it comes to installing F-117. Installing Stuffit Deluxe is optional but you may find it useful for installing other games.


You should now have:

  • An emulated Mac Quadra 800 with 128mb of memory.

  • Running Mac OS 7.6.1.

  • With Stuffit Expander v5.5 (and optionally Stuffit Deluxe) installed.


You can now install hornet. If the copy of Hornet obtained is a .toast cd image. You may be able to mount it in MAME by:

  • Taking a copy of the .toast cd image.

  • Change the extension to .iso.

  • Use the MAME file manager to mount the .iso cd image.

Otherwise you will have to create your own .iso cd image to transfer files onto your emulated Mac.


To increase performance, you can specify the -cheat option in the command used to run MAME and use the MAME slider menu to overclock the main cpu by up to 400%. This may introduce sound issues depending on how high you go and your host pc, so the optimum overclock is a personal preference.


Joystick setup


Hornet can use keyboard controls (not great) or mouse controls (even worse)! To use a modern joystick with the emulated Mac mouse controls that acts like a joystick, you can use the MacFlight plugin. Details on how to use the MacFlight plugin are on the earlier blog post: MacFlight: A MAME plugin for retro Mac flight sims.


Multiple Monitors


To set up multiple monitors in MAME take a look at yet another earlier blog post: MacFlight: Multi-monitor support! It'll describe how to set up multiple monitors in MAME. If you use a supported memory and resolution, MacFlight will also work.

bottom of page