diff --git a/README.md b/README.md index 524a51e..b7b9b55 100644 --- a/README.md +++ b/README.md @@ -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: @@ -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. @@ -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.