You are right, it goes way ahead the first iteration. I call it DOS-like because of its resemblance to the Text mode-only operating systems (and to MS-DOS especially). On the other hand, it shares very little as the architecture, command set, or hardware utilization approach are concerned when compared to MS-DOS.
Well, the point is to experiment with Rust no_std+no_main environment while trying to educate myself on how the things work under the hood. The project itself is part "just" a rewritten system (from C to Rust), and part an enhancement of such system furthermore. It lacks the external program execution though yet.
NGL, the codebase of the first iteration is pretty much a mess. It had been written in my mid-teenage years, so the C code is not very consistent across the project. There is a filesystem prototype written in Go as well... Also, it is quite complex to even compile RoureXOS: it needs Borland TCC and TASM (ca 1989 btw) to properly build a 16bit executable(s). It is feasible to compile it using DOSBox though. Maybe some day I could open source that one repository too.
The x86 arch is used because this system iteration derives from the first one, which relies on BIOS interrupts and inline assembly in Turbo C. I am not trying to mimic (MS-)DOS exclusively, but both systems are highly inspired by it.
IMO multiple archs could be supported as Rust compiler allows the target arch specification, so one would build a specific target before the build itself.
For FAT12, it reads the first sector (0 or bootsector) of the floppy provided to gather information like bytes per sector, reserved sectors count, LBA of the root directory, etc.
Booting from an EFI system partition has not been tested yet. FAT12 is the only filesystem (ok, there is a memdisk implementation, but it won't work now) supported, so GPT is not supported at the moment too (yet). Kinda aiming for FAT32 implementation to be the very next implemented (flash disks are usually FAT32 iirc). Not sure about the last question: the OS utilizes/directly writes to the VGA buffer in memory, the provided resolution is 80x25 by GRUB.
You are right. The first iteration however is 16bit and is very close to MS-DOS in terms of compatibility. Moreover, any OS that can handle simple disk I/O ops could be considered a DOS system too, innit?