Coder Social home page Coder Social logo

cttynul / f86-dos Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jhhoward/faux86

3.0 2.0 0.0 8.48 MB

๐Ÿ’พ MS-DOS running on an 8086 and 80186 bare-metal emulator for Raspberry Pi

License: GNU General Public License v2.0

C++ 50.40% C 49.37% Makefile 0.23%
80186 8086 bare-metal dos msdos msdos-emulator raspberry-pi raspberrypi

f86-dos's Introduction

F86-DOS

Powered by Faux86: A portable, open-source 8086 PC emulator for bare metal Raspberry Pi

F86-DOS is an "Operating System" powered by Faux86 designed to be run bare metal on a Raspberry Pi. This means that the emulator runs directly on the hardware so no OS needs to booted on the Pi.

Features

  • 8086 and 80186 instruction set emulation
  • CGA / EGA / VGA emulation is mostly complete
  • PC speaker, Adlib and Soundblaster sound emulation
  • Serial mouse emulation

Installation

  1. Download Release
  2. Flash it on a small SD card using Balena Etcher or Win32DiskImager
  3. Profit

Usage with Raspberry Pi

By default Faux86 boots from a floppy image dosboot.img, and filename is hardcoded in kernel.cpp

Since MS-DOS is accessing the SD card directly, it does not work for large SD card types. I have found the best solution is to use a small capacity SD card and flash the image as a 32MB card.

USB keyboard and mouse should be plugged in before booting - hot swapping of devices is not supported.

Partition scheme

  • A:\ MS-DOS Read-Only floppy image.
  • C:\ SD card; system file, kernel, etc, files are hidden to make partition easier to be browsed.
  • D:\ Any attached mass storage device.

Features

MS-DOS boot up from dosboot.img floppy image, with some out-of-the-box customiztion you may like to know:

  • C:\AUTOEXEC.BAT you can easly edit it using edit; that's the main reason why I forked this repo.
  • PATH All executables included into MS-DOS floppy drive are in PATH.
  • KEYBOARD.SYS Missing layout definition.

Compatibility

  • Raspberry Pi [A, B, A+, B+]
  • Raspberry Pi 2 [B]
  • Raspberry Pi 3 [A+, B, B+]
  • Raspberry Pi Zero

Where're Raspberry PI 4 and Raspberry PI 400?

I've never bought a PI 4 and/or the Commodre-Vibes PI400; so can't test it all but jepalza did and released binaries on Raspberry PI Official Forum!

  • Download - The one originally published by jepalza | drive.google.com
  • Download - The mirror on this repository | github.com

By the way if you got an RPI4 I suggest you to install DOSBox on RaspberryOS (formerly Rasbian) and make it start at boot; Faux86 is not able to run anything compiled for 386 architecture and it official support up to 186; instead of DOSBox that can run over the 98% of DOS-Softeca.

My Setup

I mainly forked originally repository cause of many software-related lack of features I've already mantioned in Features, like: missing keyboard definition, missing autoexec edit feature, etc.

I run this on an old Raspberry PI 1 Model B, the last one with analog video out with a 512mb SD card; it's just funny to spend a nice DOScember and running some old DOS software; for gaming pruposes I use different hardware and different software.

If you have my same setup and you want to connect RPI to an old analog monitor edit config.txt in SD root as follow:

hdmi_ignore_hotplug=1 # Ignore HDMI Output
sdtv_mode=0 # Set NTSC

Where sdtv_mode value can be different depending on encoding system used by your TV or Monitor.

Value Encoding
0 NTSC
1 JAP-NTSC
2 PAL
3 BR-PAL

Credits

  • Faux86 has been developed by John Howard
  • Faux86 was originally based on Fake86 by Mike Chambers; now developed as XTulator. A lot of the code has been shuffled around or rewritten in C++ but the core CPU emulation remains mostly the same.
  • Circle to interface with the Raspberry Pi

License

Released under GNU General Public License v2 as per LICENSE file stored in this repository.

f86-dos's People

Contributors

cttynul avatar jhhoward avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.