I'm sorry, but this just sounds like quitting before you start.
For example, I've looked into emulating DOS, because I don't like the existing emulators. But I don't need to emulate floppy disk drives, or their drivers, or their hardware cards. I just write some software that can fake a disk drive and hook it to the I/O interrupts. That would be a simple project.
There's nothing sophisticated about DOS.
In hindsight, I'm baffled that it took many many years for people to develop clones of DOS.
For example, EDLIN. A trivial program. I'd write it in a high level language like D, get it to work, then hand-translate it to asm. The executable loader is absurdly simple. And so on.
For example, I've looked into emulating DOS, because I don't like the existing emulators. But I don't need to emulate floppy disk drives, or their drivers, or their hardware cards. I just write some software that can fake a disk drive and hook it to the I/O interrupts. That would be a simple project.
There's nothing sophisticated about DOS.
In hindsight, I'm baffled that it took many many years for people to develop clones of DOS.
For example, EDLIN. A trivial program. I'd write it in a high level language like D, get it to work, then hand-translate it to asm. The executable loader is absurdly simple. And so on.