TempleOSCD_150216.ISO

This commit is contained in:
Terry A. Davis authored and minexew committed 2018-09-08 21:46:15 +02:00
1 parent 64f679eeb9
commit 401601816c
531 files changed
+23341 -22071

No files matched your search

+13 -10
View File
@@ -1,5 +1,8 @@
#define MODULE_SIZE 1*BLK_SIZE
#define BOOT_HIGH_LOC ((BOOT_RAM_LIMIT-(BOOT_STK_SIZE+MODULE_SIZE))>>4)
#define BOOT_HIGH_LOC_HD ((BOOT_RAM_LIMIT-(BOOT_STK_SIZE+MODULE_SIZE))>>4)
DefinePrint(
"DD_BOOT_HIGH_LOC_HD","%08X",BOOT_HIGH_LOC_HD<<4);
asm {
USE16
@@ -9,11 +12,11 @@ BHD_CODE::
CLD
MOV AX,VGA_TEXT_MEM_BASE/16
MOV AX,VGAM_TEXT/16
MOV FS,AX
MOV U32 FS:[0],'B'+GREEN<<12+('2'+GREEN<<12)<<16
MOV AX,BOOT_HIGH_LOC
MOV AX,BOOT_HIGH_LOC_HD
MOV ES,AX
CLI
@@ -26,7 +29,7 @@ BHD_GET_IP:
POP BX
SUB BX,BHD_GET_IP-BHD_START
SHR BX,4
//Copy this bootloader code to just under 0x80000
//This copies this bootloader's code to 0x$TX,"00096C00",D="DD_BOOT_HIGH_LOC_HD"$
MOV AX,CS
ADD AX,BX
MOV DS,AX
@@ -35,21 +38,21 @@ BHD_GET_IP:
XOR DI,DI
REP_MOVSB
MOV AX,BOOT_HIGH_LOC
MOV AX,BOOT_HIGH_LOC_HD
MOV DS,AX
//My assembler doesn't support 16-bit very well.
DU8 0xEA; //JMP BOOT_HIGH_LOC:BHD_HISTART
DU16 BHD_HISTART-BHD_START,BOOT_HIGH_LOC;
DU8 0xEA; //JMP BOOT_HIGH_LOC_HD:BHD_HISTART
DU16 BHD_HISTART-BHD_START,BOOT_HIGH_LOC_HD;
BHD_BIOS_DRV_NUM: DU8 0;
//Gets patched by $LK,"MakeOSPrtBootInstall",A="MN:MakeOSPrtBootInstall"$().
//Gets patched by $LK,"MakeOSDrvBootInstall",A="MN:MakeOSDrvBootInstall"$().
BHD_BLK_CNT:: DU16 0;
BHD_DAP: DU8 16,0,1,0; //One blk at a time
BHD_DAP_BUF: DU16 0,0;
//Gets patched by $LK,"MakeOSPrtBootInstall",A="MN:MakeOSPrtBootInstall"$().
//Gets patched by $LK,"MakeOSDrvBootInstall",A="MN:MakeOSDrvBootInstall"$().
BHD_DAP_BLK:: //64-bit
BHD_DAP_BLK_LO: DU32 0;
BHD_DAP_BLK_HI: DU32 0;
@@ -82,7 +85,7 @@ BHD_HISTART:
@@10: POP CX
LOOP @@05
MOV EBX,BOOT_CODE_HARDDRV //$MA-X+PU,"See sys_boot_code",LM="Grep(\"sys_boot_code\",\"/*\");View;\n"$
MOV EBX,BOOT_SRC_HARDDRV //$MA-X+PU,"See sys_boot_src",LM="Find(\"sys_boot_src\",\"/*\");View;\n"$
//My assembler doesn't support 16-bit very well.
DU8 0xEA; //JMP BOOT_RAM_BASE:0000
DU16 0,BOOT_RAM_BASE/16;