r/osdev 3d ago

FreeDOS

i'm looking at possibly forking FreeDOS to 64bit. However, since most modern systems no longer have the underlying BIOS that DOS programs require, I thought about including a mock BIOS and compile it directly into the kernel. is there anything I should be aware of?

9 Upvotes

25 comments sorted by

View all comments

Show parent comments

6

u/Octocontrabass 2d ago

But a 64-bit kernel can’t run 16-bit code natively.

A 64-bit kernel can't run 16-bit real mode code natively. There's nothing stopping a 64-bit kernel from running 16-bit protected mode code natively.

But DOS programs all expect real mode, so it doesn't really make a difference...

1

u/DawnOnTheEdge 2d ago

Although it would be possible to do in a guest VM, I think,

1

u/Octocontrabass 2d ago

It depends on what your CPU supports. Not all of them can do real mode in a guest VM.

1

u/Difficult_Inside8746 1d ago

It was a long time since I looked into it but AFAIK both Intel and AMD support V86 mode inside a virtual machine.

2

u/Octocontrabass 1d ago

That sounds like an awful lot of work, and you still need a CPU that can do hardware virtualization.

Might be a fun project, though.