TempleOS V5.03 Nightly (ISO SHA-1 aed1efc)
This commit is contained in:
1 parent
bbd014d8e9
commit
da84afbaf7
124 files changed
+3453
-3407
No files matched your search
@@ -1,13 +1,9 @@
|
||||
//ISO1 is ISO9660
|
||||
//ISO2 is ISO13490
|
||||
//ISO3 is ISO13346
|
||||
|
||||
Bool ISOInit(CDrv *dv,I64 blk)
|
||||
{
|
||||
CBlkDev *bd=dv->bd;
|
||||
I64 spc=bd->blk_size>>BLK_SIZE_BITS,i=blk/spc,drv_offset=0;
|
||||
CISO1PriDesc *iso=MAlloc(bd->blk_size);
|
||||
CISO1DirEntry *de;
|
||||
CISOPriDesc *iso=MAlloc(bd->blk_size);
|
||||
CISODirEntry *de;
|
||||
Bool unlock,res=FALSE;
|
||||
U8 buf[8];
|
||||
|
||||
@@ -25,10 +21,10 @@ Bool ISOInit(CDrv *dv,I64 blk)
|
||||
LMF_EXACT)) {
|
||||
case 0:
|
||||
switch (iso->type) {
|
||||
case ISO1T_BOOT_RECORD:
|
||||
case ISOT_BOOT_RECORD:
|
||||
drv_offset+=(2*DVD_BLK_SIZE+DVD_BLK_SIZE)/BLK_SIZE;
|
||||
break;
|
||||
case ISO1T_SUPPLEMENTARY_DESC:
|
||||
case ISOT_SUPPLEMENTARY_DESC:
|
||||
de=&iso->root_dir_record;
|
||||
dv->size=iso->vol_space_size.little*bd->blk_size>>BLK_SIZE_BITS;
|
||||
if (!StrCmp(iso->publisher_id,"TempleOS RedSea")) {
|
||||
@@ -41,11 +37,11 @@ Bool ISOInit(CDrv *dv,I64 blk)
|
||||
dv->root_clus=de->loc.little;
|
||||
res=TRUE;
|
||||
goto di_done;
|
||||
case ISO1T_TERMINATOR:
|
||||
case ISOT_TERMINATOR:
|
||||
throw('Drv');
|
||||
}
|
||||
break;
|
||||
default: //Its normal for ISO13346 to read NULL blk as terminator
|
||||
default: //Its normal for ISO3346 to read NULL blk as terminator
|
||||
PrintErr("File System Not Supported\n");
|
||||
throw('Drv');
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@ I64 ClusNumNext(CDrv *dv,I64 c,I64 cnt=1)
|
||||
try {
|
||||
unlock=DrvLock(dv);
|
||||
switch (dv->fs_type) {
|
||||
case FSt_ISO9660:
|
||||
case FSt_REDSEA:
|
||||
c+=cnt;
|
||||
break;
|
||||
@@ -35,7 +34,6 @@ I64 Clus2Blk(CDrv *dv,I64 c)
|
||||
switch (dv->fs_type) {
|
||||
case FSt_REDSEA:
|
||||
return c;
|
||||
case FSt_ISO9660:
|
||||
case FSt_FAT32:
|
||||
return dv->data_area+c*dv->spc;
|
||||
default:
|
||||
@@ -52,10 +50,6 @@ I64 ClusBlkRead(CDrv *dv,U8 *buf,I64 c,I64 blks)
|
||||
try {
|
||||
unlock=DrvLock(dv);
|
||||
switch (dv->fs_type) {
|
||||
case FSt_ISO9660:
|
||||
BlkRead(dv,buf,dv->data_area+c*dv->spc,blks);
|
||||
c+=(blks+dv->spc-1)/dv->spc;
|
||||
break;
|
||||
case FSt_REDSEA:
|
||||
BlkRead(dv,buf,c,blks);
|
||||
c+=blks;
|
||||
|
||||
@@ -13,9 +13,9 @@ Bool CopySingleZ(U8 *f1,U8 *f2) //Just one file
|
||||
Free(file_buf);
|
||||
return ToBool(c);
|
||||
} else
|
||||
PrintErr("File not found.\n");
|
||||
PrintErr("File not found: \"%s\".\n",f1);
|
||||
} else
|
||||
PrintErr("File not found.\n");
|
||||
PrintErr("File not found: \"%s\".\n",f1);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -71,10 +71,10 @@ Bool CopySingle(U8 *f1,U8 *f2) //Just one file
|
||||
Free(buf);
|
||||
return TRUE;
|
||||
} else
|
||||
PrintErr("File not found.\n");
|
||||
PrintErr("File not found: \"%s\".\n",f2);
|
||||
FClose(in_file);
|
||||
} else
|
||||
PrintErr("File not found.\n");
|
||||
PrintErr("File not found: \"%s\".\n",f1);
|
||||
Free(buf);
|
||||
return FALSE;
|
||||
}
|
||||
@@ -94,9 +94,6 @@ I64 Del(U8 *files_find_mask,Bool make_mask=FALSE,
|
||||
res=FAT32FilesDel(dirc->dv,Fs->cur_dir,dirc->mask,
|
||||
0,del_dir,print_msg);
|
||||
break;
|
||||
case FSt_ISO9660:
|
||||
PrintErr("Not Writable\n");
|
||||
break;
|
||||
default:
|
||||
PrintErr("File System Not Supported\n");
|
||||
}
|
||||
|
||||
@@ -5,9 +5,6 @@ Bool DirNew(CDrv *dv,U8 *cur_dir,CDirEntry *tmpde,Bool free_old_chain=TRUE)
|
||||
return RedSeaDirNew(dv,cur_dir,tmpde,free_old_chain);
|
||||
case FSt_FAT32:
|
||||
return FAT32DirNew(dv,cur_dir,tmpde,free_old_chain);
|
||||
case FSt_ISO9660:
|
||||
PrintErr("Not Writable\n");
|
||||
return FALSE;
|
||||
default:
|
||||
PrintErr("File System Not Supported\n");
|
||||
return FALSE;
|
||||
|
||||
@@ -60,9 +60,6 @@ Bool Cd(U8 *dirname=NULL,Bool make_dirs=FALSE)
|
||||
case FSt_FAT32:
|
||||
res=FAT32Cd(buf,cur_dir_clus);
|
||||
break;
|
||||
case FSt_ISO9660:
|
||||
res=ISO1Cd(buf,cur_dir_clus);
|
||||
break;
|
||||
default:
|
||||
PrintErr("File System Not Supported\n");
|
||||
res=FALSE;
|
||||
@@ -173,7 +170,7 @@ Bool DirMk(U8 *filename,I64 entry_cnt=0)
|
||||
if (dirc=DirContextNew(filename)) {
|
||||
if (*dirc->mask) {
|
||||
if (!FileNameChk(dirc->mask))
|
||||
PrintErr("Invalid FileName.\n");
|
||||
PrintErr("Invalid FileName: \"%s\".\n",dirc->mask);
|
||||
else {
|
||||
"Make Directory:%s\n",filename;
|
||||
name=MStrUtil(dirc->mask,
|
||||
@@ -185,9 +182,6 @@ Bool DirMk(U8 *filename,I64 entry_cnt=0)
|
||||
case FSt_FAT32:
|
||||
res=FAT32MkDir(dirc->dv,Fs->cur_dir,name,entry_cnt);
|
||||
break;
|
||||
case FSt_ISO9660:
|
||||
PrintErr("Not Writable\n");
|
||||
break;
|
||||
default:
|
||||
PrintErr("File System Not Supported\n");
|
||||
}
|
||||
|
||||
@@ -278,7 +278,6 @@ Bool Drv(U8 drv_let)
|
||||
switch (dv->fs_type) {
|
||||
case FSt_REDSEA:
|
||||
case FSt_FAT32:
|
||||
case FSt_ISO9660:
|
||||
return TRUE;
|
||||
default:
|
||||
PrintErr("File System Not Supported\n");
|
||||
|
||||
@@ -28,9 +28,6 @@ U8 *FileRead(U8 *filename,I64 *_size=NULL,I64 *_attr=NULL)
|
||||
case FSt_FAT32:
|
||||
res=FAT32FileRead(dirc->dv,Fs->cur_dir,dirc->mask,&size,&attr);
|
||||
break;
|
||||
case FSt_ISO9660:
|
||||
res=ISO1FileRead(dirc->dv,Fs->cur_dir,dirc->mask,&size,&attr);
|
||||
break;
|
||||
default:
|
||||
PrintErr("File System Not Supported\n");
|
||||
}
|
||||
@@ -54,9 +51,6 @@ U8 *FileRead(U8 *filename,I64 *_size=NULL,I64 *_attr=NULL)
|
||||
case FSt_FAT32:
|
||||
res=FAT32FileRead(dirc->dv,Fs->cur_dir,dirc->mask,&size,&attr);
|
||||
break;
|
||||
case FSt_ISO9660:
|
||||
res=ISO1FileRead(dirc->dv,Fs->cur_dir,dirc->mask,&size,&attr);
|
||||
break;
|
||||
default:
|
||||
PrintErr("File System Not Supported\n");
|
||||
}
|
||||
@@ -64,10 +58,8 @@ U8 *FileRead(U8 *filename,I64 *_size=NULL,I64 *_attr=NULL)
|
||||
DirContextDel(dirc);
|
||||
}
|
||||
}
|
||||
if (!res) {
|
||||
"%s ",filename;
|
||||
PrintErr("File not found.\n");
|
||||
}
|
||||
if (!res)
|
||||
PrintErr("File not found: \"%s\".\n",filename);
|
||||
if (res && attr & RS_ATTR_RESIDENT)
|
||||
HashGenericAdd(curname,HTT_FILE,AMAllocIdent(res),size,0,adam_task);
|
||||
}
|
||||
@@ -106,9 +98,6 @@ I64 FileWrite(U8 *filename,U8 *fbuf,I64 size,CDate cdt=0,I64 attr=0)
|
||||
case FSt_FAT32:
|
||||
c=FAT32FileWrite(dirc->dv,Fs->cur_dir,dirc->mask,fbuf,size,cdt,attr);
|
||||
break;
|
||||
case FSt_ISO9660:
|
||||
PrintErr("Not Writable\n");
|
||||
break;
|
||||
default:
|
||||
PrintErr("File System Not Supported\n");
|
||||
}
|
||||
|
||||
@@ -10,9 +10,6 @@ CDirEntry *FilesFind2(U8 *files_find_mask,I64 fuf_flags)
|
||||
case FSt_FAT32:
|
||||
res=FAT32FilesFind(files_find_mask,fuf_flags);
|
||||
break;
|
||||
case FSt_ISO9660:
|
||||
res=ISO1FilesFind(files_find_mask,fuf_flags);
|
||||
break;
|
||||
default:
|
||||
PrintErr("File System Not Supported\n");
|
||||
res=NULL;
|
||||
@@ -91,10 +88,6 @@ Bool FileFind(U8 *filename,CDirEntry *_de=NULL,I64 fuf_flags=0)
|
||||
res=FAT32FileFind(dirc->dv,cur_dir_clus,dirc->mask,
|
||||
&de,fuf_flags);
|
||||
break;
|
||||
case FSt_ISO9660:
|
||||
res=ISO1FileFind(dirc->dv,cur_dir_clus,dirc->mask,
|
||||
&de,fuf_flags);
|
||||
break;
|
||||
default:
|
||||
PrintErr("File System Not Supported\n");
|
||||
}
|
||||
@@ -131,10 +124,6 @@ Bool FileFind(U8 *filename,CDirEntry *_de=NULL,I64 fuf_flags=0)
|
||||
res=FAT32FileFind(dirc->dv,cur_dir_clus,
|
||||
dirc->mask,&de,fuf_flags);
|
||||
break;
|
||||
case FSt_ISO9660:
|
||||
res=ISO1FileFind(dirc->dv,cur_dir_clus,
|
||||
dirc->mask,&de,fuf_flags);
|
||||
break;
|
||||
default:
|
||||
PrintErr("File System Not Supported\n");
|
||||
}
|
||||
|
||||
@@ -86,9 +86,6 @@ U0 Fmt(I64 drv_let,Bool quick=TRUE,Bool confirm=TRUE,I64 type=FSt_FAT32)
|
||||
DskCacheInvalidate(Let2Drv(drv_let));
|
||||
Drv(drv_let);
|
||||
break;
|
||||
case FSt_ISO9660:
|
||||
PrintErr("Not Writable\n");
|
||||
break;
|
||||
default:
|
||||
PrintErr("File System Not Supported\n");
|
||||
}
|
||||
|
||||
@@ -27,9 +27,6 @@ I64 Name2DirClus(CDrv *dv,U8 *dirname)
|
||||
case FSt_FAT32:
|
||||
cont=FAT32FileFind(dv,cur_dir_clus,buf2,&de,FUF_JUST_DIRS);
|
||||
break;
|
||||
case FSt_ISO9660:
|
||||
cont=ISO1FileFind(dv,cur_dir_clus,buf2,&de,FUF_JUST_DIRS);
|
||||
break;
|
||||
default:
|
||||
throw('Drv');
|
||||
}
|
||||
@@ -37,8 +34,7 @@ I64 Name2DirClus(CDrv *dv,U8 *dirname)
|
||||
}
|
||||
}
|
||||
if (!cont) {
|
||||
"%s ",dirname;
|
||||
PrintErr("File not found.\n");
|
||||
PrintErr("File not found: \"%s\".\n",dirname);
|
||||
cur_dir_clus=0;
|
||||
}
|
||||
if (unlock)
|
||||
@@ -72,9 +68,6 @@ I64 Name2ParentDirClus(CDrv *dv,U8 *dirname)
|
||||
case FSt_FAT32:
|
||||
cont=FAT32FileFind(dv,cur_dir_clus,buf2,&de,FUF_JUST_DIRS);
|
||||
break;
|
||||
case FSt_ISO9660:
|
||||
cont=ISO1FileFind(dv,cur_dir_clus,buf2,&de,FUF_JUST_DIRS);
|
||||
break;
|
||||
default:
|
||||
throw('Drv');
|
||||
}
|
||||
@@ -82,8 +75,7 @@ I64 Name2ParentDirClus(CDrv *dv,U8 *dirname)
|
||||
}
|
||||
}
|
||||
if (!cont) {
|
||||
"%s ",dirname;
|
||||
PrintErr("File not found.\n");
|
||||
PrintErr("File not found: \"%s\".\n",dirname);
|
||||
cur_dir_clus2=0;
|
||||
}
|
||||
if (unlock)
|
||||
|
||||
@@ -299,7 +299,7 @@ Bool FAT32FileFind(CDrv *dv,I64 cur_dir_clus,
|
||||
if (dv->fs_type!=FSt_FAT32)
|
||||
PrintErr("Not FAT32 Drv\n");
|
||||
else if (!CFileNameTo(dname,name))
|
||||
PrintErr("Invalid FileName.\n");
|
||||
PrintErr("Invalid FileName: \"%s\".\n",name);
|
||||
else
|
||||
try {
|
||||
unlock=DrvLock(dv);
|
||||
@@ -391,10 +391,8 @@ Bool FAT32Cd(U8 *name,I64 cur_dir_clus)
|
||||
PrintErr("Not FAT32 Drv\n");
|
||||
else if (FAT32FileFind(Fs->cur_dv,cur_dir_clus,name,&de,FUF_JUST_DIRS))
|
||||
return TRUE;
|
||||
else {
|
||||
"%s ",name;
|
||||
PrintErr("File not found.\n");
|
||||
}
|
||||
else
|
||||
PrintErr("File not found: \"%s\".\n",name);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -809,7 +807,7 @@ I64 FAT32FileWrite(CDrv *dv,U8 *cur_dir,U8 *name,U8 *buf,I64 size,
|
||||
if (dv->fs_type!=FSt_FAT32)
|
||||
PrintErr("Not FAT32 Drv\n");
|
||||
else if (!CFileNameTo(de.name,name))
|
||||
PrintErr("Invalid FileName.\n");
|
||||
PrintErr("Invalid FileName: \"%s\".\n",name);
|
||||
else {
|
||||
FAT32FilesDel(dv,cur_dir,de.name,0,FALSE,FALSE);
|
||||
if (attr & RS_ATTR_CONTIGUOUS)
|
||||
|
||||
@@ -166,7 +166,7 @@ Bool RedSeaFileFind(CDrv *dv,I64 cur_dir_clus,U8 *name,
|
||||
if (dv->fs_type!=FSt_REDSEA)
|
||||
PrintErr("Not RedSea Drv\n");
|
||||
else if (!CFileNameTo(dname,name))
|
||||
PrintErr("Invalid FileName.\n");
|
||||
PrintErr("Invalid FileName: \"%s\".\n",name);
|
||||
else
|
||||
try {
|
||||
unlock=DrvLock(dv);
|
||||
@@ -240,10 +240,8 @@ Bool RedSeaCd(U8 *name,I64 cur_dir_clus)
|
||||
PrintErr("Not RedSea Drv\n");
|
||||
else if (RedSeaFileFind(Fs->cur_dv,cur_dir_clus,name,&de,FUF_JUST_DIRS))
|
||||
return TRUE;
|
||||
else {
|
||||
"%s ",name;
|
||||
PrintErr("File not found.\n");
|
||||
}
|
||||
else
|
||||
PrintErr("File not found: \"%s\".\n",name);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -518,7 +516,7 @@ I64 RedSeaFileWrite(CDrv *dv,U8 *cur_dir,U8 *name,U8 *buf,I64 size,
|
||||
if (dv->fs_type!=FSt_REDSEA)
|
||||
PrintErr("Not RedSea Drv\n");
|
||||
else if (!CFileNameTo(de.name,name))
|
||||
PrintErr("Invalid FileName.\n");
|
||||
PrintErr("Invalid FileName: \"%s\".\n",name);
|
||||
else {
|
||||
RedSeaFilesDel(dv,cur_dir,de.name,0,FALSE,FALSE);
|
||||
de.size=size;
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
#include "DskStrB"
|
||||
#include "DskAddDev"
|
||||
#include "DskDirA"
|
||||
#include "FileSysISO"
|
||||
#include "FileSysRedSea"
|
||||
#include "FileSysFAT"
|
||||
#include "DskDirContext"
|
||||
|
||||
+38
-16
@@ -153,29 +153,51 @@ U0 StrPrintFunSeg(U8 *buf,I64 addr,I64 field_len,I64 flags)
|
||||
}
|
||||
if (str) {
|
||||
if (offset>0xFFFF) offset=0xFFFF;
|
||||
if (is_fun) {
|
||||
str2=MStrPrint("&%s",str);
|
||||
if (field_len>7) {
|
||||
if (flags&PRTF_LEFT_JUSTIFY && StrLen(str2)<field_len-7)
|
||||
StrPrint(buf,"%s+0x%04X",str2,offset);
|
||||
if (flags&PRTF_COMMA) {
|
||||
if (is_fun) {
|
||||
str2=MStrPrint("&%s",str);
|
||||
if (!field_len)
|
||||
StrCpy(buf,str2);
|
||||
else if (flags&PRTF_LEFT_JUSTIFY && StrLen(str2)<field_len)
|
||||
StrCpy(buf,str2);
|
||||
else
|
||||
StrPrint(buf,"%*ts+0x%04X",field_len-7,str2,offset);
|
||||
} else
|
||||
StrPrint(buf,"%s+0x%04X",str2,offset);
|
||||
Free(str2);
|
||||
StrPrint(buf,"%*ts",field_len,str2);
|
||||
Free(str2);
|
||||
} else {
|
||||
if (!field_len)
|
||||
StrCpy(buf,str);
|
||||
else if (flags&PRTF_LEFT_JUSTIFY && StrLen(str)<field_len)
|
||||
StrCpy(buf,str);
|
||||
else
|
||||
StrPrint(buf,"%*ts",field_len,str);
|
||||
}
|
||||
} else {
|
||||
if (field_len>7) {
|
||||
if (flags&PRTF_LEFT_JUSTIFY && StrLen(str)<field_len-7)
|
||||
if (is_fun) {
|
||||
str2=MStrPrint("&%s",str);
|
||||
if (field_len && field_len>7) {
|
||||
if (flags&PRTF_LEFT_JUSTIFY && StrLen(str2)<field_len-7)
|
||||
StrPrint(buf,"%s+0x%04X",str2,offset);
|
||||
else
|
||||
StrPrint(buf,"%*ts+0x%04X",field_len-7,str2,offset);
|
||||
} else
|
||||
StrPrint(buf,"%s+0x%04X",str2,offset);
|
||||
Free(str2);
|
||||
} else {
|
||||
if (field_len && field_len>7) {
|
||||
if (flags&PRTF_LEFT_JUSTIFY && StrLen(str)<field_len-7)
|
||||
StrPrint(buf,"%s+0x%04X",str,offset);
|
||||
else
|
||||
StrPrint(buf,"%*ts+0x%04X",field_len-7,str,offset);
|
||||
} else
|
||||
StrPrint(buf,"%s+0x%04X",str,offset);
|
||||
else
|
||||
StrPrint(buf,"%*ts+0x%04X",field_len-7,str,offset);
|
||||
} else
|
||||
StrPrint(buf,"%s+0x%04X",str,offset);
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (flags&PRTF_TRUNCATE)
|
||||
if (flags&PRTF_COMMA)
|
||||
StrCpy(buf,".");
|
||||
else if (flags&PRTF_TRUNCATE && field_len)
|
||||
StrPrint(buf,"%*tX",field_len,addr);
|
||||
else
|
||||
StrPrint(buf,"%X",addr);
|
||||
|
||||
+1
-1
@@ -111,7 +111,7 @@ U0 SysDefinesLoad()
|
||||
DefineLstLoad("ST_BLKDEV_TYPES",
|
||||
"NULL\0RAM\0ATA\0FILE_READ\0FILE_WRITE\0ATAPI\0");
|
||||
DefineLstLoad("ST_DRV_TYPES",
|
||||
"NULL\0REDSEA\0FAT32\0ISO9660\0ISO13490\0ISO13346\0NTFS\0UNKNOWN\0");
|
||||
"NULL\0REDSEA\0FAT32\0ISO9660\0NTFS\0UNKNOWN\0");
|
||||
DefineLstLoad("ST_COLORS","BLACK\0BLUE\0GREEN\0CYAN\0"
|
||||
"RED\0PURPLE\0BROWN\0LTGRAY\0DKGRAY\0LTBLUE\0LTGREEN\0"
|
||||
"LTCYAN\0LTRED\0LTPURPLE\0YELLOW\0WHITE\0");
|
||||
|
||||
@@ -60,8 +60,6 @@ extern I64 GetChar(I64 *_scan_code=NULL,Bool echo=TRUE,Bool raw_cursor=FALSE);
|
||||
extern I64 GetS(U8 *buf,I64 size,Bool allow_ext=TRUE);
|
||||
extern CHeapCtrl *HeapCtrlInit(CHeapCtrl *hc=NULL,
|
||||
CTask *task=NULL,CBlkPool *bp);
|
||||
extern Bool ISO1FileFind(CDrv *dv,I64 cur_dir_clus,U8 *name,
|
||||
CDirEntry *_res,I64 fuf_flags=0);
|
||||
extern Bool ISOInit(CDrv *dv,I64 blk);
|
||||
extern Bool IsDbgMode();
|
||||
extern Bool IsDir(U8 *dir_name);
|
||||
|
||||
+2
-2
@@ -200,7 +200,7 @@ CBinFile *Load(U8 *filename,I64 ld_flags=0,CBinFile *bfh_addr=INVALID_PTR)
|
||||
}
|
||||
|
||||
if (bfh_addr==INVALID_PTR) {
|
||||
if (bfh->module_org==INVALID_PTR) {
|
||||
if (bfh->org==INVALID_PTR) {
|
||||
misalignment=module_align-sizeof(CBinFile);
|
||||
if (misalignment<0)
|
||||
misalignment&=module_align-1;
|
||||
@@ -215,7 +215,7 @@ CBinFile *Load(U8 *filename,I64 ld_flags=0,CBinFile *bfh_addr=INVALID_PTR)
|
||||
goto lo_skip; //File is already in code heap area, don't copy.
|
||||
}
|
||||
} else
|
||||
bfh_addr=bfh->module_org;
|
||||
bfh_addr=bfh->org;
|
||||
}
|
||||
MemCpy(bfh_addr,bfh,size);
|
||||
Free(bfh);
|
||||
|
||||
+3
-4
@@ -48,10 +48,9 @@ U0 SysGlblsInit()
|
||||
for (i=-308;i<309;i++)
|
||||
pow10_I64[i+309]=Pow10(i);
|
||||
|
||||
QueInit(&scrncast.snd_head);
|
||||
scrncast.t0_now=Now;
|
||||
scrncast.t0_tS=tS;
|
||||
scrncast.ona=scrncast.snd_head.ona=0;
|
||||
snd.ona=ONA_REST;
|
||||
QueInit(&snd.record_head);
|
||||
snd.record_head.time=tS;
|
||||
|
||||
ProgressBarsRst;
|
||||
|
||||
|
||||
+1
-1
@@ -82,7 +82,7 @@ I64 HPET()
|
||||
return *(dev.uncached_alias+HPET_MAIN_CNT)(I64 *);
|
||||
}
|
||||
|
||||
I64 TimeStampFreqCal()
|
||||
I64 TimeCal()
|
||||
{
|
||||
static I64 time_stamp_start=0,timer_start=0,HPET_start=0;
|
||||
I64 i;
|
||||
|
||||
+1
-1
@@ -228,7 +228,7 @@ I64 TaskInit(CTask *task,I64 stk_size)
|
||||
task->win_top =13;
|
||||
task->win_bottom =text.rows-2;
|
||||
|
||||
if (blkdev.home_dir) {//Beware Adam $LK,"TaskInit",A="FF:::/Kernel/KStart64.HC,TaskInit"$. I guess ok until $LK,"DskChg",A="FF:::/Kernel/KEnd.HC,DskChg"$().
|
||||
if (blkdev.home_dir) {//Beware Adam $LK,"TaskInit",A="FF:::/Kernel/KStart64.HC,TaskInit"$. I guess ok until $LK,"DskChg",A="FF:::/Kernel/KMain.HC,DskChg"$().
|
||||
task->cur_dv=blkdev.let_to_drv[*blkdev.home_dir-'A'];
|
||||
task->cur_dir=StrNew(blkdev.home_dir+2,task);
|
||||
} else
|
||||
|
||||
+1623
-1632
File diff suppressed because it is too large.
Load diff
+1
-1
@@ -56,6 +56,6 @@
|
||||
#include "EdLite"
|
||||
#include "BlkDev/MakeBlkDev"
|
||||
#include "FunSeg"
|
||||
#include "KEnd"
|
||||
#include "KMain"
|
||||
|
||||
#exe {KCfgDel(kernel_cfg);};
|
||||
+69
-105
@@ -387,7 +387,7 @@ class CBinFile
|
||||
U8 module_align_bits,
|
||||
reserved;
|
||||
U32 bin_signature;
|
||||
I64 module_org,
|
||||
I64 org,
|
||||
patch_table_offset, //$LK,"Patch Table Generation",A="FF:::/Compiler/CMain.HC,IET_ABS_ADDR"$
|
||||
file_size;
|
||||
};
|
||||
@@ -1233,24 +1233,24 @@ public class CDocEntry:CDocEntryBase
|
||||
|
||||
class CEdFindText
|
||||
{
|
||||
U8 find_text[STR_LEN] fmtstr "$$DA-P,"
|
||||
U8 find_text[STR_LEN] format "$$DA-P,"
|
||||
"A=\"Find :%s\"$$\n",
|
||||
replace_text[STR_LEN] fmtstr "$$DA-P,"
|
||||
replace_text[STR_LEN] format "$$DA-P,"
|
||||
"A=\"Replace :%s\"$$\n";
|
||||
Bool replace fmtstr "$$CB,\"Replace\"$$\n",
|
||||
scan_fwd fmtstr "$$CB,\"Fwd\"$$\n",
|
||||
scan_sel_text fmtstr "$$CB,\"Selection\"$$\n",
|
||||
match_case fmtstr "$$CB,\"Match Case\"$$\n",
|
||||
whole_labels fmtstr "$$CB,\"Whole Labels\"$$\n",
|
||||
local_var fmtstr "$$CB,\"Rename Local Var\"$$\n",
|
||||
Bool replace format "$$CB,\"Replace\"$$\n",
|
||||
scan_fwd format "$$CB,\"Fwd\"$$\n",
|
||||
scan_sel_text format "$$CB,\"Selection\"$$\n",
|
||||
match_case format "$$CB,\"Match Case\"$$\n",
|
||||
whole_labels format "$$CB,\"Whole Labels\"$$\n",
|
||||
local_var format "$$CB,\"Rename Local Var\"$$\n",
|
||||
pmt,pad;
|
||||
I64 filter_lines fmtstr "$$DA,A=\"Filter Lines:%d\"$$\n";
|
||||
I64 filter_lines format "$$DA,A=\"Filter Lines:%d\"$$\n";
|
||||
};
|
||||
|
||||
class CEdFileName
|
||||
{
|
||||
CDirContext *dirc;
|
||||
U8 name[256] fmtstr "$$DA-P,LEN=255,A=\"FileName:%s\"$$";
|
||||
U8 name[256] format "$$DA-P,LEN=255,A=\"FileName:%s\"$$";
|
||||
};
|
||||
|
||||
//$LK,"Ed",A="MN:Ed"$()
|
||||
@@ -1475,7 +1475,8 @@ class CWinMgrTimingGlbls
|
||||
I64 calc_idle_cnt;
|
||||
};
|
||||
|
||||
#define WINMGR_FPS 30
|
||||
#define WINMGR_FPS (30000.0/1001)
|
||||
#define WINMGR_PERIOD (1001/30000.0)
|
||||
|
||||
public class CWinMgrGlbls
|
||||
{
|
||||
@@ -1483,11 +1484,16 @@ public class CWinMgrGlbls
|
||||
F64 ode_time,
|
||||
last_ode_time,
|
||||
fps, //You can read but not write this. You have no control.
|
||||
ideal_refresh_tS,
|
||||
last_refresh_tS;
|
||||
CWinMgrTimingGlbls *t;
|
||||
CDate scrn_cast_now;
|
||||
F64 scrn_cast_tS;
|
||||
U8 *scrn_cast_print_fmt;
|
||||
CDC *scrn_cast_dc,*dc2_alias;
|
||||
Bool show_menu,
|
||||
grab_scroll,
|
||||
grab_scroll_closed;
|
||||
grab_scroll,grab_scroll_closed,
|
||||
scrn_cast;
|
||||
};
|
||||
|
||||
#help_index "AutoComplete"
|
||||
@@ -2011,7 +2017,7 @@ class CAOT
|
||||
U8 *buf;
|
||||
I64 rip,rip2,
|
||||
aot_U8s,
|
||||
max_align_bits,module_org;
|
||||
max_align_bits,org;
|
||||
CAOT *parent_aot;
|
||||
CAOTImportExport *next_ie,*last_ie;
|
||||
CAOTAbsAddr *abss;
|
||||
@@ -2064,7 +2070,7 @@ class CAOTCtrl
|
||||
CAsmArg arg1,arg2;
|
||||
CAOTBinBlk *bin;
|
||||
I64 num_bin_U8s,
|
||||
max_align_bits,module_org;
|
||||
max_align_bits,org;
|
||||
CAsmUnresolvedRef *local_unresolved,*glbl_unresolved;
|
||||
CAOTAbsAddr *abss;
|
||||
CAOTHeapGlbl *heap_glbls;
|
||||
@@ -2302,7 +2308,7 @@ public class CATARep
|
||||
#define FILEMASK_SRC "*.HC*;*.HH*;*.IN*;*.PRJ*"
|
||||
#define FILEMASK_DD FILEMASK_SRC ";*.DD*"
|
||||
#define FILEMASK_TXT FILEMASK_DD ";*.TXT*"
|
||||
#define FILEMASK_GR "*.GR*;*.BMP*"
|
||||
#define FILEMASK_GR "*.GR*"
|
||||
|
||||
#help_index "File/Low Level"
|
||||
#define BLK_SIZE_BITS 9
|
||||
@@ -2458,81 +2464,40 @@ class CATAPITrack
|
||||
last_layer_jmp;
|
||||
};
|
||||
|
||||
//ISO1 is ISO9660
|
||||
//ISO2 is ISO13490
|
||||
//ISO3 is ISO13346
|
||||
|
||||
class CISO1Date
|
||||
{
|
||||
U8 year,mon,day,hour,min,sec,sec100;
|
||||
};
|
||||
|
||||
class CISO1DirEntry
|
||||
{
|
||||
U8 len,ext_attr_len;
|
||||
CPalindromeU32 loc;
|
||||
CPalindromeU32 size;
|
||||
CISO1Date date;
|
||||
U8 flags,file_unit_size,interleave;
|
||||
CPalindromeU16 vol_seq_num;
|
||||
U8 name_len,name;
|
||||
};
|
||||
|
||||
class CISO1PathEntry
|
||||
{
|
||||
U8 name_len,zero;
|
||||
U32 blk;
|
||||
U16 parent_entry_num,
|
||||
name[1]; //Aligned to U16 boundries
|
||||
};
|
||||
|
||||
//ISO9660
|
||||
#define ISO1T_BOOT_RECORD 0
|
||||
#define ISO1T_PRI_VOL_DESC 1
|
||||
#define ISO1T_SUPPLEMENTARY_DESC 2
|
||||
#define ISO1T_VOL_DRV_DESC 3
|
||||
#define ISO1T_TERMINATOR 255
|
||||
#define ISOT_BOOT_RECORD 0
|
||||
#define ISOT_PRI_VOL_DESC 1
|
||||
#define ISOT_SUPPLEMENTARY_DESC 2
|
||||
#define ISOT_VOL_DRV_DESC 3
|
||||
#define ISOT_TERMINATOR 255
|
||||
|
||||
class CISO1PriDesc
|
||||
class CISODirEntry
|
||||
{
|
||||
U8 pad[2];
|
||||
CPalindromeU32 loc;
|
||||
U8 pad[24];
|
||||
};
|
||||
|
||||
class CISOPriDesc
|
||||
{
|
||||
U8 type,
|
||||
id[5],
|
||||
version,
|
||||
unused1,
|
||||
system_id[32],
|
||||
vol_id[32],
|
||||
unused2[8];
|
||||
pad[73];
|
||||
CPalindromeU32 vol_space_size;
|
||||
U8 unused3[32];
|
||||
U8 pad[32];
|
||||
CPalindromeU16 vol_set_size;
|
||||
CPalindromeU16 vol_seq_num;
|
||||
CPalindromeU16 log_block_size;
|
||||
CPalindromeU32 path_table_size;
|
||||
U32 type_l_path_table,
|
||||
opt_type_l_path_table,
|
||||
type_m_path_table,
|
||||
opt_type_m_path_table;
|
||||
CISO1DirEntry root_dir_record;
|
||||
U8 vol_set_id[128],
|
||||
U8 pad[20];
|
||||
CISODirEntry root_dir_record;
|
||||
U8 pad[128],
|
||||
publisher_id[128],
|
||||
preparer_id[128],
|
||||
application_id[128],
|
||||
copyright_file_id[37],
|
||||
abstract_file_id[37],
|
||||
bibliographic_file_id[37],
|
||||
creation_date[17],
|
||||
modification_date[17],
|
||||
expiration_date[17],
|
||||
effective_date[17],
|
||||
pad[435],
|
||||
file_structure_version,
|
||||
unused4,
|
||||
application_data[512],
|
||||
unused5[653];
|
||||
pad[1166];
|
||||
};
|
||||
|
||||
#define ISO1_BASE_YEAR 1900
|
||||
#define ISO1_ATTR_DIR 2
|
||||
|
||||
//Red Sea Attributes
|
||||
//See $LK,"ST_FILE_ATTRS",A="MN:ST_FILE_ATTRS"$
|
||||
#define RS_ATTR_READ_ONLY 0x01 //R
|
||||
@@ -2557,15 +2522,12 @@ class CISO1PriDesc
|
||||
|
||||
#help_index "File/Low Level;File/Program Routines"
|
||||
//CDirEntry flags (Used by $LK,"FileMgr",A="MN:FileMgr"$())
|
||||
#define DEF_PROCESSED 1
|
||||
#define DEF_NOT_INITIALIZED 2
|
||||
|
||||
#define CDIR_FILENAME_LEN 38 //Must include terminator zero
|
||||
public class CDirEntry
|
||||
{
|
||||
CDirEntry *next,*parent,*sub;
|
||||
U8 *full_name;
|
||||
I64 flags,user_data;
|
||||
I64 user_data,user_data2;
|
||||
|
||||
U0 start;
|
||||
U16 attr;
|
||||
@@ -2580,6 +2542,7 @@ public class CDirEntry
|
||||
//See $LK,"ST_FILE_UTIL_FLAGS",A="MN:ST_FILE_UTIL_FLAGS"$
|
||||
#define FUf_RECURSE 0
|
||||
#define FUf_DIFF 1
|
||||
#define FUf_DEL 1
|
||||
#define FUf_IGNORE 2
|
||||
#define FUf_ALL 3
|
||||
#define FUf_CANCEL 4
|
||||
@@ -2607,6 +2570,7 @@ public class CDirEntry
|
||||
|
||||
#define FUF_RECURSE 0x0000001 //r
|
||||
#define FUF_DIFF 0x0000002 //d
|
||||
#define FUF_DEL 0x0000002 //d
|
||||
#define FUF_IGNORE 0x0000004 //i
|
||||
#define FUF_ALL 0x0000008 //a
|
||||
#define FUF_CANCEL 0x0000010 //c
|
||||
@@ -2700,12 +2664,10 @@ public class CBlkDev
|
||||
#define FSt_NULL 0
|
||||
#define FSt_REDSEA 1 //Supported
|
||||
#define FSt_FAT32 2 //Supported except for short names, to some degree
|
||||
#define FSt_ISO9660 3 //Supported (CD/DVD)
|
||||
#define FSt_ISO13490 4 //Not Supported (CD/DVD)
|
||||
#define FSt_ISO13346 5 //Not Supported (CD/DVD)
|
||||
#define FSt_NTFS 6 //Not Supported
|
||||
#define FSt_UNKNOWN 7
|
||||
#define FSt_TYPES_NUM 8
|
||||
#define FSt_ISO9660 3 //Not Supported
|
||||
#define FSt_NTFS 4 //Not Supported
|
||||
#define FSt_UNKNOWN 5
|
||||
#define FSt_TYPES_NUM 6
|
||||
#define FSG_TYPE_MASK 0x7FFF
|
||||
//File system type flags
|
||||
#define FStf_DISABLE 15
|
||||
@@ -3063,19 +3025,19 @@ public class CMsStateGlbls
|
||||
|
||||
public class CGridGlbls
|
||||
{
|
||||
Bool snap fmtstr "$$CB,\"Snap Grid\"$$\n",
|
||||
show fmtstr "$$CB,\"Show Grid\"$$\n",
|
||||
coord fmtstr "$$CB,\"Show Coordinates\"$$\n";
|
||||
Bool snap format "$$CB,\"Snap Grid\"$$\n",
|
||||
show format "$$CB,\"Show Grid\"$$\n",
|
||||
coord format "$$CB,\"Show Coordinates\"$$\n";
|
||||
U8 pad[5];
|
||||
F64 x fmtstr "$$DA-TRM,A=\"X Spacing:%6.3f\"$$\n",
|
||||
y fmtstr "$$DA-TRM,A=\"Y Spacing:%6.3f\"$$\n",
|
||||
z fmtstr "$$DA-TRM,A=\"Z Spacing:%6.3f\"$$\n",
|
||||
x_offset fmtstr "$$DA-TRM,A=\"X Offset :%6.3f\"$$\n",
|
||||
y_offset fmtstr "$$DA-TRM,A=\"Y Offset :%6.3f\"$$\n",
|
||||
z_offset fmtstr "$$DA-TRM,A=\"Z Offset :%6.3f\"$$\n",
|
||||
x_speed fmtstr "$$DA-TRM,A=\"X Speed :%6.3f\"$$\n",
|
||||
y_speed fmtstr "$$DA-TRM,A=\"Y Speed :%6.3f\"$$\n",
|
||||
z_speed fmtstr "$$DA-TRM,A=\"Z Speed :%6.3f\"$$\n";
|
||||
F64 x format "$$DA-TRM,A=\"X Spacing:%6.3f\"$$\n",
|
||||
y format "$$DA-TRM,A=\"Y Spacing:%6.3f\"$$\n",
|
||||
z format "$$DA-TRM,A=\"Z Spacing:%6.3f\"$$\n",
|
||||
x_offset format "$$DA-TRM,A=\"X Offset :%6.3f\"$$\n",
|
||||
y_offset format "$$DA-TRM,A=\"Y Offset :%6.3f\"$$\n",
|
||||
z_offset format "$$DA-TRM,A=\"Z Offset :%6.3f\"$$\n",
|
||||
x_speed format "$$DA-TRM,A=\"X Speed :%6.3f\"$$\n",
|
||||
y_speed format "$$DA-TRM,A=\"Y Speed :%6.3f\"$$\n",
|
||||
z_speed format "$$DA-TRM,A=\"Z Speed :%6.3f\"$$\n";
|
||||
};
|
||||
|
||||
#help_index "Ctrls"
|
||||
@@ -3643,7 +3605,9 @@ class CGrSym
|
||||
public class CDC
|
||||
{
|
||||
U0 start;
|
||||
I32 width,width_internal,
|
||||
CDate cdt;
|
||||
I32 x0,y0,
|
||||
width,width_internal,
|
||||
height,
|
||||
flags;
|
||||
U0 end;
|
||||
@@ -3928,11 +3892,11 @@ class CProgress
|
||||
public class CInsReg
|
||||
{
|
||||
Bool registered;
|
||||
I64 host_os fmtstr "$$PURPLE$$Install Registration$$FG$$\n\n"
|
||||
I64 host_os format "$$PURPLE$$Install Registration$$FG$$\n\n"
|
||||
"Host OS:$$LS,D=\"ST_HOST_OSES\"$$\n";
|
||||
I64 host_vm fmtstr "Host VM:$$LS,D=\"ST_HOST_VMS\"$$\n";
|
||||
U8 initials[8] fmtstr "$$DA-P,A=\"Your Initials:%s\"$$\n";
|
||||
I64 machine_num fmtstr
|
||||
I64 host_vm format "Host VM:$$LS,D=\"ST_HOST_VMS\"$$\n";
|
||||
U8 initials[8] format "$$DA-P,A=\"Your Initials:%s\"$$\n";
|
||||
I64 machine_num format
|
||||
"$$DA-TRM,A=\"This Machine Num (Choose Any):%d\"$$\n";
|
||||
};
|
||||
|
||||
|
||||
+2
-3
@@ -705,7 +705,7 @@ extern CTask *sys_winmgr_task,*sys_task_being_scrn_updated;
|
||||
#help_index "Task/Delay;Time/CPU Cycles"
|
||||
public extern U0 Busy(I64 æS); //Loosely timed
|
||||
public extern U0 PortNop(); //On the order of 1uS
|
||||
extern I64 TimeStampFreqCal();
|
||||
extern I64 TimeCal();
|
||||
|
||||
#help_index "Task/Delay;Time/Jiffies"
|
||||
public extern U0 Sleep(I64 mS);
|
||||
@@ -728,7 +728,6 @@ public extern CCntsGlbls cnts;
|
||||
|
||||
#help_index "Time/Date/CDate;Date/CDate"
|
||||
#help_file "::/Doc/TimeDate"
|
||||
extern U0 Date2ISO1(CISO1Date *dst,CDate cdt);
|
||||
public extern U0 Date2Struct(CDateStruct *_ds,CDate cdt);
|
||||
extern U8 *MPrintDate(CDate cdt);
|
||||
extern U8 *MPrintTime(CDate cdt);
|
||||
@@ -750,7 +749,6 @@ public extern U16 mon_start_days2[12];
|
||||
#help_index "Time/HPET"
|
||||
#help_file "::/Doc/TimeHPET"
|
||||
public extern I64 HPET();
|
||||
|
||||
#help_index "Time/Jiffies"
|
||||
#help_file "::/Doc/TimeJiffy"
|
||||
public extern I64 SysTimerRead();//18.33333*65536Hz (SYS_TIMER_FREQ)
|
||||
@@ -761,4 +759,5 @@ public extern F64 tS(); //From SysTimerFreq.
|
||||
|
||||
#help_index "Windows"
|
||||
public extern Bool WinInside(I64 x,I64 y,CTask *task=NULL,I64 border=0);
|
||||
|
||||
#help_index ""
|
||||
+1
-1
@@ -281,7 +281,7 @@ U0 CoreAPSethInit()
|
||||
}
|
||||
|
||||
U0 Core0StartMP()
|
||||
{//Called by adam during $LK,"start-up",A="FF:::/Kernel/KEnd.HC,Core0StartMP"$.
|
||||
{//Called by adam during $LK,"start-up",A="FF:::/Kernel/KMain.HC,Core0StartMP"$.
|
||||
CTask *task;
|
||||
U8 buf[STR_LEN];
|
||||
CAP16BitInit *mp=MP_VECT_ADDR;
|
||||
|
||||
+2
-2
@@ -907,7 +907,7 @@ U0 PrintErr(U8 *fmt,...)
|
||||
{//Print "Err:" and msg in blinking red.
|
||||
U8 *buf=StrPrintJoin(NULL,fmt,argc,argv);
|
||||
GetOutOfDollar;
|
||||
ST_ERR_ST "%s",buf;
|
||||
"%,p %,p %,p %,p " ST_ERR_ST "%s",Caller,Caller(2),Caller(3),Caller(4),buf;
|
||||
Free(buf);
|
||||
}
|
||||
|
||||
@@ -915,6 +915,6 @@ U0 PrintWarn(U8 *fmt,...)
|
||||
{//Print "Warn:" and msg in blinking red.
|
||||
U8 *buf=StrPrintJoin(NULL,fmt,argc,argv);
|
||||
GetOutOfDollar;
|
||||
ST_WARN_ST "%s",buf;
|
||||
"%,p %,p %,p %,p " ST_WARN_ST "%s",Caller,Caller(2),Caller(3),Caller(4),buf;
|
||||
Free(buf);
|
||||
}
|
||||
Reference in new issue
Block a user