TempleOSCDV4.08.ISO
This commit is contained in:
1 parent
b632ab9a4f
commit
2d56cda5f3
258 files changed
+6973
-5476
No files matched your search
@@ -37,10 +37,9 @@ Bool RBlks(CDrv *dv,U8 *buf, I64 blk, I64 cnt)
|
||||
try {
|
||||
unlock=DrvLock(dv);
|
||||
BlkDevInit(bd);
|
||||
if (dv->base_offset && blk<dv->base_offset ||
|
||||
blk+cnt>dv->base_offset+dv->size)
|
||||
if (dv->drv_offset && blk<dv->drv_offset ||
|
||||
blk+cnt>dv->drv_offset+dv->size)
|
||||
throw('Drv');
|
||||
|
||||
if (bd->flags & BDF_READ_CACHE)
|
||||
RCache(dv,&buf,&blk,&cnt);
|
||||
if (cnt>0) {
|
||||
@@ -48,6 +47,9 @@ Bool RBlks(CDrv *dv,U8 *buf, I64 blk, I64 cnt)
|
||||
case BDT_RAM:
|
||||
MemCpy(buf,bd->RAM_dsk+blk<<BLK_SIZE_BITS,cnt<<BLK_SIZE_BITS);
|
||||
break;
|
||||
case BDT_FILE:
|
||||
FRBlks(bd->file_dsk,buf,blk,cnt);
|
||||
break;
|
||||
case BDT_ATA:
|
||||
case BDT_ATAPI:
|
||||
res=ATARBlks(dv,buf,blk,cnt);
|
||||
@@ -76,14 +78,17 @@ Bool WBlks(CDrv *dv,U8 *buf, I64 blk, I64 cnt)
|
||||
BlkDevInit(bd);
|
||||
if (bd->flags&BDF_READ_ONLY && !(bd->flags & BDF_READ_ONLY_OVERRIDE))
|
||||
throw('BlkDev');
|
||||
if (dv->base_offset && blk<dv->base_offset ||
|
||||
blk+cnt>dv->base_offset+dv->size)
|
||||
if (dv->drv_offset && blk<dv->drv_offset ||
|
||||
blk+cnt>dv->drv_offset+dv->size)
|
||||
throw('Drv');
|
||||
if (cnt>0) {
|
||||
switch (bd->type) {
|
||||
case BDT_RAM:
|
||||
MemCpy(bd->RAM_dsk+blk<<BLK_SIZE_BITS,buf,cnt<<BLK_SIZE_BITS);
|
||||
break;
|
||||
case BDT_FILE:
|
||||
FWBlks(bd->file_dsk,buf,blk,cnt);
|
||||
break;
|
||||
case BDT_ATA:
|
||||
case BDT_ATAPI:
|
||||
res=ATAWBlks(dv,buf,blk,cnt);
|
||||
|
||||
Reference in new issue
Block a user