TempleOSCDV4.10.ISO

This commit is contained in:
Terry A. Davis authored and minexew committed 2018-09-08 21:47:44 +02:00
1 parent c5954d3371
commit 9206246147
181 files changed
+4468 -4313

No files matched your search

+6 -6
View File
@@ -61,7 +61,7 @@ BDVD_SHIFT_BLKS:: DU16 0;
BDVD_PROGRESS_STEP:: DU32 0;
BDVD_PROGRESS_VAL:: DU32 0;
BDVD_PUTCHAR::
BDVD_PUT_CHAR::
MOV AH,0xE
MOV BL,7 //Might be foreground color on some BIOS's
MOV BH,U8 [BDVD_PAGE-BDVD_START]
@@ -72,7 +72,7 @@ BDVD_PUTS::
@@1: LODSB
TEST AL,AL
JZ BDVD_RET
CALL BDVD_PUTCHAR
CALL BDVD_PUT_CHAR
JMP @@1
BDVD_MAIN::
@@ -80,7 +80,7 @@ BDVD_MAIN::
MOV AH,0xF
INT 0x10
MOV U8 [BDVD_PAGE-BDVD_START],BH //video page
MOV U8 [BDVD_PAGE-BDVD_START],BH //Video page
MOV EAX,0x80000000
CPUID
@@ -143,7 +143,7 @@ BDVD_MAIN::
CMP U16 [BDVD_PROGRESS_VAL+2-BDVD_START],BX
JE @@30
MOV AL,'.'
CALL BDVD_PUTCHAR
CALL BDVD_PUT_CHAR
@@30: POP AX
POP CX
@@ -173,7 +173,7 @@ BDVD_MAIN::
LOOP @@35
POP DS
//See $LK,"BootDVDProve",A="MN:BootDVDProve"$().
//See $LK,"BootDVDProbe",A="MN:BootDVDProbe"$().
MOV EBX,U32 [BDVD_BLK_LO-BDVD_START]
MOV AX,U16 [BDVD_SHIFT_BLKS-BDVD_START]
SHL EAX,16
@@ -182,7 +182,7 @@ BDVD_MAIN::
//My assembler doesn't support 16-bit very well.
DU8 0xEA; //JMP BOOT_RAM_BASE:0000
DU16 0,BOOT_RAM_BASE/16;
//Continues here $LK,"::/Kernel/KStart.CPP",A="FL:::/Kernel/KStart.CPP,1"$
//Continues here $LK,"::/Kernel/KStart16.CPP",A="FL:::/Kernel/KStart16.CPP,1"$
BDVD_END::
#assert BDVD_END-BDVD_START<DVD_BOOT_LOADER_SIZE
}
+1 -5
View File
@@ -13,10 +13,6 @@ BHD_CODE::
CLD
MOV AX,VGAM_TEXT/16
MOV FS,AX
MOV U32 FS:[0],'B'+GREEN<<12+('2'+GREEN<<12)<<16
MOV AX,BOOT_HIGH_LOC_HD
MOV ES,AX
@@ -91,7 +87,7 @@ BHD_HISTART:
//My assembler doesn't support 16-bit very well.
DU8 0xEA; //JMP BOOT_RAM_BASE:0000
DU16 0,BOOT_RAM_BASE/16;
//Continues here $LK,"::/Kernel/KStart.CPP",A="FL:::/Kernel/KStart.CPP,1"$
//Continues here $LK,"::/Kernel/KStart16.CPP",A="FL:::/Kernel/KStart16.CPP,1"$
BHD_END::
#assert BHD_END-BHD_START<MODULE_SIZE-2
}
-3
View File
@@ -30,9 +30,6 @@ BMHD_CODE::
MOV ES,AX
MOV AX,VGAM_TEXT/16
MOV FS,AX
MOV U32 FS:[0],'B'+GREEN<<12+('1'+GREEN<<12)<<16
CALL BMHD_GET_IP
BMHD_GET_IP:
POP BX
+3 -3
View File
@@ -43,7 +43,7 @@ BMHD2_DAP_BLK:: //64-bit
BMHD2_DAP_BLK_LO: DU32 0;
BMHD2_DAP_BLK_HI: DU32 0;
BMHD2_PUTCHAR::
BMHD2_PUT_CHAR::
MOV AH,0xE
MOV BL,7 //Might be foreground color on some BIOS's
MOV BH,U8 [BMHD2_PAGE-BMHD2_START]
@@ -54,7 +54,7 @@ BMHD2_PUTS::
@@1: LODSB
TEST AL,AL
JZ BMHD2_RET
CALL BMHD2_PUTCHAR
CALL BMHD2_PUT_CHAR
JMP @@1
BMHD2_GETCHAR:
@@ -70,7 +70,7 @@ BMHD2_GETCHAR:
BMHD2_HISTART:
MOV AH,0xF
INT 0x10
MOV U8 [BMHD2_PAGE-BMHD2_START],BH //video page
MOV U8 [BMHD2_PAGE-BMHD2_START],BH //Video page
MOV U32 FS:[0],0
@@5: MOV SI,BMHD2_BOOT_MSG-BMHD2_START
+14 -14
View File
@@ -310,7 +310,7 @@ public I64 ISO9660ISO(U8 *_filename=NULL,U8 *src_files_find_mask,
*iso_boot=CAlloc(DVD_BLK_SIZE),
*iso_sup=CAlloc(DVD_BLK_SIZE),
*iso_term=CAlloc(DVD_BLK_SIZE);
CDirEntry *rootdir=CAlloc(sizeof(CDirEntry));
CDirEntry *headdir=CAlloc(sizeof(CDirEntry));
I64 i,j,stage2_blk=(20<<2+1<<2+DVD_BOOT_LOADER_SIZE/BLK_SIZE)>>2,
stage2_size,cur_blk=0,tabsize,tabsize2,first_free,max_depth,fuf_flags=0;
U32 *d;
@@ -335,22 +335,22 @@ public I64 ISO9660ISO(U8 *_filename=NULL,U8 *src_files_find_mask,
else
stage2_filename=NULL;
rootdir->attr=RS_ATTR_DIR;
rootdir->sub=FilesFind(src_files_find_mask,fuf_flags);
rootdir->datetime=Now;
rootdir->user_data=CAlloc(sizeof(CCDVDUserData));
tempc=rootdir->user_data;
headdir->attr=RS_ATTR_DIR;
headdir->sub=FilesFind(src_files_find_mask,fuf_flags);
headdir->datetime=Now;
headdir->user_data=CAlloc(sizeof(CCDVDUserData));
tempc=headdir->user_data;
tempc->path_entry_num=1;
cur_blk=20<<2>>2;
if (stage2_filename) //preboot and bootloader
cur_blk+=1+DVD_BOOT_LOADER_SIZE/DVD_BLK_SIZE;
DVDFileCreate2(out_file,rootdir,&iso_pri->root_dir_record,
&iso_sup->root_dir_record,&cur_blk,rootdir,FALSE,
DVDFileCreate2(out_file,headdir,&iso_pri->root_dir_record,
&iso_sup->root_dir_record,&cur_blk,headdir,FALSE,
stage2_filename,&stage2_blk);
tabsize=sizeof(CISO1PathEntry);
tabsize2=sizeof(CISO1PathEntry);
max_depth=DVDTableLen(rootdir,&tabsize,&tabsize2,1);
max_depth=DVDTableLen(headdir,&tabsize,&tabsize2,1);
FillU32Palindrome(&iso_pri->path_table_size,tabsize);
FillU32Palindrome(&iso_sup->path_table_size,tabsize2);
tabsize=(tabsize+DVD_BLK_SIZE-1)/DVD_BLK_SIZE;
@@ -412,8 +412,8 @@ public I64 ISO9660ISO(U8 *_filename=NULL,U8 *src_files_find_mask,
cur_blk+=DVD_BOOT_LOADER_SIZE/DVD_BLK_SIZE;
}
DVDFileCreate2(out_file,rootdir,&iso_pri->root_dir_record,
&iso_sup->root_dir_record,&cur_blk,rootdir,TRUE,
DVDFileCreate2(out_file,headdir,&iso_pri->root_dir_record,
&iso_sup->root_dir_record,&cur_blk,headdir,TRUE,
stage2_filename,&stage2_blk);
tabbuf=CAlloc(tabsize*DVD_BLK_SIZE);
@@ -432,7 +432,7 @@ public I64 ISO9660ISO(U8 *_filename=NULL,U8 *src_files_find_mask,
itabbuf2=tabbuf2+1;
first_free=2;
for (i=1;i<=max_depth;i++)
DVDFillPathTable(rootdir,&itabbuf,&itabbuf2,1,FALSE,&first_free,1,i);
DVDFillPathTable(headdir,&itabbuf,&itabbuf2,1,FALSE,&first_free,1,i);
"%X: Path Table 0\n",cur_blk;
FWBlks(out_file,tabbuf,cur_blk<<2,tabsize<<2);
cur_blk+=tabsize;
@@ -456,7 +456,7 @@ public I64 ISO9660ISO(U8 *_filename=NULL,U8 *src_files_find_mask,
itabbuf2=tabbuf2+1;
first_free=2;
for (i=1;i<=max_depth;i++)
DVDFillPathTable(rootdir,&itabbuf,&itabbuf2,1,TRUE,&first_free,1,i);
DVDFillPathTable(headdir,&itabbuf,&itabbuf2,1,TRUE,&first_free,1,i);
"%X: Path Table 2\n",cur_blk;
FWBlks(out_file,tabbuf,cur_blk<<2,tabsize<<2);
cur_blk+=tabsize;
@@ -464,7 +464,7 @@ public I64 ISO9660ISO(U8 *_filename=NULL,U8 *src_files_find_mask,
FWBlks(out_file,tabbuf2,cur_blk<<2,tabsize2<<2);
cur_blk+=tabsize2;
DirTreeDel2(rootdir);
DirTreeDel2(headdir);
FillU32Palindrome(&iso_pri->vol_space_size,cur_blk);
FillU32Palindrome(&iso_sup->vol_space_size,cur_blk);
FWBlks(out_file,iso_pri,16<<2,4);
+1 -1
View File
@@ -142,7 +142,7 @@ public I64 RedSeaISO(U8 *_iso_filename=NULL,U8 *_src_dir,
stage2_filename=FileNameAbs(_stage2_filename);
*stage2_filename=dv->drv_let;
i=StrLen(src_dir);
if (i!=3) //If not root
if (i!=3) //If not head
i++; //Skip slash
StrCpy(stage2_filename+3,stage2_filename+i);
} else