samwdpckr 07.12.2023, 05:07 |
I made my own DOS implementation (Announce) |
Hello. I wrote my own operating system that is mostly compatible with the documented DOS API. It does many things differently than MS-DOS and FreeDOS - for example, it has dynamically growing caches and file buffers, which make disk I/O faster. It has driver APIs for device and filesystem drivers. Currently it has drivers for serial port, parallel port and CD-ROM drive and ISO9660 filesystem. |
CandyMan 07.12.2023, 22:17 @ samwdpckr |
I made my own DOS implementation |
> Hello. I wrote my own operating system that is mostly compatible with the |
Zyzzle 07.12.2023, 23:58 @ CandyMan |
I made my own DOS implementation |
> |
samwdpckr 08.12.2023, 02:43 @ Zyzzle |
I made my own DOS implementation |
> > |
tom Germany (West), 08.12.2023, 15:52 @ samwdpckr |
I made my own DOS implementation |
> > > |
samwdpckr 08.12.2023, 22:11 @ tom |
I made my own DOS implementation |
> if you search the FreeDOS kernel for #ifdef FAT32 you should get an idea |
tom Germany (West), 09.12.2023, 01:46 @ samwdpckr |
I made my own DOS implementation |
> > adding GPT support should be easy. actually GPT partitioning is easier |
marcov 09.12.2023, 11:29 @ samwdpckr |
I made my own DOS implementation |
> Some medias, for example optical disks, use larger sectors that cannot be |
nico7550 16.12.2023, 14:17 @ marcov |
I made my own DOS implementation |
Hi, sadly it didn't support multi configuration in config.sys. |
samwdpckr 27.12.2023, 17:59 @ nico7550 |
I made my own DOS implementation |
> Hi, sadly it didn't support multi configuration in config.sys. |
nico7550 28.12.2023, 08:31 @ samwdpckr |
I made my own DOS implementation |
> > Specfic to my project, using 86Box, I also have major crash (86box |
0ffer 30.12.2023, 09:35 (edited by 0ffer, 30.12.2023, 09:48) @ samwdpckr |
I made my own DOS implementation |
> The bootloader has to support the operating system that is going to be loaded. |
Zyzzle 08.12.2023, 15:56 @ samwdpckr |
I made my own DOS implementation |
> > Perhaps 4kn support, |
SuperIlu Berlin, Germany, 07.12.2023, 23:24 @ samwdpckr |
I made my own DOS implementation |
> Hello. I wrote my own operating system that is mostly compatible with the --- |
0ffer 25.12.2023, 20:31 @ samwdpckr |
I made my own DOS implementation |
Something about ST-DOS... |
RayeR CZ, 31.01.2024, 17:13 @ samwdpckr |
I made my own DOS implementation |
Nice, we have more YADs (Yet Another DOS). Wouldn't we rather see such modern features to be implemented in long years stagnating FreeDOS or EDRDOS? I understand it's exciting to write own DOS. On the other hand it usually ends with a bunch of incomplete abandoned projects that cannot fully replace old good MS-DOS that I still keeps as a reference for compatability. --- |
tom Germany (West), 31.01.2024, 22:02 @ RayeR |
I made my own DOS implementation |
> Nice, we have more YADs (Yet Another DOS). |
Japheth Germany (South), 01.02.2024, 08:32 @ tom |
I made my own DOS implementation |
> > to be implemented in long years stagnating FreeDOS or EDRDOS? --- |
samwdpckr 01.02.2024, 15:36 @ RayeR |
I made my own DOS implementation |
> As one key feature I would |
RayeR CZ, 01.02.2024, 19:01 @ samwdpckr |
I made my own DOS implementation |
> That's not technically possible. IBM PC-compatible BIOS has runtime --- |
samwdpckr 01.02.2024, 19:09 (edited by samwdpckr, 01.02.2024, 19:27) @ RayeR |
I made my own DOS implementation |
> UEFI doesn't mean that you have to handle all the HW by yourself. UEFI |
RayeR CZ, 02.02.2024, 05:22 @ samwdpckr |
I made my own DOS implementation |
Sorry I mixed it with boot services, they has much rich capabilities and allows run various UEFI apps like UEFI shell and fancy graphics bootloaders... --- |
KormaX 02.02.2024, 11:11 @ RayeR |
I made my own DOS implementation |
I disagree. I mean, I agree with samwdpckr in that writing an entire UEFI-aware DOS is not a meaningful solution, neither is anything that requires us to come up with a cr*pton of drivers whenever a new motherboard is introduced, but it's not mandatory to leave boot services. And UEFI provides boot services to just about every part of the computer. He mentioned v86 as a way to avoid memory conflicts, that wouldn't work for the exact reasons he's said, but I don't know why everybody forgets VT-x when talking about these topics. I don't know any DOS program that uses VT-x, so if we have a BIOS, that can be loaded as an UEFI application and that initializes a VT-x session right away without ExitBootServices(), it would work. --- |
samwdpckr 02.02.2024, 20:20 @ KormaX |
I made my own DOS implementation |
If the "operating system" uses UEFI boot services, it is not an operating system - it is just a UEFI program. In that case the operating system is the UEFI. |
RayeR CZ, 11.02.2024, 15:52 @ samwdpckr |
I made my own DOS implementation |
OK, so I understand that UEFI boot env. doesn't allow direct HW and memory access otherwise UEFI stuff would break. So then only way would be write a regular UEFI application that implement some hypervisor or port DOSBOX-X but it will lost the advantage of native DOS run and could be achieved simply by running some tiny Linux with DOSBOX-X on top - we already have such DOSBOX-X version... --- |
samwdpckr 12.03.2024, 22:56 (edited by samwdpckr, 12.03.2024, 23:35) @ samwdpckr |
I made my own DOS implementation |
I have made a lot of bug fixes. Also the install programs are now easier to use than before, and CD-ROM drivers and keyboard layouts are installed automatically. I wrote some instructions: |
fritz.mueller Munich, Germany, 15.03.2024, 14:49 @ samwdpckr |
I made my own DOS implementation |
> I have made a lot of bug fixes. Also the install programs are now easier to |
samwdpckr 15.03.2024, 20:46 @ fritz.mueller |
I made my own DOS implementation |
You are using it wrong. |
fritz.mueller Munich, Germany, 16.03.2024, 20:01 @ samwdpckr |
I made my own DOS implementation |
> You are using it wrong. |
samwdpckr 16.03.2024, 23:11 @ fritz.mueller |
I made my own DOS implementation |
Why don't you just run the SETUP program as instructed in the documentation? |
samwdpckr 18.03.2024, 01:52 @ samwdpckr |
I made my own DOS implementation |
I added an RSS stream to the webpage. Also implemented DOS syscall 0x26 to the kernel. |
fritz.mueller Munich, Germany, 18.03.2024, 13:25 @ samwdpckr |
I made my own DOS implementation |
Hi, |
samwdpckr 18.03.2024, 22:22 @ fritz.mueller |
I made my own DOS implementation |
Thank you for your efforts in documenting the problems so thoroughly. |
fritz.mueller Munich, Germany, 20.03.2024, 15:56 @ samwdpckr |
I made my own DOS implementation |
Sorry, its me again. |
samwdpckr 21.03.2024, 18:06 @ fritz.mueller |
I made my own DOS implementation |
> This makes it more complex. I have an old laptop where I need an external |
tom Germany (West), 21.03.2024, 19:32 @ samwdpckr |
I made my own DOS implementation |
> > I tried german keyboards (mkeyb gr and keyb gr,850,C:\dos\keyboard.sys - |
samwdpckr 21.03.2024, 19:56 @ tom |
I made my own DOS implementation |
> I'm not certain about *most* KEYB implementations, but I am certain that |
fritz.mueller Munich, Germany, 21.03.2024, 22:14 @ samwdpckr |
I made my own DOS implementation |
> Then I need to investigate why it crashes. |
samwdpckr 21.03.2024, 22:21 @ tom |
I made my own DOS implementation |
> I'm not certain about *most* KEYB implementations, but I am certain that |
ecm Düsseldorf, Germany, 22.03.2024, 00:21 @ samwdpckr |
I made my own DOS implementation |
> > I'm not certain about *most* KEYB implementations, but I am certain that --- |
samwdpckr 22.03.2024, 02:06 @ ecm |
I made my own DOS implementation |
> Actually they are identical among compatible DOS systems. The system call |
ecm Düsseldorf, Germany, 22.03.2024, 07:31 @ samwdpckr |
I made my own DOS implementation |
> > Actually they are identical among compatible DOS systems. The system --- |
tom Germany (West), 22.03.2024, 10:58 @ samwdpckr |
I made my own DOS implementation |
> the error is on line 92. |
tom Germany (West), 22.03.2024, 11:22 @ samwdpckr |
I made my own DOS implementation |
as a sidenote: |
samwdpckr 22.03.2024, 13:14 (edited by samwdpckr, 22.03.2024, 13:34) @ tom |
I made my own DOS implementation |
Is there any good reason for the user program to modify that struct? Why would it want to make it "self-referencing"? |
tom Germany (West), 22.03.2024, 14:12 (edited by tom, 23.03.2024, 07:32) @ samwdpckr |
I made my own DOS implementation |
> Is there any good reason for the user program to modify that struct? Why |
samwdpckr 22.03.2024, 16:21 (edited by samwdpckr, 22.03.2024, 16:53) @ tom |
I made my own DOS implementation |
> Yes, absolutely. |
tom Germany (West), 22.03.2024, 17:32 (edited by tom, 23.03.2024, 07:28) @ samwdpckr |
I made my own DOS implementation |
> > Yes, absolutely. |
samwdpckr 23.03.2024, 08:10 @ tom |
I made my own DOS implementation |
I prefer keeping the struct members word-aligned. |
ecm Düsseldorf, Germany, 23.03.2024, 09:58 @ samwdpckr |
I made my own DOS implementation |
> If that is not possible, there are other ways to stay resident in memory so --- |
tom Germany (West), 23.03.2024, 12:20 @ samwdpckr |
I made my own DOS implementation |
> |
samwdpckr 23.03.2024, 20:32 @ tom |
I made my own DOS implementation |
Anyway, now the owner of the MCB changes when the realloc syscall is made, so modifying the internal structs is not necessary. I don't know if that works in FreeDOS, but because FreeDOS aims to be a 100% MS-DOS compatible operating system, it SHOULD work - if it doesn't, then it is a bug. |
samwdpckr 26.03.2024, 04:36 @ samwdpckr |
I made my own DOS implementation |
New version. No new features this time, and no significant bugfixes either. In the filesystem mounter there was a bug that affected only builds with 64-bit LBA support when the BIOS supported LBA48 or higher. The program left the most significant doubleword of the "starting sector" of a filesystem uninitialized and it caused read errors. The default build of the kernel uses only 32-bit sector indexes anyway. |
samwdpckr 27.03.2024, 23:29 @ samwdpckr |
I made my own DOS implementation |
My previous message did not make much sense. It turns out that MMX does only 32-bit math and many sources from the internet are wrong about this. I replaced the MMX routines with code that uses the 32-bit i386 registers. The new code is also much faster. |
Rugxulo Usono, 28.03.2024, 01:29 @ samwdpckr |
I made my own DOS implementation |
> My previous message did not make much sense. It turns out that MMX does |
samwdpckr 28.03.2024, 04:15 @ Rugxulo |
I made my own DOS implementation |
Nowadays many developers want to drop support of CPUs that don't have SSE2 instructions, and they are basically using those new instruction set extensions as a tool to bully people who have an "old" computer that still has more than enough computing power for their use. They are reasoning it by saying that the new instruction set extensions make the program run faster, when the reality is that every new version of the program is always more bloated than the previous one. This culture is especially visible amongst the Rust gang and the developers of many graphical desktop libraries in the FOSS world. |
fritz.mueller Munich, Germany, 28.03.2024, 21:19 @ samwdpckr |
I made my own DOS implementation |
Only a few bug reports: |
samwdpckr 29.03.2024, 18:00 @ fritz.mueller |
I made my own DOS implementation |
I noticed that the symbolic links were completely broken. Now it seems to handle all corner cases correctly. |
Rugxulo Usono, 29.03.2024, 22:01 @ samwdpckr |
I made my own DOS implementation |
> > Having said that, with all the malware / ransomware in the world, I think |
samwdpckr 29.03.2024, 22:31 @ Rugxulo |
I made my own DOS implementation |
> I think I meant older cpus are quietly deprecated due to such bugs |
Rugxulo Usono, 08.04.2024, 03:19 @ samwdpckr |
I made my own DOS implementation |
> I just find it weird when a software developer, who doesn't even write |
fritz.mueller Munich, Germany, 17.05.2024, 12:49 @ Rugxulo |
I made my own DOS implementation |
Hi, |
Rugxulo Usono, 29.03.2024, 02:53 @ samwdpckr |
I made my own DOS implementation |
> Nowadays many developers want to drop support of CPUs that don't have SSE2 |
Rugxulo Usono, 30.03.2024, 10:16 @ samwdpckr |
I made my own DOS implementation |
> Nowadays many developers want to drop support of CPUs that don't have SSE2 |
samwdpckr 30.03.2024, 20:09 (edited by samwdpckr, 30.03.2024, 20:32) @ Rugxulo |
I made my own DOS implementation |
> For many years the world has already tried to deprecate and kill IA-32. |
Oso2k 31.03.2024, 21:22 @ samwdpckr |
I made my own DOS implementation |
> And 32-bit x86 Linux desktop is already completely broken because of those |
Rugxulo Usono, 31.03.2024, 22:59 @ Oso2k |
I made my own DOS implementation |
> At least with gcc, binutils, and djlsr (djgpp’s bsd derived libc), |
samwdpckr 01.04.2024, 16:31 @ samwdpckr |
I made my own DOS implementation |
I wrote the basic utilities TREE, DELTREE, ATTRIB, XCOPY and DIRFIND (called when DIR /S command is given to the command prompt). DELTREE and XCOPY were important, because the graphical interface calls them when copying entire directories. I also added a non-standard syscall that changes the timestamp of a directory entry. |
samwdpckr 08.09.2024, 01:32 (edited by samwdpckr, 08.09.2024, 01:59) @ samwdpckr |
I made my own DOS implementation |
I noticed mbbrutman's NetDrive and got some inspiration from it. I created NETDISK. Now ST-DOS has the power of cloud too. |
samwdpckr 31.10.2024, 22:29 @ samwdpckr |
I made my own DOS implementation |
I made a video of installing ST-DOS and NETDISK. |