169
submitted 1 year ago by nsp@lemmy.sdf.org to c/technology@beehaw.org

NtDoom running inside the Windows kernel.

top 30 comments
sorted by: hot top controversial new old
[-] CatBusBand@beehaw.org 44 points 1 year ago

The tenacity of Doom players to make the game run on everything is amazing

[-] taanegl@lemmy.ml 13 points 1 year ago

It's not just about being DOOM players. It's a long running joke in the programming and engineering world. Wether it's a fridge, a toaster, a decommissioned 1970s super computer... can it run DOOM?

It's the computing world's version of a shitpost.

[-] ByteSorcerer@beehaw.org 5 points 1 year ago

The main reasons why it's Doom specifically are also because:

  • The game is open-source: https://github.com/id-Software/DOOM/pulls?q=is%3Aopen+is%3Apr This makes it much more doable to port it to other platforms (and to strip out anything not absolutely required to get the first level to run when you run into technological limitations) than when you have to rely on unofficial modding tools.

  • It's nearly 30 years old and designed for computers with only a few megabytes of memory and for processors of well under 100MHz, which are specs which the majority of modern systems have, even embedded systems. It also renders fully on the CPU and doesn't require specific hardware like a GPU or a specific graphics chip.

  • Being a first person shooter with 3D-ish visuals it looks a lot more impressive than if you show off a simple game like Pong orTetris or something like that. It has the right balance between performance requirements and impressiveness, and it's also a game that was very popular in its time and it's instantly recognisable to a lot of people.

[-] Helix@beehaw.org 5 points 1 year ago
[-] darkmugglet@lemm.ee 3 points 1 year ago
[-] chinpokomon@beehaw.org 4 points 1 year ago

That's a different game. Built on a modified Doom engine.

[-] Bjoern_Tantau@feddit.de 20 points 1 year ago

This is so stupid. I love it!

[-] testman@lemmy.ml 19 points 1 year ago* (last edited 1 year ago)
[-] nsp@lemmy.sdf.org 9 points 1 year ago

I want a version of psDoom - but for browser tabs!

[-] karbonkel@beehaw.org 2 points 1 year ago

Didn't they also get it to run on a pregnancy test?

[-] aperson@beehaw.org 4 points 1 year ago

No. A pregnancy test that had a screen was used as a display for doom gifs when hooked up to a much larger computer.

[-] jarfil@beehaw.org 4 points 1 year ago

IIRC, the screen wasn't even from the pregnancy test, just a small OLED one stuck inside the case.

[-] irdc@derp.foo 3 points 1 year ago

The pregnancy test merely provided the case. Looked cool though.

[-] uint8_t@beehaw.org 15 points 1 year ago

Your scientists were so preoccupied with whether or not they could, they didn’t stop to think if they should.

[-] reclipse@lemdro.id 12 points 1 year ago

Can we run Doom on printers?

[-] M_Djallo@feddit.it 7 points 1 year ago

I'm ignorant, but what does this means? I mean, what's the difference running it "in the kernel" and running it normally on windows?

[-] LedgeDrop@lemm.ee 24 points 1 year ago

Windows (and most other operating systems) have a "user land" and a "kernel space".

"user land" is where all your applications run. A "user land" application can only see other applications and files owned by the same user. Eventually, a user land app will want to do "something". This can be something like read a file from disk, make a network connection, draw a picture on the screen. To accomplish this, the user space app need to "talk" to the kernel.

If user space apps were instruments being played in an orchestra, the kernel would be the conductor. The kernel is responsible for making sure the user land apps can only see their respective users files/apps/etc.

The kernel "can see and do everything", it reports to no one. It has complete access to all the applications and every file. Your device drivers for your printer, video card, ect all run in "kernel space".

Basically, the OPs link: they've ported Doom to run effectively like a device driver. This means that if doom crashes, your PC will blue screen.

This has no practical purpose, other than saying "yeah, we did it" :)

[-] Technoguyfication@lemmy.ml 7 points 1 year ago

Print drivers in Windows have actually been in userspace for a while now. That’s why the cheap drivers that come with your $40 Inkjet from Walmart don’t cause bluescreens anymore.

[-] M_Djallo@feddit.it 4 points 1 year ago

Thank you both for your reply! Now I got it!

[-] darkmugglet@lemm.ee 3 points 1 year ago

And that is the sheer absurdity: doom as a device driver. Sheer and unabashedly luncacy, because why the fuck not. I approve

[-] Gradinko@kbin.social 17 points 1 year ago

It means that all the code is running in privileged kernel mode instead of user mode. Kernel mode is usually reserved for the operating system and device drivers only. If code running in kernel mode has an unhandled exception or error, the entire system will crash. This creates the BSOD or “blue screen of death” on Windows.

User mode is less privileged and where all your typical applications run. If something crashes in user mode, it only crashes that process, not the whole system.

It’s a crazy thing that they did. Very impressive technically, but not really useful.

[-] AnarchistArtificer@slrpnk.net 3 points 1 year ago

Very impressive technically, but not really useful.

Those are my favourite kinds of shitposts. I find them legitimately beautiful

[-] peter@feddit.uk 2 points 1 year ago

Forgive me if this is a stupid question but why is it technically impressive? Is it not just the same as running it in usermode but with higher privileges?

[-] BarryZuckerkorn@beehaw.org 15 points 1 year ago

The API is much more limited for kernel mode, because Microsoft doesn't want to make it easy to crash the kernel. So it's not just a matter of taking old DOS code and making Windows run it in an old compatibility layer, but actually requires translating the whole thing into a much more limited set of commands to properly draw the graphics and respond to user input.

It's impressive like being able to play the French horn without using the valves, or painting beautiful pictures using only a mechanical typewriter. It's being able to do something that is trivially easy with normal tools, but with such a limited toolset that the accomplishment itself is impressive.

[-] Mummelpuffin@beehaw.org 6 points 1 year ago

I really want to see someone get Doom running in Emacs. I've tried to figure out if anyone has but of course what actually comes up is "Doom Emacs" which is a specifically customized version of it.

[-] ManyShapes@beehaw.org 2 points 1 year ago

Its not emacs, but i think mezzano has doom running on it.

[-] darkmugglet@lemm.ee 1 points 1 year ago

I am pretty sure that your goal qualifies as evil chaotic. Not because the game is evil, but because the platform is Emacs. I mean, everyone knows it's Vim.

[-] Mummelpuffin@beehaw.org 3 points 1 year ago

Emacs literally calls it's Vim emulation Evil mode :)
In all seriousness though, I say Emacs mostly because being a Lisp machine, it's turing-complete. There's web browsers in Emacs, PDF readers, email clients, EXWM is literally Emacs as your window manager.
Also what I've realized recently is... Vim keybindings aren't even that great beyond being modal, anyways. Some dude made an Emacs plugin called Xah-Fly-Keys that makes it modal, but works off of what commands are used often rather than how Vim does stuff like making the "go to the end of the line" key $ for some reason. With Emacs being something you can sort of just live in, I can bring my workflow into it rather than praying that what I'm using has vim key support.

(Fuck I'm participating in the editor wars, fuck my life)

load more comments
view more: next ›
this post was submitted on 08 Jul 2023
169 points (100.0% liked)

Technology

37208 readers
244 users here now

Rumors, happenings, and innovations in the technology sphere. If it's technological news or discussion of technology, it probably belongs here.

Subcommunities on Beehaw:


This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.

founded 2 years ago
MODERATORS