I made my own DOS implementation (Announce)
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.
I did numerous small fixes to make the kernel support 64-bit sector indexing properly, so now it should work with larger than 2 TB hard drives. I cannot test it though.
I did also many micro-optimizations and reordered the arguments of many functions.
I wrote routines that calculate the sector indexes using MMX instructions. I thought that it would make the math with 64-bit integers a lot faster than adding, subtracting and comparing the numbers 16 bits at time in the 8086-compatible general purpose registers. In the end the MMX version turned out to be significantly slower, at least on a 3 GHz Pentium 4. This again shows that using new fancy instruction set extensions does not always make the program run faster, but it can very efficiently ruin compatibility with older hardware. The kernel can be compiled with "-dUSE_MMX" to create a build that uses MMX instructions.
The kernel can also be compiled for different targets than just 8086. I noticed that when it is compiled for i386 or newer CPUs, some programs just stop working. One of those programs is Doom's installer. I don't know why that happens.
The "VER" command of the command prompt now also shows the build target of the kernel.
Complete thread:
- I made my own DOS implementation - samwdpckr, 07.12.2023, 05:07 (Announce)
- I made my own DOS implementation - CandyMan, 07.12.2023, 22:17
- I made my own DOS implementation - Zyzzle, 07.12.2023, 23:58
- I made my own DOS implementation - samwdpckr, 08.12.2023, 02:43
- I made my own DOS implementation - tom, 08.12.2023, 15:52
- I made my own DOS implementation - samwdpckr, 08.12.2023, 22:11
- I made my own DOS implementation - tom, 09.12.2023, 01:46
- I made my own DOS implementation - marcov, 09.12.2023, 11:29
- I made my own DOS implementation - nico7550, 16.12.2023, 14:17
- I made my own DOS implementation - samwdpckr, 27.12.2023, 17:59
- I made my own DOS implementation - nico7550, 28.12.2023, 08:31
- I made my own DOS implementation - 0ffer, 30.12.2023, 09:35
- I made my own DOS implementation - samwdpckr, 27.12.2023, 17:59
- I made my own DOS implementation - nico7550, 16.12.2023, 14:17
- I made my own DOS implementation - samwdpckr, 08.12.2023, 22:11
- I made my own DOS implementation - Zyzzle, 08.12.2023, 15:56
- I made my own DOS implementation - tom, 08.12.2023, 15:52
- I made my own DOS implementation - samwdpckr, 08.12.2023, 02:43
- I made my own DOS implementation - Zyzzle, 07.12.2023, 23:58
- I made my own DOS implementation - SuperIlu, 07.12.2023, 23:24
- I made my own DOS implementation - 0ffer, 25.12.2023, 20:31
- I made my own DOS implementation - RayeR, 31.01.2024, 17:13
- I made my own DOS implementation - tom, 31.01.2024, 22:02
- I made my own DOS implementation - Japheth, 01.02.2024, 08:32
- I made my own DOS implementation - samwdpckr, 01.02.2024, 15:36
- I made my own DOS implementation - RayeR, 01.02.2024, 19:01
- I made my own DOS implementation - samwdpckr, 01.02.2024, 19:09
- I made my own DOS implementation - RayeR, 02.02.2024, 05:22
- I made my own DOS implementation - KormaX, 02.02.2024, 11:11
- I made my own DOS implementation - samwdpckr, 02.02.2024, 20:20
- I made my own DOS implementation - RayeR, 11.02.2024, 15:52
- I made my own DOS implementation - samwdpckr, 02.02.2024, 20:20
- I made my own DOS implementation - KormaX, 02.02.2024, 11:11
- I made my own DOS implementation - RayeR, 02.02.2024, 05:22
- I made my own DOS implementation - samwdpckr, 01.02.2024, 19:09
- I made my own DOS implementation - RayeR, 01.02.2024, 19:01
- I made my own DOS implementation - tom, 31.01.2024, 22:02
- I made my own DOS implementation - samwdpckr, 12.03.2024, 22:56
- I made my own DOS implementation - fritz.mueller, 15.03.2024, 14:49
- I made my own DOS implementation - samwdpckr, 15.03.2024, 20:46
- I made my own DOS implementation - fritz.mueller, 16.03.2024, 20:01
- I made my own DOS implementation - samwdpckr, 16.03.2024, 23:11
- I made my own DOS implementation - samwdpckr, 18.03.2024, 01:52
- I made my own DOS implementation - fritz.mueller, 18.03.2024, 13:25
- I made my own DOS implementation - samwdpckr, 18.03.2024, 22:22
- I made my own DOS implementation - fritz.mueller, 20.03.2024, 15:56
- I made my own DOS implementation - samwdpckr, 21.03.2024, 18:06
- I made my own DOS implementation - tom, 21.03.2024, 19:32
- I made my own DOS implementation - samwdpckr, 21.03.2024, 19:56
- I made my own DOS implementation - fritz.mueller, 21.03.2024, 22:14
- I made my own DOS implementation - samwdpckr, 21.03.2024, 22:21
- I made my own DOS implementation - ecm, 22.03.2024, 00:21
- I made my own DOS implementation - samwdpckr, 22.03.2024, 02:06
- I made my own DOS implementation - ecm, 22.03.2024, 07:31
- I made my own DOS implementation - tom, 22.03.2024, 10:58
- I made my own DOS implementation - tom, 22.03.2024, 11:22
- I made my own DOS implementation - samwdpckr, 22.03.2024, 13:14
- I made my own DOS implementation - tom, 22.03.2024, 14:12
- I made my own DOS implementation - samwdpckr, 22.03.2024, 16:21
- I made my own DOS implementation - tom, 22.03.2024, 17:32
- I made my own DOS implementation - samwdpckr, 23.03.2024, 08:10
- I made my own DOS implementation - ecm, 23.03.2024, 09:58
- I made my own DOS implementation - tom, 23.03.2024, 12:20
- I made my own DOS implementation - samwdpckr, 23.03.2024, 20:32
- I made my own DOS implementation - samwdpckr, 26.03.2024, 04:36
- I made my own DOS implementation - samwdpckr, 27.03.2024, 23:29
- I made my own DOS implementation - Rugxulo, 28.03.2024, 01:29
- I made my own DOS implementation - samwdpckr, 28.03.2024, 04:15
- I made my own DOS implementation - fritz.mueller, 28.03.2024, 21:19
- I made my own DOS implementation - samwdpckr, 29.03.2024, 18:00
- I made my own DOS implementation - Rugxulo, 29.03.2024, 22:01
- I made my own DOS implementation - samwdpckr, 29.03.2024, 22:31
- I made my own DOS implementation - Rugxulo, 08.04.2024, 03:19
- I made my own DOS implementation - fritz.mueller, 17.05.2024, 12:49
- I made my own DOS implementation - Rugxulo, 08.04.2024, 03:19
- I made my own DOS implementation - samwdpckr, 29.03.2024, 22:31
- I made my own DOS implementation - Rugxulo, 29.03.2024, 22:01
- I made my own DOS implementation - samwdpckr, 29.03.2024, 18:00
- I made my own DOS implementation - Rugxulo, 29.03.2024, 02:53
- I made my own DOS implementation - Rugxulo, 30.03.2024, 10:16
- I made my own DOS implementation - samwdpckr, 30.03.2024, 20:09
- I made my own DOS implementation - Oso2k, 31.03.2024, 21:22
- I made my own DOS implementation - Rugxulo, 31.03.2024, 22:59
- I made my own DOS implementation - samwdpckr, 01.04.2024, 16:31
- I made my own DOS implementation - Oso2k, 31.03.2024, 21:22
- I made my own DOS implementation - samwdpckr, 30.03.2024, 20:09
- I made my own DOS implementation - fritz.mueller, 28.03.2024, 21:19
- I made my own DOS implementation - samwdpckr, 28.03.2024, 04:15
- I made my own DOS implementation - Rugxulo, 28.03.2024, 01:29
- I made my own DOS implementation - samwdpckr, 27.03.2024, 23:29
- I made my own DOS implementation - samwdpckr, 08.09.2024, 01:32
- I made my own DOS implementation - samwdpckr, 31.10.2024, 22:29
- I made my own DOS implementation - samwdpckr, 26.03.2024, 04:36
- I made my own DOS implementation - samwdpckr, 23.03.2024, 20:32
- I made my own DOS implementation - samwdpckr, 23.03.2024, 08:10
- I made my own DOS implementation - tom, 22.03.2024, 17:32
- I made my own DOS implementation - samwdpckr, 22.03.2024, 16:21
- I made my own DOS implementation - tom, 22.03.2024, 14:12
- I made my own DOS implementation - samwdpckr, 22.03.2024, 13:14
- I made my own DOS implementation - samwdpckr, 22.03.2024, 02:06
- I made my own DOS implementation - ecm, 22.03.2024, 00:21
- I made my own DOS implementation - samwdpckr, 21.03.2024, 19:56
- I made my own DOS implementation - tom, 21.03.2024, 19:32
- I made my own DOS implementation - samwdpckr, 21.03.2024, 18:06
- I made my own DOS implementation - fritz.mueller, 20.03.2024, 15:56
- I made my own DOS implementation - samwdpckr, 18.03.2024, 22:22
- I made my own DOS implementation - fritz.mueller, 18.03.2024, 13:25
- I made my own DOS implementation - samwdpckr, 18.03.2024, 01:52
- I made my own DOS implementation - samwdpckr, 16.03.2024, 23:11
- I made my own DOS implementation - fritz.mueller, 16.03.2024, 20:01
- I made my own DOS implementation - samwdpckr, 15.03.2024, 20:46
- I made my own DOS implementation - fritz.mueller, 15.03.2024, 14:49
- I made my own DOS implementation - CandyMan, 07.12.2023, 22:17