Oberon/ETH Oberon/faq2.3.6
此文档最初托管在ETHZ。 它仍然根据ETH 许可并位于WayBack 存档中。 一些链接已过期,一些说明已过时,但大部分信息仍然有用。 更多信息可通过变体表获取。
链接
-
- 在哪里可以获取最新的 ETH Oberon 系统版本?
- A:访问变体表并选择适合您的平台的实现。 [以前访问 ftp://ftp.ethoberon.ethz.ch/Oberon/ETHOberon/ 并阅读 00README 中的欢迎文本。] 根据表最后一列中链接的说明进行安装。 根据您的地理位置和偏好,您也可以访问镜像站点。 [已过期] Native Oberon 的 DOS 版本也以双 CD-ROM 的形式从 Brighton 大学提供,并从 Brighton 大学资源库在线提供。 [已过期]
-
- 在哪里可以获取其他 Oberon 系统,例如 Oberon V4?
- A:要获取最新版本的 Oberon V4,请访问林茨大学的服务器,地址为 ftp://ftp.ssw.uni-linz.ac.at/pub/Oberon/。 要获取有关 ETH 之外的 Oberon 开发的信息,您可以选择访问
[失效链接]
-
- 谁负责维护系统?
- A:Jürg Gutknecht 教授小组 - http://www.cs.inf.ethz.ch/group/gutknecht/ [注意页面底部的“上次修改”] - 进行研究和开发工作,并维护 ETH Oberon 系统。 可以在变体表中找到不同实现的概述。 [以前“ETH Oberon 系统”页面不再托管在 ETHZ]。
-
- 如何以及在哪里可以获得支持?
- A:
- 咨询支持部分或
- 填写并发送顶部的反馈表格 [已过期] 或
- 发送电子邮件至 [email protected] 或
- 在 Windows 版 Oberon 中,打开 Bug Report/Survey 表格 Bugs.Text [已过期] 并发送。
- 您的文本可以包含任何混合的
- 需要澄清和技术帮助的问题描述
- 评论,批评和建议
- 描述您使用该系统的目的和地点
- 您对系统的评价(满意/不满意)的反馈,作为对开发团队的鼓励。
-
- 我可以从那里获得什么类型的支持?
- A:软件和文档错误的更正。 对建议的改进进行实施,这些改进不需要更改模块接口,也不需要大量人力。 最简单的方法是将尝试性解决方案连同建议一起提交给邮件列表。
-
- 在哪里可以提交我自己的软件扩展作为对 Oberon 用户社区的贡献?
- A:将您的贡献上传到 ftp://ftp.inf.ethz.ch/incoming/
[失效链接] 并遵循 ftp://ftp.ethoberon.ethz.ch/Oberon/ETHOberon/Contrib/readme.txt 中的指南[失效链接]。 目前,项目可以在 GitHub 中维护,例如 扩展 Oberon。
-
- 在哪里可以找到其他人的贡献以及我的贡献?
- A:以前,从 ftp://ftp.ethoberon.ethz.ch/Oberon/ETHOberon/Contrib/ 下载
[失效链接]。 目前,请参考变体表和支持部分中的链接。 A2 有SVN 存档。
-
- 对贡献有什么建议吗?
- A:首先,与 PC Native Oberon 相关的贡献。 项目列表不再动态,但请参阅 http://cas.inf.ethz.ch/projects/a2/。
-
- 如何才能了解新的发展?
- A:您可以请求加入 Oberon 开发人员邮件列表 [已过期]。 有关新开发和基础设施(例如 ftp 站点)更改的信息会定期发送,事件驱动。 用户也可以请求加入专门针对该实现的 Native Oberon 邮件列表。 下一个项目解释了如何做到这一点。
- 或者,咨询此网站上的 HTML 文档 - http://www.ethoberon.ethz.ch
[失效链接]。 Ben Smith-Mannschott 总结了 1999 年 5 月 7 日在苏黎世举行的Oberon 之夜。 该页面还包含 [包含] 一些演示图片和屏幕截图的链接。
[ 原生 | Windows | Linux | MacOberon ]
注意:这些安装部分充当当前公开版本 2.3.4 的突发新闻。 后续版本将附带新的 install.txt,其中包含大部分来自用户问题的相关信息。 与问题相关的疑问将移至专门部分,前提是问题解决方案已集成到新版本中。
-
- 总体系统要求是什么?
- A:硬件要求(处理器、主存储器、外部存储器)在安装说明文档开头指定 - 请参阅下文。
- 总的来说,Oberon 非常小,可以轻松安装在任何最新的平台上。 对于 Native Oberon,必须确定手头的硬件组件是否受支持 - 请参阅下文。
-
- 关于硬件组件和外围设备,具体系统要求是什么? 特别是,哪些显卡可以使用 PC Native Oberon?
- A:适用于 Windows 的 ETH Oberon 系统和 Linux 实现没有超出底层操作系统的特殊要求。 PC Native Oberon 实现要求在硬件兼容性列表中找到。
-
- 是否存在运行在裸机硬件上的 iMac 版本的 Native Oberon,无需 MacOS?
- A:不,不幸的是没有。 由于 Apple 的专有硬件,这种情况可能永远不会出现。 存在适用于 MacOS 的略微过时的 ETH 系统版本。 它可能会在 iMac 上运行。
- Oberon 可以与我安装的软件共存吗?
- A:是的,它可以以多种组合方式共存。 以下是一个可行的示例
- 总共四个 Native Oberon 和一个适用于 Windows 的 Oberon。 使用 Win NT Bootmanager 并将其定义为
- Win NT
- Win NT [VGA 模式]
- DOS 6.21
- SuSE Linux
- DOS 引导由引导菜单控制
- DOS 6.21
- 主分区中的 Native Oberon
- 逻辑驱动器中的 Native Oberon
- 文件中的 Native Oberon
- 而 Linux 引导由 LILO 控制,菜单定义为
- SuSE Linux 6.1
- 主分区中的 Native Oberon
- 逻辑驱动器中的 Native Oberon
- Linux Native Oberon 也已安装并在 X11 下运行。 其他两个独立 Oberon 系统也可以在 X11 下启动。 除了 Linux Oberon 之外,所有这些系统都可以使用引导磁盘启动。
- 站点上提供的各种 ETH Oberon 系统实现有何不同?
- A:本质上,开发团队正在努力实现最终目标,即制作一个通用的可移植系统。 在实践中,这个目标无法实现,但到目前为止所取得的成就已经非常令人印象深刻。 大多数模块是可移植的,而那些不可移植的模块可以通过两种方式轻松识别
- 不可移植模块的名称带有前缀。 在 Native Oberon 的情况下,“IDE.” 是前缀的一个例子。 在适用于 Windows 的 Oberon 中使用的前缀是 “Win32.”。
有用提示:为了直接且明确地访问模块的源模块文本,无需事先了解正确的前缀,请执行 Oberon 命令
- 在非可移植模块的源代码中嵌入的注释会提醒读者。在少数情况下,模块中只有少量过程会导致整个模块不可移植。Win32.Watson.Mod 就是一个例子。
-
- 在不同的 PC Native Oberon 实现中,有一个是“基于 Linux 的”。如果它是“Native”,是否意味着它根本不运行在另一个操作系统之上,而是自己运行?但是,它的名称中却包含“Linux”,所以它不可能是那样——请解释一下!
- A:Linux Native Oberon 是在 Linux 上运行带有 X11 的 Native Oberon 的模拟。它通过用 Linux 的实现替换少数(总共 8 个)低级模块来实现。这些模块的接口与 Native Oberon 的接口完全相同,因此其余的 Native Oberon 模块在这个基础上加载时保持不变。您编写的任何模块也都与 Native Oberon 二进制兼容。您甚至可以将 Linux Native 和真正的 Native 设置为从同一个磁盘分区启动,并可以互换启动。
-
- 在当前环境下,安装 Oberon 的正确步骤是什么?
- A:安装说明包含在每个实现目录中的 readme.txt 文件中。
-
- 更新/升级现有正在运行的 Oberon 系统的正确步骤是什么?
- A:应用 readme.txt 文件中对应于您的实现的“RE-INSTALLATION OF OBERON”部分中描述的方法。 Native Oberon 的特殊说明 如下所示。
-
- 在向 [email protected] 请求支持之前,可以使用哪些故障排除信息?
- A:独立 Native Oberon 的 install.txt 中包含一个“TROUBLESHOOTING”部分,该部分应该可以帮助解决许多问题。本常见问题解答文档旨在记录其他常见问题。
-
- 我有带有 Oberon 的 CHIP CD 3/99。我应该注意哪些事项?
- A:生产者忽略了一个细节:三个文件不是 ASCII 文件,分别是 Oberon\00README.txt、Oberon\license.txt 和 Oberon\Win95NT\00README.txt。使用 Quick View 打开它们,而不是使用默认的记事本。
- Oberon\Native\StdAlone\ 中的 .Arc 文件是 Oberon 安装后使用的 Oberon 文件。
安装说明可以在以下位置找到:
- 一个 HTML 文档 install.html
- 一个纯 ASCII 文本 installA.txt
- 一个 Oberon 文本文档 install.Text,供使用 Oberon 浏览器的人使用。这是原始文本,通过机械转换将其转换为其他两种形式。
已知问题
- 我安装了基于 DOS 的 Native Oberon,但我无法启动它:它要么冻结,要么开始疯狂地发出蜂鸣声。您能帮忙吗?提示:beta 版 2.3.4b 已经修正了这个问题。
- A1:是的,有时安装程序会使用错误的驱动器号,也就是说,它没有按照 DOS 在用于引导 Oberon 时所采用的顺序来命名驱动器。当您使用 install.exe 在 FAT16 分区上的一个大文件中安装基于 DOS 的 Native Oberon,或者使用 config.exe 重新配置系统时,该驱动器可能被命名为 d:。此信息将自动记录在 native.par 文件中,如下所示:
之后,当 DOS 启动时,加载程序会感到困惑,因为 DOS 知道该驱动器是 C:(例如)。如果在这种情况下获取 TRAP 信息,它将显示 TRAP=8,这意味着:使用了错误的磁盘。
临时解决方案:使用编辑器更改 native.par 中的驱动器号。下一个版本将修正此问题。
- A2:是的,当系统安装在逻辑分区中时,可能会出现这种症状。如果在这种情况下获取 TRAP 信息,它将显示 TRAP=15,并且上面的行显示:Error: ~16-bit FAT。下一个版本将修正此问题。
当系统安装在主分区中时,不会出现这种问题。但是,分区的大小至少应该为 16 MB。较小的分区/逻辑驱动器将使用 12 位 FAT 格式化,目前 Disk 模块不支持这种格式。
- 在这个版本 2.3.4b 中,CDAudio 不起作用,但在 2.3.2 和 2.3.0 中可以正常工作?
- A:新的 ATADisk 驱动程序(标准 ATA/EIDE)与 Atapi CD 驱动程序之间存在已知的兼容性问题,这个问题将在以后修复。
- 我可以打开 zip 压缩包,但有时文件提取会失败。问题出在哪里?
- A:是的,我们已经看到了 UnZip 的间歇性问题。在 beta 版中,UnZip 被移除,并被 zlib 取代。
- 具有偶数维度的动态数组表现异常。问题出在哪里?
- A:PC Native Oberon 2.3.5b 的补丁可以在 ftp://ftp.ethoberon.ethz.ch/Oberon/ETHOberon/Native/Update/patches/CompilerPatch235.Arc [失效链接] 上找到。该错误由 Alan Freed 发现,并由 Patrik Reali 修正。
- 我下载 DosBased 文件时遇到了很多麻烦。当我使用 copy /b dosbased.aa+... 等命令将这些文件拼凑成 dosbased.zip 时,得到的 zip 文件似乎已损坏?有什么想法吗?
- A1:事实证明,下载似乎没有问题,但 NT DOS 框中的 copy /b 命令可能是问题所在。当我使用真正的 DOS 6.22 执行 copy 命令时,它就正常工作了。(由 Mark Woodworth 报告)。
- A2:为了避免使用模糊的 copy 命令,现在已将合并的 dosbased.zip 上传到 ftp.inf.ethz.ch。子目录 ETHOberon/Native/DosBased/Full/ 和 ETHOberon/Native/Update/v236/DosBased/Full/ 中都包含这样的合并的 dosbased.zip。
BIOS
- 我的 BIOS 中有一个设置“Plug & Play OS Yes/No”。应该如何设置?
- A:将其设置为“No”,以便 BIOS 启用所有即插即用设备。
启动管理器
- 我正在使用 BootMagic。Native Oberon 需要任何特殊的设置吗?
- A:是的,在引导菜单设置中禁用“从操作系统中隐藏分区”设置。否则,BootMagic 将从 Oberon 中隐藏 FAT 分区。
鼠标
- 我不确定应该在提示行中选择哪个鼠标驱动程序?有什么提示吗?
- A:最新的 beta 版(以及之前的 beta 版)允许您交互式地选择鼠标驱动程序。现在一切都变得简单多了。
- 我在安装 Native Oberon 2.3.6 时遇到了问题。我无法通过鼠标配置屏幕,因为 PS/2 探测似乎挂起了我的 AT 键盘接口。鼠标是罗技串行鼠标。有没有办法在启动提示符中指定鼠标(就像我们以前所做的那样),并绕过鼠标配置屏幕?
- A:这个问题在后续版本中已修复。
- 当通过在 Oberon-0 的鼠标配置屏幕上按“M”来安装串行鼠标时,出现了许多陷阱查看器。问题可能出在哪里?
- A:检查 BIOS 中是否已将 COM 端口配置为其标准设置。COM1 应该位于 3F8H,IRQ 4,COM2 应该位于 2F8H,IRQ 3。
- 我有一台罗技 Trackman(型号为 T-CC2-9F,序列号为 LU469200987)。当将其配置为 MT="LM1"(类型 => LogiMan = 5)时,Trackman 可以正常工作,并且在配置为其他任何类型时,它都不能正常工作,但它不会产生中间按钮单击,因此左手必须按住 Ctrl 键才能代替中间按钮。我该怎么办?由 [email protected] 发送。
- A:发送者更改了 Input.Mod 并设法使中间按钮工作。该修改将被研究并包含在下一个版本中。
显示器 / 显卡 / 芯片组
- 如果我购买了一个带有 AGP 的 S3-Virge 卡,它可以与 Native Oberon 一起使用吗?
- A:这个问题很难回答,因为唯一真正知道的方法是尝试一下。如果该卡支持 Vesa 2.0,则 Native Vesa 2.0 驱动程序很有可能可以正常工作。继续阅读下一个问题。
- 在配置 Native Oberon 时,查看视频选项,我看到一个卡分辨率组合列表,每个组合也显示为“VESA2.0”。这意味着只有列出的支持 VESA2.0 的卡才能使用吗?也就是说,不是所有支持 VESA2.0 的卡都能使用?
- A:Vesa 2.0 驱动程序使用 Vesa BIOS 服务来使用线性帧缓冲器初始化卡。所以,是的,它应该与所有支持 Vesa 2.0 的卡一起使用。
但是,有些卡只在少数模式下支持 Vesa 2.0,例如 Diamond FireGL 仅在 640x480 模式下支持 Vesa 2.0!运行位于 ftp://ftp.ethoberon.ethz.ch/Oberon/ETHOberon/Contrib/Native/ [失效链接] 的 DOS 版 vesainfo.exe 实用程序(不要加载任何 TSR 或驱动程序)以查看您的 Vesa 2.0 BIOS 支持哪些模式。例如,对 Intel 740 AGP 显卡运行此实用程序表明,该卡支持所有这些 VESA 2.0 模式:
- 如何调整显示器刷新率?
- A:可以通过在启动 Native Oberon 之前立即执行 DOS 刷新命令来更改显示器刷新率。最直接的解决方案是在用于启动 Oberon 的 AUTOEXEC.BAT 文件中插入刷新命令:
oberon.bat 将使用以下命令启动 Native Oberon:
硬盘 / 控制器
- 我尝试将 Oberon 安装到我的硬盘上。跳线设置为“从机模式”。当我单击显示磁盘分区的命令时,鼠标指针卡顿了一会,然后在右下角出现了一个陷阱查看器?
- A:对于单个磁盘,该磁盘必须是“主磁盘”。当安装两个磁盘时,一个主磁盘,一个从磁盘,您可以将 Oberon 安装到任何一个磁盘上。
- 如何让 ETH Native Oberon 版本 2.3.6 从连接到 IDE(ATAPI 1.2)控制器的 SyQuest SparQ 可移动磁带驱动器启动?
- 答: 从 Oberon-0 启动时,在 OBL> 提示符下输入 ATABM=0 并执行 Config.Disk Standard ATA/EIDE。 Peter Percival 发现,在这种情况下,需要使用 ATABM=0 禁用总线主控。如果启用它,将引发陷阱。
Partition.Show 报告
以及 System.OpenKernelLog 生成的以下 Kernel.Log 信息(摘录)
可以在可移动磁盘上安装原生 Oberon。
通信
- 我的 PC 有一张 3Com 509B 卡。系统启动时,509B 上的绿色指示灯亮起。执行“Desktops.OpenDoc "ftp://.host./"”后,几秒钟后 System.Log 报告“ftp://.host./ 加载文档失败”,指示灯熄灭。有什么提示吗?
- 答: 使用卡供应商 [w:3Com|3Com] 提供的配置程序检查您的卡配置。程序 3C5X9CFG.EXE 位于最新驱动程序的第二张软盘上,可以从 support.3com.com/infodeli/tools/nic/3c509B.htm 下载。现在可以从 https://github.com/hackerb9/3C509B-nestor 获取一个反向工程的配置器。使用它来配置(IRQ、I/O 基址等)并测试您的卡。不要选择自动选择模式。
更一般地说,如果您有一张 3Com 卡并且您不知道确切的型号,请运行 3LINK-ID.EXE。
- 当我尝试使用 PPP 时,出现以下陷阱
如何解决这个问题?- 答: 检查 Oberon.Text 中是否 NetSystem.Route0.Mode = ""。
- 我可以使用 ISDN 适配器卡吗?
- 答: 这还没有在这里尝试过,但对于某些 ISDN 适配器来说可能是可能的,如果适配器具有类似于调制解调器的串行接口。Paul Provoost 有一张具有 COMx 接口的 ZYXEL ISDN 适配器。它可以工作!
引用他的话: 使用具有类似于调制解调器的串行接口的 ISDN 适配器就像使用调制解调器一样。但是您必须注意 CHAP 和 PAP 的身份验证方式。我使用 PAP,这意味着我必须在 Oberon.Text 中填写 PAPname 和 PAPPassword 字符串。我 Oberon.Text 的相关部分是
注意,在“CONNECT”之后,立即调用 PPPMain.Startinst。
引用结束
注意需要特殊 Windows 驱动程序才能工作的卡,它们不适用于 Native。也许 Edgar Schwarz 对此了解更多。
- 我知道我必须向操作系统提供中断和 I/O 地址值,但如何提供?
- 答: 如果是这种情况,该卡可能需要一个特殊的驱动程序。
自定义
- 我想使用除基本系统提供的字体之外的其他字体。我该怎么做?
- 答: OpenType for Oberon 包允许您通过两种方式将 TrueType 字体转换为 Oberon 光栅字体
- 转换为后缀为“.Scn.Fnt”、“.Pr3.Fnt”、“.Pr6.Fnt”或“.Pr2.Fnt”的文件
- 动态转换,在需要时即时转换
- 当 Native Oberon 在硬盘上执行“垃圾回收”时,它做了什么?
- 答: Disk 模块使用位图跟踪哪些扇区正在使用。当系统干净退出(System.Quit 或 System.Reboot)时,此映射将保存到磁盘。当系统启动时,映射将从磁盘读取。如果映射超过 90% 满了(即少于 10% 的扇区是空闲的),将执行垃圾回收。这从一个空映射开始,然后找到所有已注册的文件,并将它们的扇区添加到映射中。然后释放所有剩余的扇区以供重复使用。System.Watch 可用于查看当前有多少空间是空闲的。阈值(这里为 10%)从 OBL 配置字符串 DiskGC 中获取,该字符串在 config 字符串 页面中有记录。
低级跟踪
- Oberon-0 无法启动。我可以详细跟踪启动过程吗?
- 答: 可以通过以下设置连接两台 PC 来执行 Oberon 的低级跟踪。
- 使用零调制解调器电缆(例如 Laplink)将 Oberon 测试 PC 上的 COM1 连接到另一台 PC 上的 COM1。
- 在 Oberon 测试 PC 上,设置配置字符串 TraceBPS=19200 和 TracePort=1。这将启用以 19200 bps 的速度跟踪到 COM1,8 位数据,1 位停止位,无奇偶校验。
- 在另一台 PC 上,使用相同的参数配置一个串行终端程序:Oberon 中的 V24.Panel,或 Windows 中的 HyperTerm,或 Linux 中的 Miniterm,或 DOS 中的 Telix。
Oberon 测试 PC 的跟踪输出将通过串行电缆发送到另一台 PC 的终端程序上显示。
- 我可以使用 BlueLabel(一个新的 PC 模拟器,允许您“组合”虚拟 PC,在设置方面具有很大的自由度)在 Motorola Starmax PPC(Mac 克隆)上运行 Native Oberon 吗? - 查看报告?
- 答: 引用:“Native Oberon 2.3.4 现在可以在 Mac 上模拟的奔腾 PC 上运行(Motorola Starmax 5000,PowerPC 603/275MHz,Mac OS 8.1,BlueLabel 1.0.5)。两个已知的后继问题尚待解决。” - Patrick Hunziker。对于与 Mac 相关的问题,您也可以联系 Ben Smith-Mannschott,他也在使用 VirtualPC 在 Mac 上使用 Native。他在启动软盘方面遇到了一些问题,但通过使用软盘映像文件而不是真实软盘解决了这个问题。
- NetSystem 在某些 Windows 系统上无法正常工作。为什么?
- 答: ftp.inf.ethz.ch 上的最新版本已更正。在问题可以在这里重现之前,需要一些耐心的工作。
临时修复: 使用命令:System.Set NetSystem Async := No ~ 修改注册表项。
-
- 我已经安装了 ETH Oberon System for Windows NT。启动 Oberon 时,它出现在一个普通的窗口中,大约 760 x 550 像素,无法最大化。出了什么问题?
- 答: 在桌面上找到 Oberon 快捷方式。将鼠标焦点定位在它上面,然后单击鼠标右键。在菜单中选择属性。现在选择快捷方式选项卡。最后,为运行文本字段选择最大化,并完成新的设置。
-
- 我想在 Oberon.exe 的快捷方式中指定工作目录(“起始位置”属性)。为什么不起作用?
- 答: Oberon 使用注册表项 System\Work 作为工作目录。如果您想使用快捷方式的“起始位置”目录,请将注册表项“Work”设置为一个空字符串。(System.Set System Work := "")
-
- 我已经安装了 ETH Oberon System for Windows NT。当我尝试使用默认的 Windows 打印机打印文档时,我得到的只是非常小的、无法识别的文本。出了什么问题?
- 答: 打开 PrinterInfo.Panel 并单击更新按钮以显示当前设置。如果您的打印机设置为 600 dpi,请使用 Installer.Install Pr6Fnt.Arc 安装相应的字体,或者将您的打印机设置为接受默认安装的 300 dpi 字体。
-
- 我已经安装了 ETH Oberon System for Windows NT。阅读 Printers.Tool,提供了两种不同的打印机驱动程序,默认情况下安装了 Windows 打印管理器。哪一个是最佳选择?
- 答: 如果要打印的文档只使用 Oberon 光栅字体(Syntax、Oberon、Courier、Math 或 Greek),我们建议使用 PSPrinter。确保这些字体按需在 Oberon 系统目录中以 Pr2、Pr3 或 Pr6 字体的形式可用。如果使用了其他字体,您必须指定字体映射。对于查看和打印 PS 文件,我们建议使用 Ghostscript。
如果您有权访问网络 PS 打印机,则可以使用另一个变体。然后您可以选择安装 LPRPrinter,它位于应用程序中(LPRPrinter.Arc)。
WinPrinter 以位图形式(针对每个字符)打印 Oberon 字体。因此,生成的页面可能会变得非常复杂。大多数廉价打印机没有足够的打印机内存来打印使用此打印机驱动程序的复杂页面。在这种情况下,输出将变得混乱。要以 300 DPI 分辨率打印,至少需要 1 MB 的打印机内存,要以 600 DPI 分辨率打印,至少需要 4 MB 的打印机内存。WinPrinter 已证明与以下打印机配合使用。- HP LaserJet 5L(带 5 MB 内存)
- HP LaserJet 4 Mi/Si PS
- HP LaserJet 8000 N
- 我已经安装了 ETH Oberon System for Linux with KDE。如何使用 2 键鼠标控制该系统?Ctrl 键和 Alt 键都无法激活命令。
- 答: 2 键鼠标不适合。可以使用键盘 Ctrl 键模拟 MM 键,但这将需要修改 Input.Mod 以实现此功能。
- 我尝试在 x86 SuSE 6.2 Linux 系统上安装 ETH Oberon System。虽然我完全按照安装说明进行操作,但每次尝试执行系统时都会崩溃。有一个 X 窗口,甚至还有一个 Oberon 陷阱窗口。
- 答1: 如果 Oberon 在初始化期间用尽文件句柄,就会发生这种情况。初始化完成后,垃圾收集器将防止此类情况发生。Oberon 系统已经在 RedHat Linux 系统上进行了测试,在那里从未发生过这种情况。这里有一个解决方法。在 Oberon.Text 中删除或注释掉以下行
并将以下行
更改为
- 答2: Oberon 启动脚本包含错误。将以下行
替换为
信息由 Guenter Feldmann 提供。
- 有没有办法在 MacOberon 中使用 3 键鼠标,而不是使用 Ctrl 键和 Alt/Option 键?
- 答: Patrick Hunziker 最近发现,3 键鼠标 Microspeed Mac Mouse Deluxe 可以轻松配置为使用 MacOberon,使用 Microspeed Mac Mouse Deluxe 驱动程序 3.4。请注意,该产品现已停产。咨询 Microspeed 以了解替代产品。
- 现在我的系统已经安装好了,如何熟悉它的特性?
- 答: 每个实现都包含一个名为 GettingStarted.Text 的文本文档。对许多人来说,图形用户界面很不寻常(与商业软件相比),并且鼠标操作在开始时被认为很笨拙。提到的文本包含沙盒,可以帮助克服这种困难。
- 我意识到 Native 对文件名区分大小写。规则是什么?
- 答: 所有 Native Oberon 系统对文件名都区分大小写。文件系统中的区分大小写与 Oberon 语言中的区分大小写一致。Windows Oberon 不区分大小写。在 MacOberon 中,使用具有“错误大小写”的文件名会导致陷阱。
- Native Oberon 用户会生成许多文件,这些文件都放在同一个目录中,其中一些是短暂的或冗余的,另一些则是不能按名称记住的。其他用户如何清理冗余文件或使用文件名以外的信息查找其他文件?
- 答: 我们建议您执行以下操作
对于临时文件,始终在前面加上“Temp”,这样您可以轻松地删除它们。
要按主题/主题检索文件,请按以下方法进行操作
- 当您开始编写一个“重要”的文本时,将其名称放在某个 .Tool 文件中。无论是您的 System.Tool 版本,还是在其他与项目相关的工具中。
- 当您处理一个文本时,将其名称复制到您的“日志/日记”文本中。
- Find.Panel
查看 N 天前的文件列表可以帮助快速找到文件。目前无法实现,但可以参考 ftp://ftp.ethoberon.ethz.ch/Oberon/ETHOberon/Contrib/Native/TestDir.Mod [失效链接] 并利用它制作一个这样的工具。
这是 Peter Easthope 提出的另一个“清理”方法。
安装系统后执行“System.Directory ^ ... *\d”。这将生成一个完整的文件列表。将其存储在名为 Directory 的文件中。当您想整理文件系统时,再次执行“System.Directory ^ ... *\d”并将结果存储在 Directory.new 中。执行“Diff.Do Directory Directory.new”。新文件将在比较器的右侧查看器中以蓝色显示,很容易找到。逐步浏览查看器并将要删除的文件名复制到 System.DeleteFiles ~ 的参数中。参数组装完成后,执行“System.DeleteFiles ...”。
有些人可能会反对说他们没有在系统安装后执行“System.Directory ^ ... *\d”,因此无法使用这种方法。Oberon 所占空间非常小,因此可以以极低的成本为其分配两个或多个分区。大约 30 分钟内,系统就可以安装在备用分区中,并且可以获得目录列表。
- 当机器运行时间足够长时,就会发生计时器溢出。这个时间段有多长?我该如何解决任何潜在问题?
- A1: 时间段大约为 24 天。
- A2: 要确定任务是否正确运行
- 在建立任务时以及在每次调用 Handle 过程时,将 T.time 字段初始化为 Input.Time 或 Oberon.Time。
- 测试 (time2-time1) < 0 且 NOT (time1 > time2) (最好减去计时器值)。
- A3: 要确定选择是否被正确处理(涉及 Display.SelectMsg 或 Oberon.SelectMsg)
- 将 M.time 字段初始化为 -1
- 如果 (M.time # -1),则存在选择
- 在调用 Oberon.GetSelection 或 Gadgets.GetSelection 后,测试 (M.time # -1)
- 测试 (time2-time1) < 0 且 NOT (time1 > time2) (最好减去计时器值)。根据情况,可能还需要测试 (M.time1 # -1) 或 (M.time2 # -1)。
有关在有符号数上使用模算术比较的示例,请参阅 Wright 和 Stevens 编著的“TCP/IP Illustrated, Vol. 2: The Implementation”,第 810-812 页。
- 我经常找不到移动文本的方法,只能复制它。有什么好主意吗?
- A: 在 2.3.6 版本中添加了剪切和粘贴功能。分两步进行
- 通过在 MR 和 MR+ML 上拖动来选择以删除选定内容
- 设置插入点,并使用 ML+MM 从调用缓冲区中复制
注意: 目前,此功能仅适用于 TextGadgets 编辑器,但在下一个版本中,它也将适用于 TextFrames 和 ScriptFrames(编辑器 Edit、Script、ET)。
- 有没有办法在单轨模式下操作,以便工具和文档都使用整个屏幕宽度在单轨模式下打开?问题是文本查看器不会自动“换行”。这涉及低分辨率(VGA)显示器,这些显示器在笔记本电脑上仍然很常见。因此,必须选择非常小的字体才能在任一轨迹中阅读整行。
- A: 使用 Native Oberon,编辑 Oberon.Text 如下
对于 Windows 版 Oberon,编辑 Configuration.Text 如下
这将在单轨模式下启动 Oberon,但此设置可以通过 System.Close 随时关闭,并通过 System.Grow 恢复。
- 我的电子邮件通讯员提醒我:“你帖子的底部都是什么垃圾?大约 60 行垃圾,就像附件、加密或 uuencode”。我该怎么回答他/她?
- A: 作为一名 Oberon 用户,您发送了一封包含嵌入式 Oberon 对象的电子邮件。如果您收件人不是 Oberon 用户,或者可能没有使用 Oberon 阅读电子邮件,则不应在邮件中发送 Oberon 相关内容。为了确保不会错误地发送此类“垃圾”,请将内容类型(在您的 Mail.Panel 设置图标化器中 - 右下角!)设置为“ASCII”或“ISO-8859-1”。Oberon 邮件发送器将实时删除所有 Oberon 对象,并将其替换为空格。如果内容类型设置为“自动”,则只有当邮件至少包含一个小工具时,才会对其进行 Oberon 编码。
作为一名 Oberon 用户,您可以查看邮件的源代码(使用菜单栏中的 [源代码] 按钮)。“--- start of oberon mail ---”后面的行标志着包含编码 Oberon 对象的邮件的开始,这些对象被视为垃圾。您也可以通过选择此开头并执行 AsciiCoder.DecodeText % @ 来查看它。
- 我可以以批处理模式发送准备好的电子邮件吗?
- A: 不,当前的 Mail.Panel 布局中没有提供此功能。
- 有没有办法快速删除邮件面板中的已读邮件?我知道我可以通过 RM + LM 点击从列表中删除它们,但这种删除方式不会从“MailMessages”文件中删除。我不想编辑这个文件。
- A: 使用 Mail.Collect 命令。这会将 MailMessages 重命名为 MailMessages.Bak,并将未删除的邮件复制到新的 MailMessages 文件中。因此,您使用 MR+ML 交叉点击删除的所有邮件都将消失。
- 请注意,当前 Native Oberon 的文件大小限制约为 12Mb,因此建议定期收集您的邮件,不要使用 Mail.Collect,而是从空“MailMessages”文件开始。
- 如何组织与不同通讯者之间的通信?
- A: Peter Easthope 提交了一个名为“通讯小工具”的案例研究,提供了一个可行的答案。
- 可以使用哪些文字处理软件?
- A: Edit 是所有实现中最简单的文本编辑器,文本编辑器 ET 作为应用程序提供(ET.Arc)。它们都没有文本格式化功能。
在基本的 Native Oberon 系统中,可以使用 Script。使用 Script.Open ScriptGuide.Text 打开其文档。在 Windows、Linux 和 Macintosh 实现中,Script 是一个必须安装的应用程序(Script.Arc)。
如果 Gadgets 安装在基本系统之上,您可以编写 TextDocs 文档。请参阅 TextDocs.Tool 和 EditTools.Tool。使用 Desktops.OpenDoc <name> 打开文档。
Script 和 TextDocs 文档的编辑器是格式化文档编辑器,允许像图形或图片这样的任意对象在文本流中流动。当鼠标光标位于对象的屏幕区域内时,鼠标事件将转发到对象,以便可以在位操作和编辑对象的内容。TextStyle 小工具控制其出现后文本的外观。TextStyle 属性涵盖格式模式、左右边距的宽度、制表符位置、行距和样式位置的分页符。当 TextStyle 可见时,它将作为“标尺”显示在样式位置,显示其当前状态。可以通过鼠标命令直接在标尺上设置最重要的样式属性。
TGX 文本编辑器是 ET 的扩展,由 Christian Hoffmann 提供的 贡献 - [email protected]。
其他 Oberon 系统 有自己的品牌编辑器/文字处理软件。
- 可以使用哪些文档处理系统?
- A1: OberonTeX 是 ETH Oberon 系统的 TeX 和 LaTeX 移植版本。测试版作为贡献提供。请注意,这只是一个正在进行的工作,并将不断更新。正在寻找测试版测试人员/开发人员。
- A2: HTML.Mod 模块可用于将 Oberon 文本转换为 HTML。文本必须根据少量规则编写,使编译器能够识别标题、普通文本、斜体文本、预格式化文本、列表和水平线。虽然非常基础,但它涵盖了基本需求。您现在正在阅读的 HTML 文档就是使用该工具准备的。
- 有没有办法为我打开的所有文档使用不同的默认字体系列或大小?
- A1: 编写一个名为 My.DefaultFont 的命令来修改 Fonts.Default,例如
这只会影响您创建的新文本。现有文本将与其一起存储其字体。- A2: 从 EditTools 模块中选择最合适的命令:EditTools.IncSize、EditTools.ChangeSize 等(打开 EditTools.Tools 以了解)。这些命令对选定文本进行操作。要进行大范围选择,请复制查看器,在顶部查看器中选择顶部,并在底部查看器中选择底部,同时按住 SHIFT 键。
- 有没有办法将 Oberon *.Text 文件转换为 DOS *.txt?
- A: 对于所有实现,请使用 Desktops.OpenDoc <filename> 在查看器中打开文本,使用 F1 (*) 标记文本并执行。
在 Native Oberon 中,您可以一次转换多个文件。
- 您将如何将大型文件在 Linux 和 Native Oberon 之间传输?
- A:
- 如果您在同一台机器上安装了 Linux,我们建议创建一个 FAT16 分区,以便在 Linux 和 Oberon 之间传输文件。在 Linux 上,您可以直接挂载 FAT 分区,而在 Oberon 上,您可以使用 DOS 模块访问它。
要传输整个目录结构,请使用 Unix 构建一个“命令脚本”。
在 Linux 中
在 Oberon 中
并在每行末尾添加 Oberon 文件名。执行命令,瞧!
- 使用 Linux Oberon 或 Linux Native Oberon 首先使用 Oberon 的 Compress 实用程序压缩文件。然后通过软盘传输这些压缩文件。
- 如果您有局域网,请使用 FTP 传输文件。
- Oberon 对 Y2K 问题有多不敏感?
- A: 我们相信系统中的日期例程将在 2000 年后继续正常运行。如果发现问题,将迅速修复。
- 像 Melissa 这样的病毒会影响 Oberon 系统吗?
- A: 不,但仅限于恶意人士找到邮件系统漏洞之前。包含附件的邮件甚至不会影响在 Windows 下运行的 Oberon 系统。道德:发送电子邮件时使用纯文本。不要使用附件。仅使用 Oberon 邮件系统接收邮件。
- 我可以在 ETH Oberon 系统下使用 Oberon-2 编程吗?
- A: 是的,编译器是 Oberon-2 编译器,但必须在 Compiler.Compile 命令中指定选项 \2。但是,该系统完全是用原始的 Oberon 语言编写的。
- Native Oberon 使用 Slim 二进制文件还是纯粹的“本机”二进制文件?
- A: 它不使用 Slim 二进制文件,而是使用 .Obj 和 .Sym 文件格式。这同样适用于最新的 SharkOberon 实现 - 请参阅下一个问题。
- 将系统移植到 DNARD 网络计算机(SharkOberon)需要多少人力?
- A: 仅需 4 个工月即可为编译器编写后端,并移植系统,该系统需要编写几个驱动程序:显示、键盘、鼠标(2 按钮鼠标)和以太网驱动程序。内核包含其自定义内存管理和陷阱处理程序。浮点运算被模拟。为了支持低级编程,编译器中添加了一个汇编器。
编译器基于 Project Oberon 的原始 Wirth 编译器。这可能是该项目能够由一名研究生在短短 4 个月内完成的原因之一。据悉,唯一的扩展是 FOR 语句和指向开放数组的指针。
- 我可以用该系统为 Windows 系统开发 Windows 软件吗?
- 问:是的,可以使用 UserGuide.Text 文档中描述的 PELinker 构建 EXE 和 DLL 可执行文件。但是,这样做可能不是最明智的选择。也存在其他基于 Oberon 的开发系统提供此功能。
- 更一般地说,要了解与 Oberon 相关的基于 Oberon 的编程环境,请参阅 Guy Laden 的 Oberon 系统实现列表 - http://www.math.tau.ac.il/~guy/Oberon/systems.html [失效链接] 以及相关的 Oberon 编译器列表 - http://www.math.tau.ac.il/~guy/Oberon/compilers.html
- 我可以在 ETH Oberon for Windows 系统中调用 Windows API 或 DLL 函数吗?
- 答:可以。关于如何实现此操作的详细信息,请参见随附的 UserGuide.Text 文档。
- 如何控制 PC 的 I/O 端口?
- 答 1:串行端口:使用所有 ETH Oberon 系统实现中提供的 V24 模块提供的功能。PC Native Oberon 支持串行鼠标。
- 答 2:并行端口:使用 PC Native Oberon 的 Centronics 模块提供的功能。它仅限于输出,即不支持双向协议。请参考 串行和并行端口支持 以及维基百科中的 "并行端口"。
- 答 3:声卡:查看 PC Native Oberon 中 Sound 模块或 ETH Oberon for Windows 中 Win.Audio.Arc 的源代码以获得一些启发。这些支持 Soundblaster 兼容卡。注意:Windows 实现中使用的一些模块不可移植(使用选项 \N 编译)。
- Oberon 在最广泛的意义上,是否只用英语记录过?
- 答:并非完全如此。已经出版了四本德语书籍,但极少数论文或文章以德语(主要是)、法语、荷兰语或俄语记录了 Oberon。请参考 参考文献。
- 描述 Oberon 语言和 Oberon 操作系统的几本关键书籍现在已经无法订购了。为了消除所有传言,关于它们的可用性,最后的结论是什么?
- 答:在许多参与者的帮助下,当前状态总结在 参考文献 中。
- 我在哪里可以找到入门资料,或者更好的是,找到一个关于 ETH Oberon 系统的入门课程?
- 答:访问 Günther Sawitzki 的 Oberon 入门 - http://www.statlab.uni-heidelberg.de/projects/oberon/Ito/ 德语版本 Oberon 编程语言入门 可从那里访问。
- 我想知道是否有人已经解答了书籍中的练习?
- N. Wirth 编著的《编译器构造》
答:答案待定... - N. Wirth 和 M. Reiser 编著的《Oberon 编程 / Programmieren in Oberon》
答:没有。
- Native Oberon 的优缺点是什么?
- 答:优点
- 精简软件
- 成熟且稳定的操作系统
- 可扩展
- 易于维护
- 互联网就绪
- 功能强大的面向对象编程语言
- 快速编译器
- 理想的软件开发平台
- 适用于嵌入式系统的最小操作系统
- 免费
- 开源代码,自文档化
- 易于安装
- 可以与其他操作系统共存或在其他操作系统下运行
- 非传统的用户界面
- 很少专业应用
- 对现代适配器和外设的支持有限
- 不是商业支持的产品
- 仅被一个非常小的社区所了解和认可
- 您能举出一些将其用作软件开发平台的示例吗?
- 答:Padded Cell Software Ltd 使用他们的 Oberon 交叉编译器和链接器在 PC Native Oberon 或 DOS 下工作,开发自定义 32 位 Windows 应用程序。请参见最近在苏黎世举行的 Oberon 之夜 中的 截图 - 第 4.1 节。
- 引用:“能够从 ETH Oberon 系统交叉编译到 Win32,意味着我们在软件生产方面完全独立于微软。即使目标是 Windows,在为用户运行系统和使其平稳地作为开发机器运行之间也存在天壤之别——现在我们不必这样做!” - Paul Reed,Padded Cell Software Ltd 的总经理。
- Oberon 系统是否可以有效地用于软件开发以外的用途?
- 答:这是一个我们最近参观过的 工业应用 的例子。
- 我在哪里可以找到 Oberon 的数学例程?
- A:
- 计算分析工具,作者:Alan Freed。
- Oberon 数学和实用程序例程,作者:Ulf Dittmer。
- 线性代数 PACKage,作者:Günther Sawitzki。关于 LAPACK 的维基百科文章。
- 我想构建一些驱动程序。版本 2.3.2 有几个 *.Mod,其中包含 'i386' 代码的示例。我不清楚如何传递参数并从 i386 代码 PROCEDURE 返回值。在线是否有正式的 'i386 代码' 语法?
- 答:Patrik Reali 在他的 OP2 for PC Native Oberon 页面 上记录了这一点。
- 您对将 CLI(命令行界面)查看器作为 Oberon 的扩展有什么看法?
- 答:命令行界面与 TUI 的比较。
- ETH Oberon 系统在哪些法律条款下受版权保护?
- 答:根据 PC Native Oberon 附带的 Install.txt 文件的法律信息部分和 ETH Oberon for Windows 附带的 Distribution.Text 文件中包含的条款,允许使用、复制、修改或分发系统软件。
源代码受版权保护,如 许可条款 中所述。作为提醒,每个源模块文本开头都包含许可文本的摘录作为注释。
- ETH Oberon 系统与其他 Oberon 系统相比有何不同?
- 答:ETH 的 Oberon 系统的祖先如下所示。
V1 和 V2 之间的主要区别在于引入了可扩展的文本模型和文本编辑器 Write。
V2 和 V4 之间的主要区别在于统一了两个文本编辑器 Edit 和 Write。为了避免与 ETH Oberon(当时称为“系统 3”)混淆,V2 的直接继任者被命名为 V4。
V2 和 ETH Oberon 系统之间主要的区别在于,大约一年后出现的 ETH Oberon 引入了一个更通用的对象模型,它没有限制在文本元素上,还引入了持久对象库的概念。
Josef Templ 的引文 - 大约 1994 年
目前,Oberon 系统 V4 由 系统软件组 维护,该组隶属于 林茨大学,该组对该系统进行了相当大的发展。
同时,也出现了其他几个 Oberon 系统。
2002 年 12 月 9 日 - 版权所有 © 2002 ETH Zürich。保留所有权利。
电子邮件:oberon at inf.ethz.ch
主页:www.ethoberon.ethz.ch/