VOGONS


A DOS gaming operating system for old and new machines.

Topic actions

Reply 100 of 131, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
gsos wrote on 2026-09-24, 02:51:

Hi LSS,

The idea is that there is also a windowed mode shared with windows/os2/(maybe linux) personality, the windows are not properly framed yet. And not everything properly wiped indeed. A lot of TODO's. Anyway I added EGAFIX/NEWAX and pnp initialization as well as the dISAppointment LPC sequence. Maybe retroos could properly unlock your sound blaster on your interesting setup. Also other FAT/EXT4 partitions are hopefully mapped as E: F: G:

Use https://github.com/gerben-stavenga/RetroOS/re … ses/tag/retroos retroos-usb-diagnostic.zip . Of course I don't know still why it hangs at that weird spot

I just checked the commit. Looks interesting.

As for dISAppointment LPC sequence (based on SAPPHISA) I'm afraid I won't be able to test that as-is, since it's hardcoded to 6/7 series for now. My current systems with dISAppointment are mainly of 8/9 series including X99.
The default I/O forwarding ranges by SAPPHISA are strictly meant for Creative Sound Blaster family (including PnP) and may not be applicable to some other cards.

I think it would be better if the kernel can provide a flexible interface, such as commands or configuration scripts, to customize such procedure, since the I/O forwarding ranges needed may differ among ISA sound cards and there is a need to make changes to the I/O forwarding ranges after boot for cards like PicoGUS which can switch to different modes via PGUSINIT, that may require different I/O ranges to function. (FYI: PicoGUS' configuration registers reside on 1D0-1D2)

EDIT: Additionally, on some boards, namely ASUS ones, the LDRQ1# is configured as GPIO23 by default and that needs to be toggled for LPC DMA to work. The LPC controller has a register holding the base address of the GPIO configuration registers which is needed to access the register needed to perform such toggle.
Since I can always boot to DOS to conduct the initialization then go to GRUB4DOS on said systems, this can wait, if this configuration interface would require a lot of effort.

If your USB image can be BIOS-booted I may be able to test EGAFIX and NEWAX. Newer nVidia video cards definitely need this if utilizing their VGA BIOS rather than using software framebuffer.

And by the way... I wonder if it could be possible to customize how the kernel mounts other partitions, as in a multiboot scenario I may not want everything supported by RetroOS get mounted automatically.
Something like Linux's "fstab" that I could define which partition (by physical location or UUID) to mount to which drive letter (or path).

Last edited by LSS10999 on 2026-09-24, 06:25. Edited 1 time in total.

Reply 101 of 131, by The Solutor

User metadata
Rank Member
Rank
Member

@gsos

One more thing

If, and when you have, time/will, can you take a look to the MC ports shared here

Midnight Commander

They are actually windows executables, not DOS as I (wrongly) understood.

But given you have some support for apis outside the scope of pure DOS, maaaaybe... is not that hard to get them working in RetroOS

Edit:

reading the thread a bit better looks like they may work using the HX dos extender

https://github.com/Baron-von-Riedesel/HX

I didn't know it existed, and I haven't tested it yet in real DOS

Last but not least. No joy in nativeCSM / CSMWrap

Reply 102 of 131, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie

I tested your diagnostic image on my X99 system and it still hangs, both BIOS and UEFI.

And it's a bit worse -- It hangs right after it reported the memory regions, with the cursor blinks on the first line (RetroOS Rust Kernel).
The last three lines, starting from:

Interrupts initialized
Stack guards at 0xc0bef000 (kernel) 0xc0c6f000 (arch)

Hello from Rust Kernel!

No longer shows. Probably hung at a much earlier phase than before.
Diagnostic mode made no difference and I'm not seeing any more info appearing.

Additionally, on that system, if I boot using framebuffer (both VBE and UEFI GOP), it'll hang at a black screen (nothing at all).

Will be testing the image on the other system where things work a bit better and can be a very good candidate to actually install it.

EDIT: I just tested booting the kernel on the main boot partition of the X99 system using the usual boot sequence and it hung at the same place.
This system's environment is probably too special. Since native DOS already works well there with sound thanks to dISAppointment, getting this to boot there is now considered low priority.
I'll focus more on my other system where RetroOS will definitely be useful.

Last edited by LSS10999 on 2026-09-25, 14:12. Edited 3 times in total.

Reply 103 of 131, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie

Another question... how many storage devices can RetroOS handle at the moment?

On the system where I can boot your USB image through UEFI, it only detected one NVMe disk and 2 AHCI disks, but my system have more disks installed (of both NVMe and SATA kinds), so I suspect it can only handle up to 3 disks at the moment.

I've a spare ext4 partition that I was planning to use it for something else, and I decided to repurpose it for RetroOS (and created a /home/retroos folder in it just in case), but it's not being picked up, so most likely it's not among the 3 disks detected.

Anyway, I'd like to know how to manually install the kernel as well as preparing the RetroOS root partition from a Linux system, as I don't think the script in the "machine" package would work in my case.
- I'm using CachyOS. It mounts the EFI ESP directly at "/boot" rather than "/boot/efi" or "/efi" commonly used in other Linux distros.
- I'm using Btrfs for "/home". Not sure if I put my spare ext4 partition as "/home/retroos" will do.
- I'm not using GRUB2 on that system. I'm using rEFInd for booting both Linux and Windows.

Though I think your kernel.elf should in theory be bootable by rEFInd if it's kind of like a Linux kernel binary which rEFInd can already boot directly.

EDIT: After some inspection of that system's storage topology I've discovered the issue -- the kernel can only handle the first NVMe and SATA controller it detected.
My system currently has 3 NVMe disks, and 4 SATA disks. Currently 2 disks are on one SATA controller and 2 disks on the other. The partition I intend to use RetroOS with is on the second SATA controller that's not being picked up by the kernel.

EDIT 2: Apparently rEFind has its own specific procedure for Linux kernels handled by a config called "refind_linux.conf". It probably won't be helpful for other kernels like yours.
I've since installed GRUB on that system but I need some guides on how to set up a boot entry for it, though I'll only be able to test it once the issue with NVMe/SATA controller detection gets resolved.

Last edited by LSS10999 on 2026-09-25, 22:39. Edited 1 time in total.

Reply 104 of 131, by gsos

User metadata
Rank Newbie
Rank
Newbie

@LSS10999 your system will be a rite of passage for this OS. I'll try to see if there is btrfs crate that i can hookup at some point and add support for multiple disks.

Reply 105 of 131, by The Solutor

User metadata
Rank Member
Rank
Member
The Solutor wrote on 2026-09-24, 06:00:

I confirm that the download called just MC.ZIP works in DOS (tested 7.0), using HDPMI32.EXE (which is even already included), keep in mind that the MC.BAT file has has wrong absolute paths, so adjust them before using the bat file.

the other download called mc_95_nt-4.1.36.zip gives an out of memory message in DOS, and anyway, even in windows, it is less advanced (say the mouse support is broken).

But the latter comes with localization files that the former lacks, and can be used there (both downloads are based on the same version of MC (4.1.36).

To show in the preferred language just use the LANG variable which works just like in unix.

Say in DOS use SET LANG=IT for Italian, FR for French and so on.

At least for me both are a breeze to use if compared with DN

Reply 106 of 131, by gsos

User metadata
Rank Newbie
Rank
Newbie
The Solutor wrote on 2026-09-26, 00:52:
I confirm that the download called just MC.ZIP works in DOS (tested 7.0), using HDPMI32.EXE (which is even already included), k […]
Show full quote
The Solutor wrote on 2026-09-24, 06:00:

I confirm that the download called just MC.ZIP works in DOS (tested 7.0), using HDPMI32.EXE (which is even already included), keep in mind that the MC.BAT file has has wrong absolute paths, so adjust them before using the bat file.

the other download called mc_95_nt-4.1.36.zip gives an out of memory message in DOS, and anyway, even in windows, it is less advanced (say the mouse support is broken).

But the latter comes with localization files that the former lacks, and can be used there (both downloads are based on the same version of MC (4.1.36).

To show in the preferred language just use the LANG variable which works just like in unix.

Say in DOS use SET LANG=IT for Italian, FR for French and so on.

At least for me both are a breeze to use if compared with DN

I see that was interesting for me. That MC is just a windows binary and it so happens RetroOS supports windows natively through its windows personality so I had to add a few missing syscalls, but now MC just works natively. No need for dpmild32 or hdpmi32.

Reply 107 of 131, by The Solutor

User metadata
Rank Member
Rank
Member
gsos wrote on 2026-09-26, 22:32:

I see that was interesting for me. That MC is just a windows binary and it so happens RetroOS supports windows natively through its windows personality so I had to add a few missing syscalls, but now MC just works natively. No need for dpmild32 or hdpmi32.

The Solutor wrote on 2026-09-24, 06:00:

They are actually windows executables, not DOS as I (wrongly) understood.

But given you have some support for apis outside the scope of pure DOS, maaaaybe... is not that hard to get them working in RetroOS

Glad to see we are tuned to the same frequency. 😉

Thanks for getting this working!

I hope I we we will see the updated images soon.

Reply 108 of 131, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
LSS10999 wrote on 2026-09-24, 12:17:
Another question... how many storage devices can RetroOS handle at the moment? […]
Show full quote

Another question... how many storage devices can RetroOS handle at the moment?

On the system where I can boot your USB image through UEFI, it only detected one NVMe disk and 2 AHCI disks, but my system have more disks installed (of both NVMe and SATA kinds), so I suspect it can only handle up to 3 disks at the moment.

I've a spare ext4 partition that I was planning to use it for something else, and I decided to repurpose it for RetroOS (and created a /home/retroos folder in it just in case), but it's not being picked up, so most likely it's not among the 3 disks detected.

Anyway, I'd like to know how to manually install the kernel as well as preparing the RetroOS root partition from a Linux system, as I don't think the script in the "machine" package would work in my case.
- I'm using CachyOS. It mounts the EFI ESP directly at "/boot" rather than "/boot/efi" or "/efi" commonly used in other Linux distros.
- I'm using Btrfs for "/home". Not sure if I put my spare ext4 partition as "/home/retroos" will do.
- I'm not using GRUB2 on that system. I'm using rEFInd for booting both Linux and Windows.

Though I think your kernel.elf should in theory be bootable by rEFInd if it's kind of like a Linux kernel binary which rEFInd can already boot directly.

EDIT: After some inspection of that system's storage topology I've discovered the issue -- the kernel can only handle the first NVMe and SATA controller it detected.
My system currently has 3 NVMe disks, and 4 SATA disks. Currently 2 disks are on one SATA controller and 2 disks on the other. The partition I intend to use RetroOS with is on the second SATA controller that's not being picked up by the kernel.

EDIT 2: Apparently rEFind has its own specific procedure for Linux kernels handled by a config called "refind_linux.conf". It probably won't be helpful for other kernels like yours.
I've since installed GRUB on that system but I need some guides on how to set up a boot entry for it, though I'll only be able to test it once the issue with NVMe/SATA controller detection gets resolved.

I did a bit more tests on this system by booting the USB stick in BIOS mode using native VGA. It's currently the only system on which I can at least boot RetroOS properly at the moment.
The video card is RTX A4000. Looks like EGAFIX indeed does its job as I can run Commander Keen without issues.
I'm not seeing any major graphical issue with games I've tried (DOOM, Quake) so I think NEWAX should also be working, but to be fully sure I need specialized testing programs like VBETEST.
Since the partition I intend to use RetroOS with cannot be detected I won't be able to bring in more stuffs for testing for the time being.

Though I do notice an issue with Sound Blaster emulation when playing Wacky Wheels. Music is fine but sound effects are abnormally loud to the point of clipping.
Sound is fine in other games I've tested, however. Not all games are tested but it's just this particular one revealed the possible issue.

Reply 109 of 131, by The Solutor

User metadata
Rank Member
Rank
Member

Another couple of things.

The overlaid config.sys seem not taking what I write inside it, while It seem working properly if edited outside RetroOS (could be the combination of the disk cache and the lack of a proper way to shut down the system).

Speaking of which, it seem case sensitive, something one don't expect in a DOS like thing, if that's the intended behaviour should be clearly stated in the comments on the beginning of the file.

Another thing is, why command.com from freedos/msdos or even 4DOS can't work as the starting program? would be nice to have a proper shell other than DN/MC/NC/whatever commander.

Reply 110 of 131, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
LSS10999 wrote on 2026-09-24, 11:24:
I tested your diagnostic image on my X99 system and it still hangs, both BIOS and UEFI. […]
Show full quote

I tested your diagnostic image on my X99 system and it still hangs, both BIOS and UEFI.

And it's a bit worse -- It hangs right after it reported the memory regions, with the cursor blinks on the first line (RetroOS Rust Kernel).
The last three lines, starting from:

Interrupts initialized
Stack guards at 0xc0bef000 (kernel) 0xc0c6f000 (arch)

Hello from Rust Kernel!

No longer shows. Probably hung at a much earlier phase than before.
Diagnostic mode made no difference and I'm not seeing any more info appearing.

Additionally, on that system, if I boot using framebuffer (both VBE and UEFI GOP), it'll hang at a black screen (nothing at all).

Will be testing the image on the other system where things work a bit better and can be a very good candidate to actually install it.

EDIT: I just tested booting the kernel on the main boot partition of the X99 system using the usual boot sequence and it hung at the same place.
This system's environment is probably too special. Since native DOS already works well there with sound thanks to dISAppointment, getting this to boot there is now considered low priority.
I'll focus more on my other system where RetroOS will definitely be useful.

I tried booting RetroOS on two other systems, a H97 and a B75. Both hung the same way as my X99.
Since it hung very early I can't provide much info, but I do suspect things like ACPI might be involved.

Those two systems are also dISAppointment equipped and usable.
However, my B75 board (ASUS P8B75-M) had LDRQ1# configured as GPIO23 by default and it needs to be switched back to native mode for proper DMA functionality.
AFAICT, ASUS boards are known to set LDRQ1# as GPIO23. Other vendors seem to leave it as native.

EDIT: So far I only managed to get it booting on two systems. Both are of AMD X570 chipset with Zen 3 CPU.
The one with my RTX A4000 has PS/2 keyboard and mouse, and it's the system I'm currently testing RetroOS with.
The other system is fully USB and thus I have no working keyboard once it booted to DOS Navigator.

Reply 111 of 131, by gsos

User metadata
Rank Newbie
Rank
Newbie

@LSS10999: I added better hpet ahci detection perhaps that is the problem for your system.
@Solutor: The new release binaries should work with MC

Reply 112 of 131, by The Solutor

User metadata
Rank Member
Rank
Member
gsos wrote on Yesterday, 03:56:

@Solutor: The new release binaries should work with MC

Are you sure? I still see the same 4 days old images on github

Last edited by The Solutor on 2026-09-28, 09:49. Edited 1 time in total.

Reply 114 of 131, by The Solutor

User metadata
Rank Member
Rank
Member

I see, thanks

Reply 115 of 131, by The Solutor

User metadata
Rank Member
Rank
Member

For now, given the noumerous problems faced b LSS, I decided to test what happens on my Homeserver/HTPC which is based on a N100 CPU

This to be precise

https://www.asus.com/motherboards-components/ … ime-n100i-d-d4/

And nothing, it boots and what I got is a 2cm white stripe on the top of the screen, and nothing else. (tested only in UEFI mode given I don't have CSMWrap installed there)

In short, this project seems one of the rare cases where AMD got more love than Intel, not that I don't like that (the N100 is the second Intel CPU that enters my home in 4 decades).

But still, I guess gsos needs some Intel HW to do some tests in person and enlarge the audience of the project.

Reply 116 of 131, by superfury

User metadata
Rank l33t++
Rank
l33t++

Any chance for something like an ISO image to install it on a clean (formatted) disk without a filesystem ready (which installs a filesystem with grub for example)? Perhaps some kind of installer, not requiring an existing OS (just some required disk/partition formatter with OS install, like Windows NT and Linux already do)?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 117 of 131, by The Solutor

User metadata
Rank Member
Rank
Member
superfury wrote on Yesterday, 11:17:

Any chance for something like an ISO image to install it on a clean (formatted) disk without a filesystem ready? Perhaps some kind of installer, not requiring an existing OS?

You don't need an actual OS to use the program, just boot and play, but no AFAIK there isn't any proper installer, yet.

Reply 118 of 131, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
The Solutor wrote on Yesterday, 11:08:
For now, given the noumerous problems faced b LSS, I decided to test what happens on my Homeserver/HTPC which is based on a N100 […]
Show full quote

For now, given the noumerous problems faced b LSS, I decided to test what happens on my Homeserver/HTPC which is based on a N100 CPU

This to be precise

https://www.asus.com/motherboards-components/ … ime-n100i-d-d4/

And nothing, it boots and what I got is a 2cm white stripe on the top of the screen, and nothing else. (tested only in UEFI mode given I don't have CSMWrap installed there)

In short, this project seems one of the rare cases where AMD got more love than Intel, not that I don't like that (the N100 is the second Intel CPU that enters my home in 4 decades).

But still, I guess gsos needs some Intel HW to do some tests in person and enlarge the audience of the project.

I just tested RetroOS on an older AMD based system (ASUS KGPE-D16) and it booted as well.
Not sure if the issue really was the HPET. But right now all my success cases are AMD ones and none of my Intel systems are booting.

Reply 119 of 131, by superfury

User metadata
Rank l33t++
Rank
l33t++
The Solutor wrote on Yesterday, 11:20:
superfury wrote on Yesterday, 11:17:

Any chance for something like an ISO image to install it on a clean (formatted) disk without a filesystem ready? Perhaps some kind of installer, not requiring an existing OS?

You don't need an actual OS to use the program, just boot and play, but no AFAIK there isn't any proper installer, yet.

Rn you'd need an OS to setup the partition and the boot loader on the disk from what I can see? There aren't any tools included that can do this without an OS already installed (afaik that's Linux). Hence why you'd need included software to partition the hard drive (to FAT or Linux filesystem) and at least copy the boot configuration over (install GRUB or something compatible from what I've read here). Without any of those, the elf is unusable. If you don't have Linux (or a flavour of it) already installed, you can't even use the elf to boot (due to missing GRUB and no partitions configured for use).
Edit: Found the retroos_grub_module.iso file. That'll be a start at least. Idk if there's an installer yet to properly install it to a hard drive (with partitioning like FAT etc.).

Last edited by superfury on 2026-09-28, 16:31. Edited 1 time in total.

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io