
Show HN: ExDOS 64-bit version source code release - omarrx024
Hi! I&#x27;m just posting to announce the release of the source code of the 64-bit version of my hobby OS, ExDOS. My site is here: http:&#x2F;&#x2F;exdos.co.nf&#x2F; and my source code is on GitHub: https:&#x2F;&#x2F;github.com&#x2F;omarrx024&#x2F;exdos64
It&#x27;s licensed under GNU GPL v3 and has many improvements over it&#x27;s old 32-bit version. This one has a truly functional ACPI driver on real hardware, a window-based GUI, a real disk driver independent of BIOS, and some other things.
======
groovy2shoes
Looks really cool.

One thing, though:

> tiny

> RAM: 64 MB required, 192 MB recommended.

That doesn't seem particularly tiny to me. I have an old Pentium II box with
32 MB of RAM that runs the latest release of OpenBSD with X, and I don't
consider OpenBSD particularly tiny, either.

At risk of sounding like a crotchety old man, these are sad times to be living
in when 64 MB is considered tiny.

~~~
astrodust
Classic DOS barely took up _kilobytes_ of memory. I think that qualifies as
"tiny". Megabytes is downright bloated by comparison.

Considering this is written in assembly, what is all that memory used for?

~~~
yincrash
Well, for one thing, it's a graphical OS.

~~~
groovy2shoes
What does that have to do with anything? Windows 3.1 had a minimum RAM
requirement of 1 MB. The base model of the Apple Lisa 2, which featured a
graphical OS, had 512 KB of RAM. It's possible to have graphics without
requiring so much RAM.

------
analognoise
This is amazing, good work!

Can I ask what references you used to figure out how to write certain pieces
of this? There is a torrent of information online, but you've probably got a
very good (curated) set of links or books that you recommend.

~~~
omarrx024
Well, I've never read a real book about OS development. But I can recommend
the OSDev Wiki and Forum, and of course the specifications of everything you
need. I've used Intel's Development Manual Volume 3 as reference, as well as
ACPI's specification, and some others.

------
nekopa
[https://github.com/omarrx024/exdos64](https://github.com/omarrx024/exdos64)

Maybe someone could change this to a Show HN?

~~~
dang
Sure, we've added that to the title.

------
brudgers
Related:
[https://news.ycombinator.com/item?id=10045254](https://news.ycombinator.com/item?id=10045254)

~~~
omarrx024
That OS is also developed by me, but it was 32-bit and had design issues. So I
redesigned it and rewrote it in 64-bit and here it is.

~~~
brudgers
Thanks, That was my guess. I posted the link to add context and because the
progress since is pretty awesome.

------
guilloche
Very impressive. Maybe it can be used in unikernel with freestanding
applications.

Some Suggestion: do not focus on GUI at first, since it will not be usable
soon as desktop OS anyway.

I could imagine that a barebone ExDos to manage multiple unikernel ExDOS
virtual machines as web services is quite useful.

Any comments?

------
ams6110
According to about page on his website, the author is "a 14-year old computer
hobbyist."

Quite impressive!

------
vmorgulis
Very cool!

It (almost) runs on copy.sh V86 emulator:
[https://copy.sh/v86/](https://copy.sh/v86/)

I see the boot process with dots (like linux) and after I have the following
message with a red background (if that can help):

    
    
        ExDOS64 version 0.01 built 26.03.2016
        =====================================
        Boot error: CPU is not 64-bit capable...
    

The last lines of the Javascript console:

    
    
       [CPU ] mode=real/16 paging=0 vm=0 iopl=0 cpl=0 if=1 cs:eip=0xF000:0x0000FFF0 cs_off=0x000F0000 flgs=0x202 ss:esp=0x0000:0x00000F32 log.js:13:9
       [CPU ] far return eip=0x0000CB01 cs=0xF000 stack_adjust=0x0

~~~
omarrx024
It clearly says "Boot error: CPU is not 64-bit capable..." which means your
CPU is not 64-bit. The V86 emulator doesn't support 64-bit mode and so can't
run ExDOS.

------
ludamad
Is it able to run user-created programs? And if so, with what tools?

~~~
omarrx024
Not yet, because I am rewriting the multitasking subsystem.

------
TazeTSchnitzel
Reminds me of MenuetOS.

~~~
mixmastamyk
Would be cool to have a tiny OS run in the boot manager.

