Oberon/ETH Oberon/WebConfig
本文件最初託管在 ETHZ。它仍然 在 Wayback 檔案中,根據 ETH 許可證.
原生 Oberon 使用配置字串來設定低階配置選項。這些字串是(名稱,值)ASCII 字串對,儲存在引導裝置(軟盤或硬碟)上的表格中。這些字串的永久值通常在安裝期間使用 Oberon-0 中的 Install 或 FDInstall 程式設定。字串由系統中的低階模組使用 Kernel.GetConfig 過程讀取。高階模組應該使用更靈活的 Oberon.Text 和 Oberon.OpenScanner 過程來獲取配置資訊。
有時需要暫時覆蓋一些配置字串的設定。OBL 引導載入程式提供了執行此操作的功能
啟動系統時,在出現“Oberon Bootstrap Loader”訊息之前,啟用 ScrollLock 或按住任何 Shift 鍵。應出現“OBL>”提示,並將顯示配置字串的當前值。此提示下有一些選項
- 輸入“c”繼續引導。
- 輸入“name=val”形式的字串(不帶引號)來設定新的配置字串或修改現有字串。可以透過將字串設定為空值來刪除字串。從版本 2.23 開始,名稱字串不再區分大小寫。
- 輸入“w”將新配置寫入引導軟盤或硬碟上的配置表。
- 任何其他內容都會導致顯示簡短幫助。
基於 DOS 的引導載入程式 noboot.exe 使用 DOS 檔案儲存配置資訊。最新版本的引導載入程式還支援使用 ScrollLock 或 Shift 鍵更改配置字串的方法。它不會使用內建編輯器,而是使用 EDITOR 環境變數指定命令列(預設值為“edit”)來呼叫任何 DOS 編輯器。在呼叫編輯器時,noboot.exe 將配置檔案的名稱附加到命令列。

