Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Simulator for x486

0 views
Skip to first unread message

Helge Kruse

unread,
May 17, 2008, 6:28:30 AM5/17/08
to
Hello,

I am working at a boot loader for a x486 CPU. The CPU starts from Flash in 8086 real mode initializes the GDT, jumps to protected
mode and sets up the chip set, DRAM controller etc.

Is there any simulator where I can single step the opcodes out of the flash rom image? Host operating system ist Windows XP, Linux
would be possible but harder to set up.

/Helge

--
Time is an ocean but it ends at the shore.

Ben Peddell

unread,
May 20, 2008, 7:34:32 AM5/20/08
to

Helge Kruse

unread,
May 20, 2008, 3:03:31 PM5/20/08
to

"Ben Peddell" <spam...@crayne.org> wrote in message news:g0ucsj$1fa0$1...@otis.netspace.net.au...

>> I am working at a boot loader for a x486 CPU. The CPU starts from Flash in 8086 real mode initializes the GDT, jumps to protected
>> mode and sets up the chip set, DRAM controller etc.
>>
>> Is there any simulator where I can single step the opcodes out of the flash rom image? Host operating system ist Windows XP,
>> Linux would be possible but harder to set up.
>>
>
> BOCHS <bochs.sourceforge.net>

Ben, thanks for reply. I found in chapter four of the Bochs manual

These are the minimum requirements for running an OS inside of Bochs:


a.. the Bochs executable

b.. the BIOS image (usually called BIOS-bochs-latest)

c.. the VGA BIOS image (e.g. VGABIOS-lgpl-latest or VGABIOS-elpin-2.40)

d.. at least one bootable media, either as disk image (floppy, hard disk or CD-ROM) or physical disk (floppy or CD-ROM)


Unfortunately I only have some bytes that should be fetched from the flash device. Are you sure you can convince Bochs to skip the
VGA and the boot media? Can you give a hint?

Best regards,
Helge

Alexei A. Frounze

unread,
May 21, 2008, 4:17:42 AM5/21/08
to
On May 20, 12:03 pm, "Helge Kruse" <spamt...@crayne.org> wrote:
> "Ben Peddell" <spamt...@crayne.org> wrote in messagenews:g0ucsj$1fa0$1...@otis.netspace.net.au...

You have Bochs' source code. Also the BIOS comes as a separate binary
file. Either by changing the source or the BIOS (to that of yours) or
both you should be able to use Bochs as a CPU emulator only (provided
you keep the interrupts disabled). Think about it, the BIOS is the
first thing the CPU starts to execute. Where does that happen? The
80486 CPU has a hard-coded address at which it starts code execution
after reset. That is at 0F000H:0FFF0H (CS:IP) or 0FFFF0H physical. It
should be the same address in your system.

Alex

0 new messages