byteduck/duckOS

[QUESTION/BUG] Can it run doom?

Closed this issue · 5 comments

Information

Base on the README, I know that it can but I'm unable to do it. Not sure where the .wad file shall be located - I put it inside the doom.app folder alongside with app.conf, doomgeneric. Running Doom, freezes the whole duckOS.

Logs

[0.0000000] [kinit] [INFO] Starting duckOS...
[0.0000000] [CommandLine] [INFO] Command line options: 'kernel/duckk32 '
[0.0000000] [VGA] [INFO] Found a bochs-compatible VGA device at 0:2.0
[0.0001952] [PATA] [INFO] Setup disk QEMU HARDDISK using DMA (296960 blocks)
[0.0007808] [AC97] [INFO] Found AC97 sound card at 0:4.0
[0.0238144] init(1) [SUCCESS] Welcome to duckOS!
[0.0241072] init(1) [INFO] Starting service Pond...
[0.0243024] init(1) [INFO] Starting service Quack...
[0.0668560] pond(3) [INFO] Display opened and mapped (1080 x 720)
[0.0705648] pond(3) [SUCCESS] Pond started!
[1.0095648] pond(3) [INFO] New client connected: 63b5bb0a
[3.0944768] pond(3) [INFO] New client connected: 23a3dc88
[28.0637328] pond(3) [INFO] New client connected: aeaa9655

Screenshot

image

Environment

  • Win10/WSL2
  • Qemu 7.0.0

To Reproduce

  1. run ./ports.sh doom
  2. Put wad file with rest of the files (in my case doom2.wad)
  3. build duckOS
  4. run doom (in my case from the duck menu)
  5. black window & OS freezes

Additional context

Is it possible to enable more logs in duckOS to provide extra info about this situation?

It shouldn't freeze the whole OS, but that's a separate scheduling bug that happens in a few places that needs to be taken care of.

As for the WAD file, it should be placed in /apps/doom.app. It's also case-sensitive, and I believe it looks for files with all-caps .WAD, IIRC. I believe doomgeneric will output its search path if you run it in the terminal with open /apps/doom.app.

image
After printing those lines - everything stops.

That is quite strange - I'll see if I can repro this in a bit.

It does appear as though this does happen when DOOM cannot find a valid WAD file - I thought it printed out search paths, but I guess I was wrong. I'm able to get DOOM to launch by placing a valid DOOM1.WAD into user/apps/doom.app (relative to the root of the project directory). There are certain WADs floating around that doomgeneric can have trouble reading, so try another if yours doesn't work.

Regardless, it shouldn't freeze the whole system - but that's more of a scheduling issue than an issue with DOOM itself.

@byteduck works with DOOM1.WAD. Thx

image