以下是當前定義的配置字串(注意下面顯示的版本號;某些字串僅在系統某些版本中定義)。
顯示驅動程式
- "Display": 定義載入 Display.Obj 時使用的字首字串。常見值為“VGA.”、“W32.”、“ET4000.”、“S3C805.” 和“S3C924.”。在模組 Modules 中使用。
- "Init": 用於顯示模式初始化。一個 8 位十六進位制數字列表(最多 75 個位元組),數字之間沒有空格。此字串在引導時解釋,此時處理器仍處於 16 位模式。這些值被解釋為機器程式碼並執行。這是一種強大的(儘管粗糙)方法,可以透過設定暫存器、寫入低記憶體設定區域和執行 BIOS 呼叫來設定顯示模式。在引導載入程式中使用(從版本 2.06 開始)。為了方便追蹤安裝問題,將 Init=9090 設定為隱式設定 Display="Empty." 和 TraceBPS="-1"(在 Kernel 和 Modules 模組中,從版本 2.3.4 開始)。
- "DWidth": 設定螢幕寬度。有效值為 320、640、800、1024 和 1280。必須使用 Video 將螢幕設定為相容模式。在大多數顯示驅動程式中使用。
- "DHeight": 設定螢幕高度。有效值為 200、480、600、768 和 1024。必須使用 Video 將螢幕設定為相容模式。在大多數顯示驅動程式中使用。
- "DDepth": 設定螢幕深度。有效值為 8、16 和 32(取決於驅動程式)。在真彩色顯示驅動程式中使用。
- "DMem": 設定顯示記憶體大小。有效值為 1024、2048 等。在大多數顯示驅動程式中使用。
- "DRefresh": 設定重新整理率(預設值為 80)。在 Permedia 2 驅動程式中使用。
- "DReset": 如果為 # 0,則在啟動時重置卡。在 Permedia 2 驅動程式中使用。
輸入驅動程式
- "PS2": 設定 PS/2 樣式滑鼠的檢測。有效值為“0”和“1”。如果設定為“0”,則不會嘗試檢測 PS/2 滑鼠。在 ConfigMouse 模組中使用(版本 2.3.7 之後)。
- "Keyboard": 定義鍵盤型別。有效值為“US”,表示 US 101 鍵鍵盤,或檔名以載入特定鍵盤表文件。請注意,Oberon 字型不包含鍵盤上列印的所有鍵,因此某些鍵不可用。在 Input 模組中使用。
- "NumLock": 設定 NumLock 的啟動狀態。預設值為“1”。設定為“0”以在啟動時停用 NumLock。在 Input 模組中使用(從版本 2.2.7 開始)。
- "MT": 定義使用的滑鼠協議型別。選項為 PS2、LM1、LM2、LM3、MS1、MS2、MS3、MS4、MSM、MSI(分別是 PS/2 內建、羅技 1-3、滑鼠系統公司 1-4、微軟 2 鍵、微軟 IntelliMouse 序列)。此設定將覆蓋 MouseType 的設定。在 Input 模組中使用(從版本 2.3.0 開始)。
- "MouseType": 定義使用的滑鼠協議型別。有效值為 0 到 6 之間的數字,含義如下:0=Microsoft 滑鼠協議,1=滑鼠系統協議 1,2=羅技 MM 系列協議,3=羅技協議(舊版),4=滑鼠系統協議 2,5=羅技 MouseMan/TrackMan(新版),6=輔助埠上的 PS/2 滑鼠,7=滑鼠系統協議 3,8 = 滑鼠系統協議 4。滑鼠型別 0 到 5 以及 7 到 8 都是針對序列埠上的滑鼠。在 Input 模組中使用。型別 7 和 8 在版本 2.2.9 中引入。
- "MP": MousePort 的更短、覆蓋名稱。在 Input 模組中使用(從版本 2.3.0 開始)。
- "MousePort": 對於序列滑鼠,定義滑鼠連線到的埠。有效值為 1 和 2,分別表示第一個和第二個序列埠。對於 PS/2 滑鼠,不需要此設定。在 Input 模組中使用。
- "Buttons": 定義滑鼠上有多少個按鈕。如果此值為 2,鍵盤上的 Ctrl 鍵將模擬滑鼠中鍵。如果值為 3,Ctrl 鍵將僅具有其通常的功能。從版本 2.2.7 開始:值 -2 或 -3 將也使用 Ctrl 鍵,除了實際的中鍵狀態(在具有雙鍵和三鍵滑鼠的筆記型電腦上很有用)。從版本 2.3.0 開始:值 -3 為預設值,一旦看到真正的滑鼠中鍵,它將切換到值 3。在 Input 模組中使用。從版本 2.3.4 開始,別名為“MB”。
- "MouseMap": 重新排列滑鼠按鈕。值為三個數字,每個數字從 0 到 2。以下定義 Input.Mouse 返回的位值:MR=digit0,MM=digit1,ML=digit2。預設值為“012”。設定為“210”以供左手使用,或設定為“021”以供羅技無線滑鼠使用。在 Input 模組中使用(從版本 2.2.7 開始)。從版本 2.3.4 開始,別名為“MM”。
- "Threshold": 定義何時啟用滑鼠加速。如果滑鼠移動速度快於此值(以每滑鼠事件畫素為單位),則游標將根據“Speedup”的值加速或減速。預設閾值為 5。將其設定為 9999 以停用加速。在 Input 模組中使用(從版本 2.06 開始)。
- "Speedup": 定義滑鼠加速值。如果滑鼠移動速度快於閾值,游標將以“speedup/10”倍於滑鼠速度的速度移動。即,如果加速值為 10,則游標將以與滑鼠相同的速度移動,如果加速值為 15(預設值),則游標將以滑鼠速度的 1.5 倍移動。在 Input 模組中使用(從版本 2.06 開始)。
- "EscCompat": ESC 鍵相容性選項。有效值為“1”表示是(預設值),“0”表示否。如果是,ESC 鍵將被解釋為中性,如其他 Oberon 發行版中一樣。在此模式下,可以使用 F3、Shift-ESC 或 Alt-keycode 技術生成 ESC 字元。在 Input 模組中使用(從版本 2.07 開始)。
檔案系統和磁碟驅動程式
- "FileSystem": 定義基於 FAT 的檔案系統的檔案系統位置。如果為空,則使用原生分割槽。在 Disk 和 InstDisk 中使用(在 Oberon-0 中)。從版本 2.2.8 開始,在 InstDisk 模組中稱為“FileSystem”,在 Disk 模組中稱為“DiskFile”。
- "Disk0": (僅限 IDEDisk,不適用於 ATADisk!)定義硬碟 0 的引數。值為三個或六個以“,”分隔的整數。前三個整數分別定義氣缸數(1-65535)、磁頭數(1-16)和每磁軌扇區數(1-63)。對於 IDE 磁碟,實際值並不重要,但這些數字的乘積除以 2 應該等於或小於磁碟大小(以 KB 為單位)。為了避免在與其他作業系統共享磁碟時出現引導問題,這些值應該與 BIOS 使用的值相同。如果指定了六個整數,則最後三個整數定義寫預補償值(通常為 65535)以及在 Disk.GetParams 呼叫中返回的氣缸數和磁頭數的覆蓋值。這些值僅在與其他作業系統共享大型磁碟的特殊情況下使用。“Disk1”與“Disk0”相同,但適用於驅動器 1。在 IDE.Disk 和 IDE.InstDisk 模組中使用(在 Oberon-0 中)。從版本 2.22 開始,可以將“auto”指定為值。這將透過讀取分割槽表來自動檢測磁碟引數。這僅在磁碟已分割槽時才有用。否則,可以透過在值後面直接加上字母“Mb”來指定磁碟大小(以 Mb 為單位)。
- "IDE": 定義 IDE 磁碟驅動程式的引數。預設值為 14,1F0H,3F6H。第一個值為 IRQ,第二個為控制埠,第三個為暫存器埠。其他常見值為 15,170H,376H。在 Disk 和 InstDisk 模組中使用(從版本 2.21 開始),以及 ATADisk 模組中使用(從版本 2.3.0 開始)。ATADisk 還支援 IDE1、IDE2、IDE3 和 IDE4,用於最多四個控制器(版本 2.3.0 之後)。
- "ATABM": 如果設定為 "0",則 ATADisk 驅動程式不會嘗試檢測匯流排主控功能。在 ATADisk 模組中使用(版本 2.3.0 之後)。
- "SingleBlocks": 如果設定為 "1",則 IDE 磁碟驅動程式每次只讀取和寫入一個磁碟塊。在 Disk 和 InstDisk 模組中使用(版本 2.2.7 起)。
- "AHA1520": 定義 AHA1520 SCSI 磁碟驅動程式的引數。值為 6 個用 "," 分隔的數值:irq (11),portbase (340H),hostid (7),bios (DC000H),parity (0),disconnect (0)。括號中指示預設值,十六進位制值以 "H" 結尾。在 AHA1520 模組中使用(版本 2.25 起)。
- "DiskCache": 預設值為 100。磁碟快取大小,以 2k 扇區為單位。100 提供良好的快取效能,並佔用約 200k 記憶體。大小為 0 將停用快取。可以使用 System.State Disk 檢視快取效能。檢視變數 Creads、Cwrites、Creadhits 和 Cwritehits。在 Disk 模組中使用(版本 2.2 起)。從版本 2.2.7 開始,可以使用逗號分隔的第二個引數 ("i" 或 "p") 來指定。 "i" 指定 "寫入" 快取,即所有寫入僅儲存在快取中,而不儲存在磁碟上。 "p" 指定 "寫入預先載入" 快取,它類似於寫入快取,但在啟動時,整個磁碟被讀入快取(快取必須足夠大),然後不再對磁碟進行讀寫操作。
- "PartType": 定義 Native Oberon 的分割槽型別。預設值為 79。應使用 70-79 之間的數值。在 Disk 和 InstDisk 模組中使用(在 Oberon-0 中,版本 01.12.00 之前)。
- "DiskGC": 10-100,預設值為 10。定義磁碟垃圾回收是否應在啟動時進行。如果磁碟可用空間小於 x%,則執行垃圾回收。如果可用空間小於 1MB,或者系統未正常關閉,則無論如何都會執行 GC。在 FileDir 模組中使用(版本 2.07 起)。
- "RamDiskSize": 預設值(最小值)為 400。在 Oberon-0 中使用的 RAM 磁碟大小。在 Ram.Disk 模組中使用(版本 2.2 到版本 2.2.8)。在 OFSBoot0 模組中再次使用,預設值為 1024 個 2k 塊(從 28.03.00 起)。
- "Prefix": 定義預設檔案字首。在引導新系統時使用。
- "Diskette0": 定義磁碟驅動器 0 的型別。有效值為 720、1440 和 2880,分別表示 720k、1.44M 和 2.88M 驅動器。可用於覆蓋自動檢測,如果自動檢測在您的硬體上不起作用。 "Diskette1" 與之相同,但針對驅動器 1。在 Diskette0 模組中使用(版本 2.05 起可用)。
- "Archive": 定義要由 Oberon-0 解壓縮到 RAM 卷的 .tgz 存檔的名稱。在 OFSBoot0 中使用(從 28.03.00 起)。
- "BootVol": 指定引導卷。在 OFSBoot 模組中使用(從 20.03.00 版本起)。
- "SCSIDebug": 跟蹤標誌位。TraceSense = 01H 和 TraceDetection = 02H(從 03.05.00 起)。
記憶體管理
- "StackSize": 定義為堆疊分配的位元組數。預設值為 131072,即 128k。在 Kernel 模組中使用。
- "DMASize": 定義可以使用 Kernel.NewDMA 分配的位元組數。預設值為 18k (4800H)。在 Kernel 模組中使用(版本 2.07 起)。
- "MapAdr#" 和 "MapLen#": 定義要對映到虛擬地址空間的物理地址範圍。用於實驗用途。# 是從 0 到 9 的數字。地址可以使用 "H" 字尾以十六進位制形式指定。在 Kernel 模組中使用(版本 2.2 起)。
- "MapVesa": 將物理地址的特殊範圍對映到虛擬地址空間。專門用於 Vesa 2.0 線性幀緩衝區顯示驅動程式。如果設定為 "1",將在 DX:CX 處對映 4Mb。DX:CX 是顯示 "Init" 字串在引導載入程式執行後 DX 和 CX 暫存器的值。在 Kernel 模組中使用(版本 2.2 起)。
- "=0" 和 "=1": 用於 VESA 顯示初始化。返回一個 32 位值,編碼為帶 "H" 字尾的十六進位制數。返回的值分別是 BX:AX 或 DX:CX。這些是顯示 "Init" 字串在引導載入程式執行後指定暫存器的值。在 Vesa 2.0 顯示模組中使用(版本 2.2 起)。
- "PageHeap": 要為頁面堆保留的低記憶體千位元組數(預設值為 16)。由 MapPhysical 用於分配頁面表。每個對映的 4Mb 區域都需要一個 4k 頁面。在 Kernel 模組中使用(版本 2.2.9 之後)。
- "ExtMemSize": 可用的擴充套件記憶體兆位元組數(覆蓋自動檢測)。在 Kernel 模組中使用(版本 2.2.9 之後)。
相容性
- "CPU": 覆蓋處理器檢測。可以設定為 "3"、"4" 或 "5",分別表示 386、486 或 Pentium。任何其他值將導致執行自動檢測。在 Kernel 模組中使用(版本 2.07 起)。
- "APM": 覆蓋自動電源管理 (APM) 檢測。可以設定為 "0" 以停用 APM 檢測。在 Kernel 模組中使用(版本 2.2 起)。
- "Copro": 覆蓋協處理器檢測。如果設定為 "1",則始終使用協處理器,如果設定為 "0",則始終使用模擬器,無論是否存在協處理器。在 Kernel 模組中使用(版本 2.06 起)。
- "ClockMode": 配置即時時鐘的讀取方式。預設模式 "0" 表示 RT 時鐘被程式設計為生成 1 秒中斷。模式 "1" 表示時鐘被輪詢,這大約慢 40 倍。當啟動期間在 3 秒內未檢測到時鐘中斷時,此模式也會自動使用。在 Kernel 模組中使用(版本 2.2.10 起)。
自定義
- "FontConv": 如果設定為 "0",則不會自動將 Syntax 字型對映到 Oberon 字型。在 Objects 模組中使用,直到版本 2.2.7,在 Fonts 模組中使用,此後一直使用。
- "Color": 如果設定為 "0",則基本系統將以黑白模式啟動。這可能對沒有彩色螢幕的舊 PC 有用。請注意,只有基本系統將以黑白模式顯示。工具仍然是彩色的。
- "PowerSave": 設定為 "0" 以在 Oberon 空閒迴圈中停用 HLT 指令。預設情況下執行 HLT 指令以節省電力。在 Oberon 模組中使用(版本 2.2.7 起)以及 Kernel 模組中使用(版本 2.2.9 之後)。
- "TracePort": 此值對裝置驅動程式編寫者非常有用。它可以用來將五個 Kernel.Write 過程(WriteString、WriteChar、WriteInt、WriteHex、WriteMemory)的輸出傳送到序列埠。透過將終端或序列印表機連線到埠,可以檢視跟蹤輸出(即使來自中斷處理程式)。有效值為 1 和 2,分別對應第一個和第二個序列埠。在 Kernel 模組中使用。
- "TraceBPS": 此值定義使用 TracePort 設定的序列連線的速度。常見值為 9600 或 19200。將其設定為 -1 將導致跟蹤輸出被髮送到螢幕記憶體。螢幕必須處於 80x25 文字模式才能顯示(例如,Init=90)。在 Kernel 模組中使用。
- "TracePrinter": 設定為 1 到 3 之間的數字以將跟蹤輸出傳送到印表機埠 n(1..3),由 BIOS 初始化。如果 n 為 0,則不執行印表機跟蹤(預設值)。如果 n 為其他數字,則該數字將用作印表機埠的基地址。在 Kernel 模組中使用(從 25.04.00 起)。
- "TraceSize": Kernel.GetLog 跟蹤緩衝區的大小,以位元組為單位(預設值為 2048)。在 Kernel 模組中使用(版本 2.3.7b 之後)。
- "TraceDiskette": 如果設定為 "1",則 Diskette0 模組中的磁碟驅動程式將輸出一些跟蹤資訊。這可用於查詢磁碟驅動程式中的問題。
- "TraceHeap": 整數值按位解釋為標誌,以開啟各種堆跟蹤語句。實際標誌可能因版本而異。在 Kernel 的版本 2.05 中首次使用。
- "TraceModules": 如果設定為 "1",則在載入時跟蹤模組名稱和地址。在 Modules 模組中使用(版本 2.21 起)。
- "ModExt": 預設物件副檔名。在 Modules 模組中使用(版本 2.3.3 起)。
- "Beeps": 如果設定為 "0",則在核心陷阱期間停用摩爾斯電碼蜂鳴聲。在 Kernel 模組中使用(版本 2.3.0 起)。
已棄用
- "Video": 用於顯示模式初始化(從版本 2.06 起被 "Init" 字串棄用)。一個逗號分隔的十六進位制數字列表(每個數字最多 16 位,即 64 位)。此字串在啟動時解釋,此時處理器仍處於 16 位模式。對指定的每個數字執行 INT 10H BIOS 呼叫。暫存器 AX、BX、CX 和 DX 根據指定的數字進行設定。AX 從位 0-15 的值設定,BX 從位 16-31 設定,CX 從位 32-47 設定,DX 從位 48 到 63 設定。例如: "Video=12,3F001001" 將執行兩個 INT 10H 呼叫。第一個呼叫為 AX=12H,BX=0,CX=0,DX=0,第二個呼叫為 AX=3F00H,BX=1001H,CX=0,DX=0。在引導載入程式中使用,在影片 BIOS 仍然可用(16 位模式)時,為 Display 模組初始化顯示卡。
- "DiskIRQ": 定義 IDE 磁碟驅動程式的 IRQ。預設值為 14。在 Disk 和 InstDisk 模組中使用(版本 2.07 起,從版本 2.21 起被 IDE 替代)。
- "DiskCtrl": 定義 IDE 磁碟驅動程式的控制埠。預設值為 01F0H。在 Disk 和 InstDisk 模組中使用(版本 2.07 起,從版本 2.21 起被 IDE 替代)。
- "DiskReg": 定義 IDE 磁碟驅動程式的暫存器埠。預設值為 03F6H。在 Disk 和 InstDisk 模組中使用(版本 2.07 起,從版本 2.21 起被 IDE 替代)。
- "AHA1520Base": 定義 Adaptec 1520 控制器埠的基地址。預設值為 340H。在 AHA1520 模組中使用(版本 2.1 起,從版本 2.25 起被 AHA1520 替代)。
- "AHA1520BIOS": 定義 Adaptec 1520 控制器的 BIOS 地址。預設值為 0DC000H。在 AHA1520 模組中使用(版本 2.1 起,從版本 2.25 起被 AHA1520 替代)。
- "AHA1520IRQ": 定義 Adaptec 1520 控制器的 irq。預設值為 0BH。在 AHA1520 模組中使用(版本 2.1 起,從版本 2.25 起被 AHA1520 替代)。
- "AHA1520HostID": 定義 Adaptec 1520 控制器的主機 ID。預設值為 7。在 AHA1520 模組中使用(版本 2.1 起,從版本 2.25 起被 AHA1520 替代)。
- "AHA1520Parity": 定義 Adaptec 1520 控制器是否執行奇偶校驗檢查。預設值為 0。在 AHA1520 模組中使用(版本 2.1 起,從版本 2.25 起被 AHA1520 替代)。
- "AHA1520Discon": 定義 Adaptec 1520 控制器是否可以進行斷開連線。預設值為 0。在 AHA1520 模組中使用(版本 2.1 起,從版本 2.25 起被 AHA1520 替代)。
2001 年 8 月 26 日 - 版權所有 © 2003 蘇黎世聯邦理工學院。保留所有權利。
電子郵件:oberon-web at inf.ethz.ch [已失效]
主頁:http://www.ethoberon.ethz.ch [已失效]