exe {KeepPrivate(ON);} #include "/LT/OSMain/ADAMK.HPZ" asm { #include "/LT/OSMain/OSINC" exe {KeepPrivate(OFF);} CP_MY_RUN:: PUSH EBP MOV EBP,ESP MOV EBX,BOOT_CODE_RAM JMP U4 SF_PARAM1[EBP] } exe {KeepPrivate(ON);} exe {Externs2Imports(ON);} #include "/LT/OSMain/ADAMK2.HPZ" #include "/LT/OSMain/ADAMK3.HPZ" exe {Externs2Imports(OFF);} exe {KeepPrivate(OFF);} LTextern CP_MY_RUN void MyRun(U1 *s); public void Boot(I1 *filename) { U8 size; OsMainStruct *hi_image=ReadFile(filename,&size), *lo_image=sys_boot_base-sizeof(BinFileHeaderStruct); Cli; hi_image->boot_base=lo_image+sizeof(BinFileHeaderStruct); hi_image->header_base=lo_image+hi_image->h.header_offset; hi_image->boot_code=BOOT_CODE_RAM; hi_image->sys_memblks=lo_image->sys_memblks; MemCpy(&hi_image->gdttab,&lo_image->gdttab,sizeof(GdtTabStruct)*MAXGDT); MemCpy(lo_image,hi_image,size); MyRun(lo_image+sizeof(BinFileHeaderStruct)+lo_image->os_32start); }