Next Generation Emulation banner
1 - 4 of 4 Posts

·
Premium Member
Joined
·
6,071 Posts
Discussion Starter · #1 ·
Lately, I've been having computer problems (with my notebook), meaning I won't be able to work on some of my emulation projects for a while (because they use .net 2008 and I can't get that on my desktop) :( In the mean time, I think I'm going to take Shizzy's advice, try emulating an old x86 pc architecture (i.e. i8088, i8086, 186, 286, 386, Pentium MMX, etc.) until HP fixes my notebook (which may take a while). The idea of the emulator is to allow the user to choose what hardware he want to emulate (i.e. CPU, GPU, SPU, etc.). Something a little different than what most PC emulators implement.

So far I haven't been able to gather information on the hardware necisarry to emulate a PC, but I have gathered some documentation on certain hardware, but I don't know where to look for others (I've been at this for a while now). Here's a list of what I do/don't have:

Do:
- CPUs (i8088, i8086, i80186, Pentium)
- Memory map for i8088, and i8086 PCs
- VGA hardware
- Some 3D accelerators (Riva128 and Voodoo 1, Banshee, 2, and 3).
- 3D accelerator's BIOS for all the above except Voodoo 1 which has no BIOS.

Don't:
- CPUs (i286, i386, i486)
- Interrupt controller (PIC)
- Input devices (i.e. keyboard, mouse)
- Floppy disk drive
- CD Drive
- Hard Disk Drive
- BIOS details
- Sound hardware

Hopefully there isn't anything I've been missing here. Also, I don't expect this to be an easy task either, but I want to continue to keep up a good knowledge of x86 architecture emulation. The reason I got the information on the 3D accelerators was because I've never seen a PC emulator emulate any video cards other than a standard VGA card. I have full documentation on the 3Dfx Voodoo, but getting enough information on the NVIDIA Riva128 to actually emulate it was painfully hard, but I did it though.

Any links/ideas? Thanks.
 

·
Read Only
Joined
·
0 Posts

·
Emu author
Joined
·
1,488 Posts
I second osdev.org, I used it years ago when writing a kernel. You might need more information for the floppy disk controller. There are tons of them, mostly compatible with the original NEC µPD765. When I was writing a floppy driver I used the manual for the Intel 82077AA as a reference. That is the chip used in the IBM PS/2. This was because I found the unofficial references to be inadequate, but the situation may have changed since then.

In fact, just about all of the components should have official data sheets and/or programming manuals available.

For starting out I would say forget emulating the BIOS and require an image.
 

·
Read Only
Joined
·
0 Posts
I wrote a really tiny [and crappy since I still don't get OS dev that well] kernel as well once. That took just about all the skill I could muster[I managed to get it to go into Protected mode, have the GDT and all that(sort of cheated by having GRUB set it up, then set it up myself to known values), but no memory management or tasking[not even single :lol:].. @[email protected]; Anyway, I'll keep posting up stuff as I come across it. :)
 
1 - 4 of 4 Posts
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top