TempleOSCDV5.01.ISO

This commit is contained in:
Terry A. Davis authored and minexew committed 2018-09-08 21:48:15 +02:00
1 parent f6eacf7744
commit 320c7ee98a
219 files changed
+5211 -4853

No files matched your search

+19 -9
View File
@@ -102,8 +102,11 @@ U0 ATARepEntry(I64 base0,I64 base1,I64 unit,U8 *msg,
"$$RED$$Hard Drive $$LTBLUE$$ATA ";
else
"$$RED$$CD/DVD Drive $$LTBLUE$$ATAPI ";
"%s$$FG$$\nBase0:0x%04X Base1:0x%04X Unit:%d$$LM,0$$\n",
msg,base0,base1,unit;
"%s$$FG$$\n",msg;
if (base0==blkdev.ins_base0 && unit==blkdev.ins_unit)
"$$PURPLE$$(Drive originally installed from.)$$FG$$\n";
"Base0:0x%04X Base1:0x%04X Unit:%d$$LM,0$$\n",
base0,base1,unit;
if (_head) {
tmpha=CAlloc(sizeof(CATARep));
tmpha->next=*_head;
@@ -131,13 +134,13 @@ Bool ATARepExitAllApplications()
public I64 ATARep(Bool pmt=TRUE,Bool just_ide=FALSE,CATARep **_head=NULL)
{//Report possible ATA devices by probing. Hard disks and CD/DVDs.
I64 d1,d2,i,j,k,cnt=0,unlock_flags=0,num_hints=0;
#assert NUM_BLKDEVS<=64
#assert BLKDEVS_NUM<=64
if (_head) *_head=NULL;
if (pmt && ATARepExitAllApplications)
return 0;
for (i=0;i<NUM_BLKDEVS;i++)
for (i=0;i<BLKDEVS_NUM;i++)
if (blkdev.blkdevs[i].bd_signature==BD_SIGNATURE_VAL)
BEqu(&unlock_flags,i,
BlkDevLock(&blkdev.blkdevs[i]));
@@ -185,7 +188,7 @@ public I64 ATARep(Bool pmt=TRUE,Bool just_ide=FALSE,CATARep **_head=NULL)
ATARepEntry(d1,d2,1,"Secondary IDE",_head,&num_hints);
}
'\n\n';
for (i=0;i<NUM_BLKDEVS;i++)
for (i=0;i<BLKDEVS_NUM;i++)
if (Bt(&unlock_flags,i))
BlkDevUnlock(&blkdev.blkdevs[i]);
return num_hints;
@@ -205,7 +208,7 @@ CATARep *ATAIDDrvs(CATARep *head,CATARep **_ata_drv,CATARep **_atapi_drv)
{//This is for when trying to sort-out main hard drives and CD/DVD drives.
CATARep *res=NULL,*tmpha=head,*ata_drv=NULL,*atapi_drv=NULL;
CBlkDev *bd;
Bool was_silent=Silent;
Bool was_silent=Silent,ins_found=FALSE;
bd=Let2BlkDev(':',FALSE);
Silent(was_silent);
while (tmpha) {
@@ -223,11 +226,18 @@ CATARep *ATAIDDrvs(CATARep *head,CATARep **_ata_drv,CATARep **_atapi_drv)
tmpha->unit==ata_drv->unit && tmpha->num<ata_drv->num)
ata_drv=tmpha;
} else if (tmpha->type==BDT_ATAPI) {
if (!atapi_drv || tmpha->unit<atapi_drv->unit ||
tmpha->unit==atapi_drv->unit && tmpha->num<atapi_drv->num)
if (!atapi_drv || !ins_found && (tmpha->unit<atapi_drv->unit ||
tmpha->unit==atapi_drv->unit && tmpha->num<atapi_drv->num))
atapi_drv=tmpha;
}
}
if (tmpha->type==BDT_ATAPI && bd && bd->type==BDT_ATA &&
tmpha->base0==blkdev.ins_base0 && tmpha->unit==blkdev.ins_unit) {
if (!ins_found) {
atapi_drv=tmpha;
ins_found=TRUE;
}
}
tmpha=tmpha->next;
}
if (_ata_drv) *_ata_drv =ata_drv;
@@ -238,7 +248,7 @@ CATARep *ATAIDDrvs(CATARep *head,CATARep **_ata_drv,CATARep **_atapi_drv)
CBlkDev *ATAMount(U8 first_drv_let,I64 type,I64 base0,I64 base1,I64 unit)
{
CBlkDev *res;
if (0<=first_drv_let-'A'<NUM_DRVS && (type==BDT_ATA || type==BDT_ATAPI) &&
if (0<=first_drv_let-'A'<DRVS_NUM && (type==BDT_ATA || type==BDT_ATAPI) &&
0<=unit<=1) {
res=BlkDevNextFreeSlot(first_drv_let,type);
res->unit=unit;
+5 -5
View File
@@ -11,7 +11,7 @@ U0 BlkDevLockFwdingSet(CBlkDev *bd)
break;
case BDT_ATA:
case BDT_ATAPI:
for (i=0;i<NUM_BLKDEVS;i++) {
for (i=0;i<BLKDEVS_NUM;i++) {
bd1=&blkdev.blkdevs[i];
if (bd1->bd_signature==BD_SIGNATURE_VAL && bd!=bd1 &&
(bd1->type==BDT_ATAPI || bd1->type==BDT_ATA) &&
@@ -24,7 +24,7 @@ U0 BlkDevLockFwdingSet(CBlkDev *bd)
}
}
I64 BlkDevAdd(CBlkDev *bd,I64 prt_num=MIN_I64,
I64 BlkDevAdd(CBlkDev *bd,I64 prt_num=I64_MIN,
Bool whole_drv,Bool make_free)
{//It will mount just one partition of prt_num>=0.
//When repartitioing whole drive, whole_drv=TRUE.
@@ -226,9 +226,9 @@ U0 BlkDevsInitAll()
{
CBlkDev *bd;
I64 i;
blkdev.blkdevs=CAlloc(sizeof(CBlkDev)*NUM_BLKDEVS);
blkdev.drvs=CAlloc(sizeof(CDrv)*NUM_DRVS);
for (i=0;i<NUM_DRVS;i++)
blkdev.blkdevs=CAlloc(sizeof(CBlkDev)*BLKDEVS_NUM);
blkdev.drvs=CAlloc(sizeof(CDrv)*DRVS_NUM);
for (i=0;i<DRVS_NUM;i++)
blkdev.let_to_drv[i]=&blkdev.drvs[i];
#exe {
if (kernel_cfg->opts[CFG_AUTO_MOUNT_IDE])
+3 -3
View File
@@ -115,7 +115,7 @@ U0 BlkDevsRelease()
{//When task dies, release all owned BlkDevs.
I64 i;
CBlkDev *bd;
for (i=0;i<NUM_BLKDEVS;i++) {
for (i=0;i<BLKDEVS_NUM;i++) {
bd=&blkdev.blkdevs[i];
if (bd->owning_task==Fs && bd->bd_signature==BD_SIGNATURE_VAL)
BlkDevUnlock(bd,TRUE);
@@ -151,7 +151,7 @@ CBlkDev *BlkDevNextFreeSlot(U8 first_drv_let,I64 type)
}
return res;
}
} while (++i<NUM_BLKDEVS);
} while (++i<BLKDEVS_NUM);
throw('BlkDev');
return NULL; //never gets here
}
@@ -168,7 +168,7 @@ U0 BlkDevDel(CBlkDev *bd)
CBlkDev *BlkDevChk(CBlkDev *bd,Bool except=TRUE)
{//Check for valid BlkDev. Throw exception.
if (!bd || bd->bd_signature!=BD_SIGNATURE_VAL ||
!(BDT_NULL<bd->type<BDT_NUM_TYPES)) {
!(BDT_NULL<bd->type<BDT_TYPES_NUM)) {
if (except)
throw('BlkDev');
else
+3 -3
View File
@@ -19,7 +19,7 @@ CFile *FOpen(U8 *filename,U8 *flags,I64 cnt=0)
if (cnt>0)
f->max_blk=cnt-1;
else
f->max_blk=MAX_I64;
f->max_blk=I64_MAX;
f->file_cluster_num=INVALID_CLUSTER;
full_name=FileNameAbs(filename);
f->dv=Let2Drv(*full_name);
@@ -103,7 +103,7 @@ I64 FSetCluster(CFile *f,I64 c,I64 blk,Bool read)
if (f->cluster!=c) {
if (f->flags & FF_BUF_DIRTY) {
i=dv->spc;
if (f->max_blk!=MAX_I64) {
if (f->max_blk!=I64_MAX) {
i=f->max_blk+1-f->file_cluster_num*dv->spc;
if (i>dv->spc)
i=dv->spc;
@@ -115,7 +115,7 @@ I64 FSetCluster(CFile *f,I64 c,I64 blk,Bool read)
f->file_cluster_num=blk/dv->spc;
if (read) {
i=dv->spc;
if (f->max_blk!=MAX_I64) {
if (f->max_blk!=I64_MAX) {
i=f->max_blk+1-f->file_cluster_num*dv->spc;
if (i>dv->spc)
i=dv->spc;
+7 -7
View File
@@ -28,7 +28,7 @@ U0 DrvsRelease()
{//When task dies, release all owned drvs.
I64 i;
CDrv *dv;
for (i=0;i<NUM_DRVS;i++) {
for (i=0;i<DRVS_NUM;i++) {
dv=&blkdev.drvs[i];
if (dv->owning_task==Fs && dv->dv_signature==DRV_SIGNATURE_VAL)
DrvUnlock(dv,TRUE);
@@ -40,7 +40,7 @@ CDrv *DrvMakeFreeSlot(U8 drv_let)
//!!! drv_let is not a $LK,"remapped",A="MN:DrvMap"$ drv.
I64 i=Let2Let(drv_let)-'A';
CDrv *res;
if (!(0<=i<NUM_DRVS))
if (!(0<=i<DRVS_NUM))
throw('Drv');
res=&blkdev.drvs[i];
MemSet(res,0,sizeof(CDrv));
@@ -52,7 +52,7 @@ U8 DrvNextFreeLet(U8 first_drv_let='C')
{//Locate free slot for new drv, like during $LK,"Mount",A="MN:Mount"$().
//!!! first_drv_let is not a $LK,"remapped",A="MN:DrvMap"$ drv.
I64 i=Let2Let(first_drv_let)-'A',type=Let2BlkDevType(first_drv_let);
if (!(0<=i<NUM_DRVS))
if (!(0<=i<DRVS_NUM))
throw('Drv');
do
if (blkdev.drvs[i].dv_signature!=DRV_SIGNATURE_VAL) {
@@ -61,7 +61,7 @@ U8 DrvNextFreeLet(U8 first_drv_let='C')
else
return i+'A';
}
while (++i<NUM_DRVS);
while (++i<DRVS_NUM);
throw('Drv');
return 0; //Never gets here.
}
@@ -79,7 +79,7 @@ U0 DrvBlkDevDel(CBlkDev *bd)
{//Delete drv's of BlkDev
I64 i;
CDrv *dv;
for (i=0;i<NUM_DRVS;i++) {
for (i=0;i<DRVS_NUM;i++) {
dv=&blkdev.drvs[i];
if (dv->bd==bd)
DrvDel(dv);
@@ -316,7 +316,7 @@ U8 *DrvModelNum(U8 drv_let=0)
return res;
}
U8 blkdev_text_attr[BDT_NUM_TYPES]={BLACK,LTCYAN,WHITE,LTGREEN,LTRED,LTBLUE};
U8 blkdev_text_attr[BDT_TYPES_NUM]={BLACK,LTCYAN,WHITE,LTGREEN,LTRED,LTBLUE};
U8 drv_text_attr[3]={BLACK,BLUE,RED};
U8 DrvTextAttrGet(U8 drv_let=0)
@@ -336,7 +336,7 @@ U0 DrvRep()
I64 ch,i,drv_let,attr;
U8 *st;
"\nDefined Drives:\n";
for (i=0,dv=blkdev.drvs;i<NUM_DRVS;i++,dv++) {
for (i=0,dv=blkdev.drvs;i<DRVS_NUM;i++,dv++) {
if (dv->dv_signature==DRV_SIGNATURE_VAL) {
bd=dv->bd;
drv_let=Drv2Let(dv);
+1 -1
View File
@@ -302,7 +302,7 @@ U0 RedSeaFreeClusters(CDrv *dv,I64 c,I64 cnt)
I64 RedSeaAllocClusters(CDrv *dv,I64 cnt)
{
CFreeLst *tmpf,*best_free=NULL;
I64 i,first,best_size=MAX_I64;
I64 i,first,best_size=I64_MAX;
Bool unlock,unlock_break;
if (cnt<=0)
throw('Drv');