Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
ArnoldUK authored Jun 25, 2023
1 parent 66b0391 commit c45a119
Showing 1 changed file with 62 additions and 1 deletion.
63 changes: 62 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ A portable, open-source 8086 Emulator for Win32 and bare metal ARM Raspberry Pi.

## Current Status

25-06-2023 Preparing Upload of initial build v1.0
25-06-2023 Upload of initial build v1.0 for Windows

# Release Notes
Faux86-remake is still work in progress but fixes many issues and adds more features including:
Expand Down Expand Up @@ -60,6 +60,45 @@ The naming of disk images should be as follows but this is not a strict requirem
The Windows build is a Win32 execuatble (64-Bit execuatble will also be available).
The emulator must be run with command line parameters to boot a disk image and will default to ROM Basic
by default if no option parameters are supplied for the disk images.
The following parameter options are currently supported:
- -fd0 filename Specify a floppy disk image file to use as floppy 0.
- -fd1 filename Specify a floppy disk image file to use as floppy 1.
- -hd0 filename Specify a hard disk image file to use as hard drive 0.
- -hd1 filename Specify a hard disk image file to use as hard drive 1.
- Disk image formats supported are .img and .raw
- -boot # Specify which BIOS drive ID boot device to use.
- Examples: -boot 0 will boot from floppy 0 (A:).
- -boot 1 will boot from floppy 1 (B:).
- -boot 128 will boot from hard drive 0 (C:).
- -boot rom will boot to ROM BASIC if available.
- Default boot device is Harddisk hd0, if it exists, or floppy fd0.
- -bios filename Specify an alternate Machine BIOS ROM image.
- -net # Enable ethernet emulation via winpcap. # is ID of your host network interface to bridge.
- -net # Enable ethernet emulation via libpcap. # is ID of your host network interface to bridge.
- To get a list of possible interfaces, use -net list.
- -nosound Disable audio emulation and output.
- -fullscreen Start Faux86 in fullscreen mode.
- -verbose Verbose mode. Operation details will be written to stdout.
- -speed Frequency of the CPU in Mhz. Set to 0 for Maximum Speed.
- Value between 1Mhz and 50Mhz. Default is 10 (10Mhz).
- -delay Specify how many milliseconds to render each video frame.
- Value between 1ms and 1000ms. Default is 20ms (50 FPS).
- -slowsys If your machine is very slow and have audio dropouts. Affects audio quality.
- If you still have dropouts, then also decrease sample rate and/or increase latency.
- -multithreaded # Enable multithread processing.
- -resw # Set constant SDL window size width in pixels.
- -resh # Set constant SDL window size height in pixels.
- Default width and height is 0 and set automatically.
- -render # Set render scaling quality mode for SDL window renderer.
- 0 = nearest (fastest low quality).
- 1 = linear (quick good quality).
- 2 = best (slow best quality) (default).
- -sndsource Enable Disney Sound Source emulation on LPT1.
- -latency # Change audio buffering and output latency. (default: 100 ms).
- -samprate # Change audio emulation sample rate. (default: 48000 Hz).
- -console Enable debug console on stdio during emulation.
- -menu Enable window menu for changing emulation settings.


## Usage with Raspberry Pi
Raspberry Pi models 1,2,3 and 4 are supported but models 3 and 4 may still need improvement.
Expand All @@ -70,6 +109,28 @@ An additional floppy drive (fd1.img Drive B:) can also be used if included on th
The emulator also supports booting hard disk images (hd0.img Drive C:) (hd1.img Drive D:).
USB keyboard and mouse should be plugged in before booting and must not be removed once detected.

# Building and Compiling Sources
There is currently not a quick and easy way to expalin the build process, but if you are familiar
with C++ and make files then the process should not be too much of a problem for you.
You are very much on your own for compiling as there are far too many factors involved that can
cause a build to fail.

## Compiling for Windows
The Win32 build was compiled with Mingw and the [Dev-C++ v5.11](https://www.bloodshed.net/) IDE.
Dev-C++ is not a very modern IDE and was replaced with [Code::Blocks](https://www.codeblocks.org/) IDE.
A Dev-C++ project file is included with the sources for compiling your own build or you may import and
compile the sources using another preferred IDE.

# Compiling for ARM Raspberry Pi
The ARM build was compiled using the latest [ARM Toolchains](https://gnutoolchains.com/raspberry/).
The platform used was Raspbian Bullseye with the all the latest build tools and toolchains.
This is not a quick and easy setup to get working and there are many extra libraries required
for a sucessfull build.

Along with all the build tools and toolchains, the [C++ Circle SDK](https://github.com/rsta2/circle) is
also required for the Raspberry Pi build to be successful. THe Circle SDK requires some #defines to be
set for the correct Raspberry model being targetted. The makefile is pre-configured for Raspberry Pi 1.

# Credits
Faux86-remake was originally based on the Fake86 emulator by Mike Chambers and James Howard.
Most of the code has been updated and re-written in C++ but the core CPU emulation remains mostly the same.
Expand Down

0 comments on commit c45a119

Please sign in to comment.