diff --git a/build/AUTO.ISO b/build/AUTO.ISO index 70153a23..d71fbf0e 100755 Binary files a/build/AUTO.ISO and b/build/AUTO.ISO differ diff --git a/src/Doc/ChangeLog.DD b/src/Doc/ChangeLog.DD index aa2d243e..bcf84135 100755 --- a/src/Doc/ChangeLog.DD +++ b/src/Doc/ChangeLog.DD @@ -1,4 +1,9 @@ $WW,1$$FG,5$$TX+CX,"ChangeLog"$$FG$ +$IV,1$----12/04/21 04:16:45----$IV,0$ +* Raised version number to 1.06. +* Removed IDE members and padding from CBlkDev and CBlkDevGlobals, added $MA-X+PU,"ins_port",LM="Find(\"ins_port\",\"/*\");View;"$ to return install-drive recognition functionality. +* Implemented $LK+PU,"BlkDevRep",A="MN:BlkDevRep"$, removed BlkDevRep demo file. + $IV,1$----11/30/21 13:40:29----$IV,0$ * Raised version number to 1.05. * $LK,"R",A="MN:R"$("DocDump", "$LK+PU,"DocDumpLines",A="MN:DocDumpLines"$"); diff --git a/src/Kernel/BlkDev/DiskAHCI.CC b/src/Kernel/BlkDev/DiskAHCI.CC index afc9d59b..8631efaf 100755 --- a/src/Kernel/BlkDev/DiskAHCI.CC +++ b/src/Kernel/BlkDev/DiskAHCI.CC @@ -1065,7 +1065,7 @@ U0 AHCIInit() CAHCIPort *port; I64 i, bdf; - "ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\n"; + "______________________\n"; bdf = PCIClassFind(PCIC_STORAGE << 16 | PCISC_AHCI << 8 + 1, 0); //0x010601, last byte prog_if, AHCI version 1.0 @@ -1125,7 +1125,7 @@ U0 AHCIInit() "Unknown\n"; } } - "ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\n\n"; + "______________________\n\n"; } Bool AHCIBootDVDProbeAll(CBlkDev *bd) @@ -1135,7 +1135,7 @@ Bool AHCIBootDVDProbeAll(CBlkDev *bd) U8 *buf = CAlloc(DVD_BLK_SIZE); CKernel *kernel; - "ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\n"; + "______________________\n"; for (i = 0; i < AHCI_MAX_PORTS; i++) { @@ -1165,7 +1165,7 @@ Bool AHCIBootDVDProbeAll(CBlkDev *bd) if (kernel->compile_time == sys_compile_time) { "AHCI: Found sys_compile_time at BLK %d on Port %d\n", sys_boot_blk, i; - "ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\n"; + "______________________\n"; return TRUE; } else diff --git a/src/Kernel/BlkDev/DiskATAId.CC b/src/Kernel/BlkDev/DiskATAId.CC index f91bc310..5b329aee 100755 --- a/src/Kernel/BlkDev/DiskATAId.CC +++ b/src/Kernel/BlkDev/DiskATAId.CC @@ -1,38 +1,3 @@ -/* // TODO: use this for reference in SATARep when fixing AHCI's lack of blkdev.ins_unit, etc -U0 ATARepEntry(I64 base0, I64 base1, I64 unit, U8 *message, CATARep **_head, I64 *num_hints) -{ - I64 type; - base0 &= -8; - base1 &= -4; - CATARep *tmpha; - - if (type = IDEATAProbe(base0,base1,unit)) - { - *num_hints += 1; - "\n$$PURPLE$$ $$BT+X,\"%d\",LM=\"%d\\n\"$$$$FG$$$$LM,4$$", *num_hints, *num_hints; - if (type == BDT_ATA) - "$$RED$$Hard Drive $$LTBLUE$$ATA "; - else - "$$RED$$CD/DVD Drive $$LTBLUE$$ATAPI "; - "%s$$FG$$\n", message; - 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; - *_head = tmpha; - tmpha->num = *num_hints; - tmpha->type = type; - tmpha->base0 = base0; - tmpha->base1 = base1; - tmpha->unit = unit; - } - } -} -*/ - CBlkDev *ATAMount(U8 first_drive_let, I64 type, I64 port_num) { CBlkDev *res; diff --git a/src/Kernel/BlkDev/DiskAddDev.CC b/src/Kernel/BlkDev/DiskAddDev.CC index 89d70f5d..3b953130 100755 --- a/src/Kernel/BlkDev/DiskAddDev.CC +++ b/src/Kernel/BlkDev/DiskAddDev.CC @@ -20,7 +20,7 @@ U0 BlkDevLockFwdingSet(CBlkDev *bd) bd1 = &blkdev.blkdevs[i]; if (bd1->bd_signature == BD_SIGNATURE_VAL && bd != bd1 && (bd1->type == BDT_ATAPI || bd1->type == BDT_ATA) && - bd1->base0 == bd->base0) + bd1->port_num == bd->port_num) { bd->lock_fwding = bd1; break; diff --git a/src/Kernel/KDebug.CC b/src/Kernel/KDebug.CC index c4ba0d8f..b01b9b2f 100755 --- a/src/Kernel/KDebug.CC +++ b/src/Kernel/KDebug.CC @@ -722,7 +722,7 @@ U0 Fault2(I64 fault_num, I64 fault_err_code) was_mouse_enabled = CallExtStr("MouseHardEnable", FALSE); was_raw = Raw(ON); was_silent = Silent(OFF); - text.raw_flags |= RAWF_SHOW_DOLLAR|RAWF_SCROLL; + text.raw_flags |= RAWF_SHOW_DOLLAR | RAWF_SCROLL; "Task \""; "%s", Fs->task_title; diff --git a/src/Kernel/KGlobals.CC b/src/Kernel/KGlobals.CC index 190cfe4f..8164dcd9 100755 --- a/src/Kernel/KGlobals.CC +++ b/src/Kernel/KGlobals.CC @@ -13,7 +13,7 @@ CTask *sys_winmgr_task, U8 *rev_bits_table; //Table with U8 bits reversed CDate local_time_offset; F64 *pow10_I64, - sys_os_version = 1.05; + sys_os_version = 1.06; CAutoCompleteDictGlobals acd; CAutoCompleteGlobals ac; diff --git a/src/Kernel/KMain.CC b/src/Kernel/KMain.CC index 0f44bd76..1064d254 100755 --- a/src/Kernel/KMain.CC +++ b/src/Kernel/KMain.CC @@ -167,7 +167,7 @@ U0 KMain() //to debug. After this point, use $LK,"RawPrint",A="MN:RawPrint"$() LBts(&sys_run_level, RLf_RAW); "\nZealOS V%0.2f\t%D %T\n", sys_os_version, sys_compile_time, sys_compile_time; - "ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ\n\n"; + "_________________________________\n\n"; "TimerInit;\n"; TimerInit; @@ -194,11 +194,9 @@ U0 KMain() #exe { StreamPrint("HomeSet(\"%s\");\n" - "blkdev.ins_base0 = %d;" - "blkdev.ins_base1 = %d;" - "blkdev.ins_unit = %d;\n", + "blkdev.ins_port = %d;", kernel_config->home_dir, - blkdev.ins_base0, blkdev.ins_base1, blkdev.ins_unit); + blkdev.ins_port); } Gs->idle_task->cur_dv = blkdev.let_to_drive[*blkdev.home_dir - 'A']; @@ -206,11 +204,8 @@ U0 KMain() if (blkdev.dvd_boot_is_good) { bd = Letter2BlkDev(':'); - if (bd->type == BDT_ATAPI) { - blkdev.ins_base0 = bd->base0; - blkdev.ins_base1 = bd->base1; - blkdev.ins_unit = bd->unit; - } + if (bd->type == BDT_ATAPI) + blkdev.ins_port = bd->port_num; } LBts(&sys_run_level, RLf_BLKDEV); diff --git a/src/Kernel/KernelA.HH b/src/Kernel/KernelA.HH index f3ef5695..e78869c4 100755 --- a/src/Kernel/KernelA.HH +++ b/src/Kernel/KernelA.HH @@ -3317,16 +3317,12 @@ public class CBlkDev CAHCIPort *ahci_port; U8 *prd_buf, first_drive_let, - unit, - pad[2], *RAM_disk, *file_disk_name; CFile *file_disk; U32 bd_signature, type, flags, - base0, - base1, blk_size, max_reads, max_writes; @@ -3439,12 +3435,9 @@ public class CBlkDevGlobals write_count, mount_ide_auto_count, cmd_slot_count, - ins_base0, - ins_base1; //Install cd/dvd controller. + ins_port;// Installed-from CD/DVD controller. Bool dvd_boot_is_good, - ahci64, - ins_unit, - pad[2]; + ahci64; }; #help_index "File/Internal" diff --git a/src/System/BlkDev/Mount.CC b/src/System/BlkDev/Mount.CC index 48dad46d..5e5f0eac 100755 --- a/src/System/BlkDev/Mount.CC +++ b/src/System/BlkDev/Mount.CC @@ -104,6 +104,10 @@ public I64 SATARep(I64 bd_type=BDT_NULL) Fs->catch_except = TRUE; "Error at SATA Port %d", i; } + + if (i == blkdev.ins_port) + "\t(Drive originally installed from.)\n"; + "\n\t"; if (temp_blkdev->dev_id_record) diff --git a/src/System/Define.CC b/src/System/Define.CC index 52bbd1af..dc5b20fc 100755 --- a/src/System/Define.CC +++ b/src/System/Define.CC @@ -15,8 +15,8 @@ U0 LoadDocDefines() //$LK,"DD_BOOT_HIGH_LOC_DVD",A="FF:::/System/Boot/BootDVD.CC,DD_BOOT_HIGH_LOC_DVD"$ $TR,"LineRep"$ -$ID,2$DefinePrint("DD_ZEALOS_LOC","95,267"); -$ID,-2$ +$ID,2$DefinePrint("DD_ZEALOS_LOC","95,255"); +$ID,-2$ DefinePrint("DD_MP_VECT", "%08X", MP_VECT_ADDR); DefinePrint("DD_MP_VECT_END", "%08X", MP_VECT_ADDR + COREAP_16BIT_INIT_END - COREAP_16BIT_INIT - 1);