Preferences

Memory-safe language. x86_64, with Arm on the roadmap. Networking stack. Boots from a CD and via multiboot. Your hobby project wipes the floor with DOS.

Whoa there. Gotta run Doom and BASIC to compete with DOS. That is the officially recognized DOS-Kármán line.
krustowski
What a challenge! Need to implement some interrupts it seems then, to provide an API for filesystem and so... Thank you for such idea
Doomgeneric has a very thin platform-specific layer: https://github.com/ozkl/doomgeneric?tab=readme-ov-file#porti...
jmspring
I want some TSRs and print spoolers...
rollcat OP
DOOM required DOS 5.0. rou2exOS is only the second take. Watch this area ;)
Borland languages and xBase ecosystem as well
jdsully
Nobody cares about Lotus 1-2-3 support any longer :)
jmspring
What about Wordstar?
RoyTyrell
The text editor JOE has a WordStar mode.
hans_castorp
WordPerfect was better anyway :) (SCNR)
mycall
also, can't be a dos with the 'dir' command.
krustowski
Afaik there is a 'DIR' command in MS-DOS. Anyway, what would be a better command to list a directory? I could think of 'ls' maybe
I would most likely end up with something like this:

  CAT          CATalogue - output the contents of current directory
  RM           to Raster Memory - load contents of named file in framebuffer
  MV           Make Virtual - map the file into memory and output the address
  LS           Load System - attempt to reboot using the named file as the kernel
  CD           Create Directory - self-explanatory
  SH           System Halt - immediately stop all processing
...and so on.
OccamsMirror
I suggest:

    RM           Relocate me - you could also use the "-rf" flag to relative fuzzy matching, for instance `rm -rf tmp` to find any temp-like folder near your current location. Pretty standard stuff.
    CD           Clear data - `cd -L /temp` would "liquidate" the directory.
This would be a much simpler command interface.
To create a file, we should take inspiration from TOPS-10 and call the command `make` [0]. When issuing `make love`, it should ask for confirmation to the user: `not war?`.

[0] https://en.wikipedia.org/wiki/Easter_egg_(media)

anyfoo
Very good design. Implements only the essential tasks an operator would need with concise and well-known mnemonics. I’m sure this will be immediately intuitive to anyone, with no potential for mistakes whatsoever.
stuaxo
CAT was on the Amstrad CPC.
koziserek
Love it.
As someone old enough to have started on MS-DOS 3.3, dir has been there all time.
CATALOG, DSPFLR, Get-ChildItem
guestbest
It would seem to logically follow that a Disk Operating System would have a directory list utility for disks like ‘dir’. It was there in the first version called 86 DOS.

https://en.m.wikipedia.org/wiki/86-DOS

AndrewDavis
`dir` was also in CP/M. Though it didn't have a concept of a file hierarchy, so it listed all files on the disk (but did support supplying a pattern to filter against).
MoonGhost
> Rust and x86 assembly

then

> Memory-safe language.

What's the point? Looks like today Rust is like 3D printing was. As if it makes something better. Printing was hyped and advertised by printers sellers and manufacturers. Finally they run out of money.

As for project, it's cool if compatible with old soft. Otherwise suitable mostly for education and masochism. Long way to become practical anyway even if it gets traction.

whytevuhuni
The idea of Rust is not that it is 100% safe, but rather that it is able to encapsulate unsafety and divide the program in two parts:

- unsafe code plus modules that support it (the "trusted base")

- all the rest

Rust's promise is that there is no way to trigger any undefined behavior from bugs happening in "all the rest" of the code. If that code makes for more than 95% of the total, then that's a huge win compared to a completely unsafe language.

Also, Rust's support for inline assembly is in my opinion better than C's, it's much easier to specify and figure out the constraints on the boundary between Rust/assembly.

unchar1
You can write memory safe code in any language, but having a machine i.e. the Rust compiler check it for you is less error-prone than if a human does it.

Also if you look at the repo, only 3% of the codebase is in Assembly. IMO if >95% project is in Rust, you can definitely claim it's a Rust project.

PaulDavisThe1st
Finally, a positive comment about Rust that I can 100% agree with :)
krustowski
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.

This item has no comments currently.