rendered paste body#include "bloader.h"
int main();
/*Global Variables BAD BAD:) */
unsigned int oldEBP;
struct boot_dir *viewableDirectory;
int totalMem;
char * passedParams;
/*end global vars */
void _start(int memSize, char *parms, struct boot_dir *loadedfiles)
{
asm("mov %%ebp, %0":"=m"(oldEBP));
viewableDirectory = loadedfiles; /*make file mem locations global*/
totalMem = memSize; /*make mem of system global*/
passedParams = parms; /*make paramaters passed to system global*/
main();
asm("hlt"); /* this halts the machine, solving the problem of triple-faults on
some machines, but also making it impossible to return to DOS */
}
int main()
{
char *vidmem = (char *) 0xb8000;
/* "Homer " */
vidmem[0] = 'H';
vidmem[1] = 0x7;
vidmem[2] = 'o';
vidmem[3] = 0x7;
vidmem[4] = 'm';
vidmem[5] = 0x7;
vidmem[6] = 'e';
vidmem[7] = 0x7;
vidmem[8] = 'r';
vidmem[9] = 0x7;
vidmem[10] = ' ';
vidmem[11] = 0x7;
/* "OS " */
vidmem[12] = 'O';
vidmem[13] = 0x7;
vidmem[14] = 'S';
vidmem[15] = 0x7;
vidmem[16] = '!';
vidmem[17] = 0x7;
vidmem[18] = '!';
vidmem[19] = 0x7;
vidmem[20] = '!';
vidmem[21] = 0x7;
vidmem[22] = ' ';
vidmem[23] = 0x7;
/* "v1" */
vidmem[24] = 'v';
vidmem[25] = 0x7;
vidmem[26] = '1';
vidmem[27] = 0x7;
return 0;
}