Building an OS with Visual Studio

  • SpinRite v6.1 Release #3
    The 3rd release of SpinRite v6.1 is published and may be obtained by all SpinRite v6.0 owners at the SpinRite v6.1 Pre-Release page. (SpinRite will shortly be officially updated to v6.1 so this page will be renamed.) The primary new feature, and the reason for this release, was the discovery of memory problems in some systems that were affecting SpinRite's operation. So SpinRite now incorporates a built-in test of the system's memory. For the full story, please see this page in the "Pre-Release Announcements & Feedback" forum.
  • Be sure to checkout “Tips & Tricks”
    Dear Guest Visitor → Once you register and log-in please checkout the “Tips & Tricks” page for some very handy tips!

  • BootAble – FreeDOS boot testing freeware

    To obtain direct, low-level access to a system's mass storage drives, SpinRite runs under a GRC-customized version of FreeDOS which has been modified to add compatibility with all file systems. In order to run SpinRite it must first be possible to boot FreeDOS.

    GRC's “BootAble” freeware allows anyone to easily create BIOS-bootable media in order to workout and confirm the details of getting a machine to boot FreeDOS through a BIOS. Once the means of doing that has been determined, the media created by SpinRite can be booted and run in the same way.

    The participants here, who have taken the time to share their knowledge and experience, their successes and some frustrations with booting their computers into FreeDOS, have created a valuable knowledgebase which will benefit everyone who follows.

    You may click on the image to the right to obtain your own copy of BootAble. Then use the knowledge and experience documented here to boot your computer(s) into FreeDOS. And please do not hesitate to ask questions – nowhere else can better answers be found.

    (You may permanently close this reminder with the 'X' in the upper right.)


Well-known member
Jul 19, 2021
After asking the other question I thought of this question. I starting buying the Pavel Yosifovich stuff on Windows, he has books and he started a pay for video series for Windows stuff. I already started the first set on the Windows Kernel. But he is also writing a book on the Windows Native API, NTDLL.DLL. In visual studio when you are selecting the sub system you can do Win32 API which is kinda gui message passing type programming, console or Native. Now in visual studio doing native program you would still get the native libraries and such (working with NTDLL.DLL and others). But is it the case that if you strip out all those libraries that are particular to Windows you could still use Visual Studio to write to the bare metal using that “native” subsystem/mode of compiling code? Like for example the real time operating system Steve bought for SR7? Or if it can do 16 bit code you could get the source code for FreeDOS and work on it. This that the case? I’ve wondered since Steve said he was using Visual Studio 2008 on Windows 7 to develop SR6.1, I don’t know how that does 16-bit code. Maybe he is using some kinda of an addon for Vs, but I am wondering if you can basically built operating system from scratch using Vs. I have referred to it before and I have not had time in many months to go back to it, but my Udemy course on building an operating system from scratch has the user download the source to gcc and do something that strips out the standard library stuff because you would have to write that your self if building a new Os, after you strip it out you can build your Os and any libraries you need but you would have to write everything. So that’s my question, can that be done with Vs and is that why Steve bought the real os code so the work was done and he could use it? Is it the “Native” subsystem? Similar to a stripped down GCC?

Pavel's new stuff: