I originally wrote mine as a DOS or FreeDOS application that assembled with TASM. DOS or FreeDOS run in real mode. Therefore, nothing stops you from changing to protected mode and doing an OS.
My OS today, now assembles and compiles with myt own tools and I have boot loaders.
My first bootloader was for floppies. Floppies are ancient, now.
In other words, people can't follow my footsteps because some things have changed. I'd have to find a new path they could follow. I don't know anything about gcc or Microsoft tools. I could talk about Borland's TASM on FreeDOS. What I'd like to talk about is using LoseThos to make a new operating system, but I don't think people would like that.
I do have some tutorials in LoseThos for various things.
Here's a compiler tutorial:
http://www.losethos.com/code/MiniCompiler.html#l199Here's a graphics library tutorial:
http://www.losethos.com/code/MiniGrLib.html#l1There are many tutorials you can see from within LoseThos -- how to do PCI interrupts, switch to user mode, page tables... LoseThos doesn't use them, but I put them there as tutorials for others.
You can use the LoseThos bootloaders. They are public domain.
HardDrive:
http://www.losethos.com/code/BootHD.htmlCDROM:
http://www.losethos.com/code/BootCD.htmlAs for changing to 64-bit, you can study the start-up code for LoseThos. The bootloaders load this in at 0x10000 and it begins in real (16-bit) mode, calls some BIOS routines to get a memory map and switch to VGA mode. It switches to protected (32-bit) mode and finally to 64-bit.
http://www.losethos.com/code/OSStartUp.htmlI'll think about doing a tutorial.