From Apollo to Space Shuttle

In Chapter II, we made the first steps in space exploration. It wasn't easy but it was fun. But now the point is that we have to find a more efficient way to continue. First of all, the process of launching the modules is inefficient. We are creating and testing modules within DEBUG.EXE in Windows XP, then we reboot in LINUX/UBUNTU to place the module in the cargo bay (out of metaphor: write the boot record of the test partition) and launch it with GRUB (out of metaphor: rebooting for the 3rd time). It is like using the Apollo rockets every time we go to space with a lot of waste and limitation on the number of things we can do. We have to find a different way. We have to design our space shuttle for it: one that has a bigger cargo bay with rockets and boosters that we can reuse for every launch. Besides if we don't change our approach now, we will have to do it one day. I mean that 512 bytes of space may be ok for the beginning, but they will get to be too small sooner or later. Moreover, we have learned in a very limited way to deal only with two peripherals the keyboard (with INT 16h for the wait for keypress function) and the video (with INT 10h for the teletype out function) so it is time to start dealing with something new such as the HDD. Once more I must remember you that this is a diary, so I don't know now if I will succeed but here is my plan: I want to design a module that stays on the boot record of the test partition and whose task is to look into the drive for a given file, once found, it will load that file onto RAM and pass control to it. This is the typical task of a so-called bootloader. If I make it, it will be a primitive bootloader I guess, but I will be very happy if I make it work. However, the point is that I don't have adequate competence right now to make a project for it. I have just a rough idea of the thing I need to learn and I will start from there. So it will be a long, long way.

Comments