Skip to content

Latest commit

 

History

History
35 lines (28 loc) · 2.22 KB

README.md

File metadata and controls

35 lines (28 loc) · 2.22 KB

avr-x86

What is this?

AVR-x86 is a 8086+ emulator running on AVR Arduino. This project is originally forked from https://github.com/corax89/Arduino_8086_emulator Proteus simulation
As you can see in the image, AVR-x86 is running Brainfuck written in 8086 assembly,

How?

AVR-x86 is based on Fake86's core, ported to AVR by corax89. In the original version, binary is stored in a RAM array, then boot up and execute it. But AVR-x86 load the binary stored in a SD card to a virtual RAM file on the SD card. So you can have more RAM for the emulator than the AVR hardware's. That also means AVR-x86 can execute larger binary file!
It takes about one minute to load a 200K file.

Why?

For fun. It just a toy.

From dmitry.gr:

It is common to see newbies asking in microcontroller forums if they can run Linux on their puny little 8-bit micro. The results are usually laughter.

Todo

  • Write an bootloader for floppy disk files on SD card, not just executing one file at a time.
  • Reduce the sketch file
  • Boot more things
  • ...

If you have any ideas, you can open an issue and tell me!

Some other projects releated to this

Configs

There are configs macro inside config.h. You can follow the instructions in that file.
Notes: You can enable more feature if you has more flash and RAM, but for Arduino UNO, you can only enable ONE_USE for now (autoload the file when boot, no bootprompt!).