TempleOSCDV4.10.ISO
This commit is contained in:
1 parent
c5954d3371
commit
9206246147
181 files changed
+4468
-4313
No files matched your search
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in new issue
Block a user