TempleOSTS_130707.ISO

This commit is contained in:
Terry A. Davis authored and minexew committed 2018-09-08 21:45:45 +02:00
1 parent 17b71f1a2d
commit 1343005a29
617 files changed
+14399 -25130

No files matched your search

+19 -11
View File
@@ -24,19 +24,23 @@ class CKernelCfg
U8 *acct_name;
U8 *dsk_cache_size_exp;
CDoc *add_dev;
Bool opts[CFG_NUM_OPTIONS];
U8 mem_init_val,heap_init_val,var_init_val,
dft_drv,auto_mount_ide_hd_let,auto_mount_ide_cd_let;
sys_acct_drv,auto_mount_ide_hd_let,auto_mount_ide_cd_let;
Bool cdrom_ports_pmt;
};
CDoc *KernelCfgAddDev(CKernelCfg *c)
{
I64 num_hints,first_prt_num,type,unit,cnt=0;
U8 blks_buf[256],base0_buf[128],base1_buf[128],drv_let;
U8 blks_buf[256],addr_buf[256],base0_buf[128],base1_buf[128];
CATARep *root=NULL,*tempha;
CDoc *doc=DocNew;
Bool make_free;
//See $LK,"InsBootDstDrv","FF:::/TempleOS/Adam/Boot/InsBoot.CPP,InsBootDstDrv"$
if (!(c->sys_acct_drv=NamedFramePtr("InsBootDstDrv")))
c->sys_acct_drv=Fs->cur_prt->drv_let;
PutDefine("ST_MOUNT_INTRO");
do {
@@ -50,11 +54,13 @@ CDoc *KernelCfgAddDev(CKernelCfg *c)
unit=0;
if (type==BDT_RAM) {
PutDefine("ST_MOUNT_ADDR");
GetS(addr_buf,256);
PutDefine("ST_MOUNT_BLKS");
GetS(blks_buf,256);
} else if (type==BDT_ATA ||
type==BDT_ATAPI) {
num_hints=ATARep(TRUE,,&root);
num_hints=ATARep(,,&root);
if (type==BDT_ATAPI) {
PutDefine("ST_MOUNT_BOOTED_CDROM");
if (num_hints)
@@ -94,27 +100,28 @@ CDoc *KernelCfgAddDev(CKernelCfg *c)
if (BDT_NULL<type<BDT_NUM_TYPES && 0<=unit<=1) {
DocPrintF(doc,"bdev=BlkDevNextFree(%d,%d);"
"bdev->unit=%d;",first_prt_num+'A',type,unit);
if (type==BDT_RAM)
if (type==BDT_RAM) {
if (!*addr_buf) StrCpy(addr_buf,"0");
DocPrintF(doc,"bdev->RAM_dsk=%s;",addr_buf);
DocPrintF(doc,"bdev->max_blk=(%s)-1;",blks_buf);
}
make_free=FALSE;
if (type==BDT_ATA || type==BDT_ATAPI) {
if (type==BDT_ATAPI && !*base0_buf) {
c->cdrom_ports_pmt=TRUE;
DocPrintF(doc,"boot_drv_pmt=PmtBaseUnit(bdev);");
if (first_prt_num+'A'==c->sys_acct_drv)
make_free=TRUE;
} else
DocPrintF(doc,"bdev->base0=%s;bdev->base1=%s;",
base0_buf,base1_buf);
}
DocPrintF(doc,"BlkDevAdd(bdev,FALSE,FALSE);");
DocPrintF(doc,"BlkDevAdd(bdev,FALSE,%d);",make_free);
cnt++;
} else
PutDefine("ST_FAILED");
}
} while (!cnt || 0<=first_prt_num<NUM_PRTS);
//See $LK,"InsBootDstDrv","FF:::/TempleOS/Adam/Boot/InsBoot.CPP,InsBootDstDrv"$
if (!(drv_let=NamedFramePtr("InsBootDstDrv")))
drv_let=Fs->cur_prt->drv_let;
c->dft_drv=drv_let;
return doc;
}
@@ -191,6 +198,7 @@ U0 KernelCfgOptions(CKernelCfg *c)
c->auto_mount_ide_hd_let=0;
c->auto_mount_ide_cd_let=0;
}
break;
}
}
} while (*st);