![]() It expects disk geometry of 16 heads, 63 sectors. You can make your own image if you want using another emulator. Just write it directly to an SD card with something like HDD Raw Copy. Here's a sample hard drive image with DOS 6.22, Windows 3.0, and a few 80's games. 256 KB SPI RAM chips CS lines should be on pins 25, 26. You can actually use this without SPI RAM if you don't have any, but you'll be limited to 231,424 bytes of RAM in the emulator. If you're wondering why it's called "zero86" it's because I was starting to develop it for the Arduino Zero and never changed the name. I haven't taken the time to clean it up, but if I don't release it now, I probably never will get around to it. It's pretty messy after lots of experimenting. The only libraries I used are the optimized ILI9341 lib by Paul, and the SPIRAM24 library by FemtoCow. It also looks like I can't edit the original post, so I'll put the code here. If there's any interest in that, I can release it too. I was using it to run a web browser and an IRC client on this. The PC program uses pcap and forwards packet data between the Teensy and your real network. It also allows the Teensy emulator to have a makeshift emulated Ethernet adapter, which I wrote a DOS packet driver for. The "advanced client" is a PC program I wrote that could be used as a display and keyboard instead of using an LCD and PS2 keyboard. The emulator actually runs a bit faster than it shows in these videos, as tonight I realized I had it compiled with the "ADVANCED_CLIENT" define, which causes it to send all video memory updates through the UART. I'll give them a try tonight and see how it goes. Thanks for the info, I wasn't aware of those options. My soldering is terrible, and sorry for the shaky video. It's been a while since I wrote this, and want to make sure I remember all the different libraries used so I can link to them. If anybody is interested in the code to create your own or hack it up a bit, I'll be sharing it probably tomorrow. The main thing slowing it down is waiting for SPI communications with the RAM and LCD. ![]() That was really aimed at 286+ anyway though. ![]() Some other software is pretty painful, like Ultima 6. It's no speed demon, but it runs well enough for MOST old programs you'd have come across in the 80's when overclocked to 240 MHz. It uses raw access to an SD card as a hard disk. It supports CGA graphics on an LCD screen and lets you plug in a PS2 keyboard. It uses as much fast native RAM as it can, but then digs into SPI RAM to complete the 640 KB range you'd find in an old PC. Like the title says, it's an 8086 (actually 80186) PC emulator based around a Teensy 3.6. Turns out AVRs don't make the best CPU emulators! Thanks to Paul for putting out these great little boards! I originally tried this with an Arduino Mega2560. So, I ripped the CPU core and a few other bits out, and got to work. I wrote a PC-based PC emulator some years ago, and later wanted to see how it worked on a microcontroller. Hi all! This is something I did last year, but thought I'd finally share.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |