Site index: [ Native home | Release History | Technical Info | Screenshots | Installation | Registry ]
Page index: [ Requirements | 2.3.6 | 2.3.5b | 2.3.4b | 2.3.3b | 2.3.2 | 2.3.1 | 2.3.0 | 2.2.6 (CD) | 2.2.5 | 2.2 (and older) ]
PC Native Oberon: Release History
The most recent release is listed after the requirements below. Releases not shown here were available internally only.
The following are supported by beta release 2.3.6:
- Processor: 80386, Pentium or compatible (Cyrix, AMD).
- Bus: ISA, EISA or PCI.
- RAM: 4Mb or more (configuring the system for 2Mb is also possible).
- Hard disk controller: IDE, EIDE, ESDI, Adaptec AIC 7xxx SCSI (beta), Adaptec 1520 SCSI or NCR 810 SCSI.
- Hard disk space: 3Mb minimum (30Mb for all packages and sources).
- Display controller: Standard VGA (640x480x4 only). S3-805, S3-924, S3Trio64, S3Aurora, Video7 Mirage, Tseng ET4000, Tseng W32, Cirrus Logic GD 54xx, Cirrus Logic GD 542x, 3Dlabs Permedia 2 (e.g. Diamond FireGL 1000) or Vesa 2.0 generic (all up to 1280x1024x8). Also ATI Mach64 (e.g. Rage Pro Turbo) and ATI Mach32 (1024x768x8 only). For Gadgets at least 800x600 resolution is recommended, otherwise TextFrames should be used.
- Diskette controller: Standard drive supporting 720k and/or 1.44Mb media.
- Mouse: PS/2-type 3-button mouse recommended (e.g. Logitech Pilot). Also serial-port mice on COM1 or COM2: Logitech (3 types), Mouse Systems compatible (4 types), Microsoft 2-button and Microsoft serial IntelliMouse.
- Keyboard: US, UK, Swiss German, German, Canadian, Norwegian, Turkish, Polish, French or Dvorak.
- Network adapter (optional): 3Com Etherlink III family (e.g. 3C509) or 3Com FastEtherLink (3C905B).
- Modem (optional): Any modem on COM1 or COM2 (not WinModem).
- Dialup account (optional): SLIP or PPP.
- Sound adapter (optional): Soundblaster-compatible.
Also see installation reports.
The most relevant changes for users and programmers since release 2.3.2 are:
- Simpler mouse configuration in Oberon-0. No more rebooting required.
- Beta version of Adaptec AIC 7xxx SCSI driver included (Thanks Patrik Reali). To access this driver in Oberon-0, go to the end of Install.Tool and execute Config.Options Disk.
- Standard ATA/EIDE disk driver is now compatible with more drives, and supports drives larger than 8Gb.
- Support for truecolor added in Display, Display3 and Printer3. Only the S3Trio64 driver currently supports truecolor, but others will follow later. Execute Watson.ShowDef Display and read comments 17 to 21 at the end for more information.
- TextGadgets: ML-MM interclick uses the recall buffer if no selection available for copy.
- Object files and symbol files are now combined into one .Obj file. The restrictions on module keys have been relaxed, as the object (or fine-grained) symbol table model is now used.
- FTPTool has been renamed to FTP and can now be used in the basic system (no longer requires Gadgets). The old FTP module requiring Gadgets is now called FTPDocs.
- Mail.Send now supports list of text names as parameter, allowing off-line composition of email. See Mail.Tool for syntax.
- Support for accurate timing added in Kernel for device driver writers (MilliTimer, SetTimer, Expired).
- Compiler now has \1 option to compile only Oberon-1 code with POINTER TO ARRAY. See Compiler.Tool for options.
- Oberon-0 can now write noboot.exe and native.par to a DOS partition for DOS-based booting. See Configure.Tool option 4.
- Many errors were fixed and small updates made. See the detailed lists below.
Detailed changes since release 2.3.5b:
- install.txt: Disk drivers documentation improved.
- Gfx*, Leo*: Updated to 1.30.
- ATADisk: Improved parsing of IDE# parameter.
- MathH: Get and Set added (alfreed).
- InstallFiles.Tool, Configure.Tool: c:/system3 changed to c:/native.
Detailed changes since release 2.3.4b:
- Kernel: Trace code added if TraceHeap # 0.
- Browser, Watson0, Watson: Fixed initialization of obj file extension (prk).
- OberonDrivers.Text: Removed AIC7890.
- SCSI, Adaptec7Script, Adaptec7: Updated (prk).
- System.Tool, System3.Tool: Removed *.Sym references.
- Compress, CompressTools: Export ratio field.
- Modules, Watson0, Release, BasicSystem.Text: .Obf -> .Obj.
- Desktops: Export menuButtonW, namePlateW, menuC.
- MenuViewers, Desktops: Undo "lost viewer" fix.
- AIC7890, AIC7890Disk: Replaced by Adaptec7.
- Bitmaps: Replaced with SharkOberon version (asigner).
- SVGAH.Display: Generic Hicolor driver added (paulreed).
- Config: Generate command added. Boot.Bin renamed to Native.Bin.
- Input: Removed DCT and double-click MM emulation.
- vesainfo.exe: Also show non-8-bit modes.
- ConfigMouse: Cosmetic changes.
- OPP: Fixed open array problem (prk).
- OPB: Fix spurious error messages with NEW (prk).
- Permedia2.Display, OberonDrivers.Text: Beta accellerated truecolor version (fkuhn).
- Watson: Constant spacing fixed (prk).
- MathH: Fixed DIV/MOD, ENTIER added (alfreed, prk).
- Keyboard, OberonDrivers.Text, Configure.Tool, KeyFR.Bin: French keyboard table added (gmeunier).
- Compiler: Option parsing fixed (prk).
- OPT: Object file trap because of type re-export fixed (prk).
- TerminalFrames: replace mode replaced with paint mode.
- Leonardo: Removed from beta distribution.
- NetSystem.Tool: Added FTP commands.
- Oberon: Set FG and BG colors to black and white if Default.Pal is missing.
- OPM: Removed FileDir import.
- BootLinker: Cosmetic NL added.
- ATADisk: Ability to disable IDE0 or IDE1 by setting it to 0. 50ms pause in Identify, and select device 0.
- MathH: Unary "-" optimized (prk).
- LPRPrinter: Options can be specified.
- FTP, FTPDocs, Definitions.Tool, FTP.Tool: FTP to FTPDocs, FTPTool to FTP (ejz).
- FTPTool: No longer requires Gadgets, now usable in basic system (ejz).
- Desktops: Fixed size problem & iconizer default position (ejz).
- Partition: More partition types from Jacques Eloff.
- Documents: Allow colon in file names.
- Files: Replaced CODE with new SYSTEM functions.
- OPB, OPT: SYSTEM.HALT (prk).
- OPL: SYSTEM.MOVE optimized (prk).
- Gfx*: Updated to 1.30 state with 5,6,5 truecolor fixes (eos).
- Watson0, Watson: Problem with Sym files and ";" fixed (prk).
- OPP: Fixed problem with := overloading (prk).
- LPRPrinter: Use "l" (direct) option instead of "o" (postscript) option.
- Files: Max file name is 31 characters, plus 0X.
- System: Directory \d now also shows file details with 0 date.
- ATADisk: Fixed for Compaq laptop.
- Partition: "OS/2" changed to "NTFS/HPFS".
- Mail: Send button in mailto: url fixed (ejz).
- HTTPDocs: Ln removed in "not supported" message.
- Attributes: Echo command skips first space, and stops before first ~.
- Oberon.Report.Text: Removed Geneva font references.
- FATFiles: DOS.Copy file c:/dir/ ~ now gives error message.
- Backup.Tool, DOS: Delete and Rename commands implemented.
- OberonDrivers.Text, S3Trio.Display: Use DDepth instead of DColor, cleaner setup.
- MathH: 64-bit integer math module with operator overloading added to release (prk).
- OPP: Check that := operator is correct - no return type, first par must be var (prk).
- Compiler, OPP, Compiler.Tool: \1 option to compile only Oberon-1 with POINTER TO ARRAY (prk).
- Tar: Size may contain spaces (eos).
- Desktops: Menu syntax: { cmd [ title ] } . cmd = name | string . string = "'" chars "'" . title = "[" chars "]" .
- RandomNumbers: Double precision computation to be more portable for SharkOberon.
- Desktops: Lock view by default (ejz).
- ScrollViews, Views: Locked attribute added (ejz).
- SCSI, Adaptec7Script, Adaptec7: Updated in oberon0.dsk (prk).
- Watson: Spacing error in procedure parameters fixed (ejz).
- Mail: Mail.Send * | {textfile} ~ allows offline composition of email (es).
- ATADisk: Bus-master kernel log messages made more clear.
- Mail.Tool: Section on topics at end extended.
- Snapshot: Support for truecolor (very slow!).
Known problems in this beta release:
- The new ATADisk driver (Standard ATA/EIDE) is incompatible with the old Atapi CD driver. Symptom: When a button on the CDAudio.Panel is pressed, a TRAP 8 occurs in Kernel.InstallIP. Workaround: Use the old IDEDisk driver (Standard IDE). Note that this driver does not support big disks.
- Middle button emulation using Ctrl is not reliable when using a Microsoft IntelliMouse on the PS/2 port. Workaround: Set MB=2 at the OBL prompt or in native.par.
Detailed changes in April 8 update of oberon0.dsk:
- Adaptec7: Error in card detection fixed (prk).
- Adaptec7Script, Adaptec7: Better handling of selection timeout (prk).
- Modules: resMsg fixed.
- NetSystem: Trace cleanup.
- OberonDrivers.Text: Setup for S3Trio64V Truecolor driver fixed (DColor="2")
Detailed changes since release 2.3.2:
- Net3Com905B: Media type init fixed.
- Kernel: Updated to 6 Apr 1999.
- Oberon.Text: Obsolete TeleNews config removed.
- TextGadgets0: Undo MM-MR change.
- Oberon-0: Intro graphic removed.
- System: Cosmetic change.
- System.Text: Version number fixed.
- OBL intro screen: Double-spacing removed.
- Documentation: Definitions.Arc added.
- ConfigMouse: Finalized and added to release.
- Config: Copy all configuration strings entered at OBL prompt.
- Diskette0: Number of retries increased.
- Input, Oberon, ConfigMouse: Run-time mouse configuration.
- NetDNS: Write to kernel log when switching to a new DNS server.
- News: \n option to show new messages only (e.g. "news:comp.lang.oberon@50\n" shows 50 newest message that have not been read), off-by-1 error fixed, / changed to . to make valid filename (es).
- PPPLCP: Answer smaller echo requests (es, af).
- Input: Reset added for simpler mouse configuration in Oberon-0.
- TextGadgets0: ML-MM interclick inserts recall buffer if no selection available.
- Adaptec7: Initialization speeded up (prk).
- web.arc, gadgets.arc, apps.arc, install.txt: Packages combined and reorganized. TDD removed for now.
- UnZip: Removed from release because of unreliability. Will be replaced later.
- Mail: More friendly error messages, TraceMail option added.
- Gfx.Tool: Edited for release (removed installation commands).
- Tasks: Module removed from distribution, replaced by System.ShowTasks.
- Backup.Tool, Miscellaneous.Tool: DOS commands moved to Backup.Tool.
- TDD*: Moved to additional applications.
- Display3, Printer3: Truecolor support (ejz).
- FTP: Fixed url format ;type=... (ejz).
- Kernel: MilliTimer, SetTimer, Expired added for accurate timing.
- SCSI, Adaptec7Script, Adaptec7, OberonDrivers.Text: Added Adaptec 7xxx beta driver (prk).
- OPP: FOR forward reference problem fixed (prk).
- Partition: Check for large disk placeholder.
- ATADisk: LBA mode implemented, supporting disks > 8Gb.
- NamePlates: Error in ConsumeChar fixed (ejz).
- Kernel: Fixed Shutdown error caused by int 15 change.
- ARM.OBE.Mod: Fixed DIV ASR error (asigner).
- Texts, Attributes: Include underscore in names (ejz).
- System: Allow 4-digit years in Time (ejz).
- FTP: Passive mode implemented (ejz).
- Disk, InstDisk: Fixed GetBPB error which caused problems with some DOS FAT16-based installations.
- ATADisk: New interrupt-driven PIO reading/writing may fix many problems.
- Kernel: Treat int 15 as unexpected interrupt (possible on systems with an APIC).
- FTPTool: CompactDir index trap fixed (ejz).
- NamePlates, Desktops: More user-friendly resizing of viewer (ejz).
- TextGadgets0, TextFields: Ctrl characters not entered (ejz).
- HTML: Error with links in pre-formatted text fixed (afi).
- ATADisk: Fixed CHS setup.
- Compiler, Builder: Option to set extension of obj file.
- System.Text: Fixed IIIComEther reference.
- Net3Com509, Net3Com905B: Renamed from IIICom509, IIICom905B.
- NetSystem, NetIP, NetBase, NetDNS: NetSystem.Show command added.
- NetSystem: Automatically get host name if not defined.
- Partition, Disk, InstDisk: DOS-like drive lettering (ignore NTFS).
- Oberon: F5/F7 now also works on truecolor.
- OberonDrivers.Text: Trident, S3Trio hicolor/truecolor modes added.
- SVGA.Display: Bank switching for Trident 9xxx added (hweaver).
- Disk: Friendlier error message if partition not found + show partitions.
- Mail: Display Reply-To: (if available) and From: fields.
- W32.Display: Updated to newest interface.
- ATADisk: Cosmetic changes.
- TextFrames, NetSystem: Parameter fix for recursive Calls.
- MenuViewers, Desktops: Avoid "lost viewer" problem (ejz).
- Watson: CONST Test* = ASH(1, 2) fix (ejz).
- Mail: Empty Subject fixed (ejz).
- Watson0: Cmd button on Watson.Panel fixed (prk).
- Mail: Reply-To fixed, UIDL fix (ejz).
- Magnifier: Rewritten with Display.TransferBlock (ejz).
- Display.*: New Format encodings, TrueColor() added (ejz).
- TextGadgets0, Display3: TrueColor invertC update.
- News: Undocumented nolinks switch removed, News.ShowAllGroups writes out URL (ejz).
- Gfx*, Leo*: Gfx and Leonardo 1.11 (eos).
- Mail: LoadMsgs buffering, Reply-To change to From, ordering of fields different (ejz).
- TextFields: Update for atribitrary character mappings.
- Kernel: MapPhysical allows efficient mapping of 640k-1M area.
- TextGadgets0: InvertC update for truecolor.
- Watson0: Sym file decoding fixed (prk).
- Decoder: LODSW/D decoding fixed (prk).
- OPB: Auto-deferencing of pointer to array removed, now according to Oberon language report. SYSTEM.VAL(ARRAY OF T, x) not allowed (prk).
- OPP: Error 1009 removed. Undefined identifier error fixed. Warning for Active Oberon relaxed type order (prk).
- MultiMail: Message seperator error fixed (ejz).
- Keyboard, KeyTR.Bin: Turkish keyboard updated (ne).
- PPP*: Logging commands added in PPPTest. More information in PPP.Tool (es).
- S3Trio.Display: Finished and tested TransferBlock.
- Effects: Use TransferBlock (if available) in GetBlock and RestoreBlock.
- Display3: Set invertC = Display.FG if Display.Depth = 24.
- System: ShowModules cleaned up.
- VGA.Display, Permedia2.Display, SVGA.Display, Trace.Display, GD54xx.Display, S3C805.Display, S3C924.Display: Updated interface for truecolor.
- S3Trio.Display: DisplayBlock for hicolor and truecolor.
- Permedia2.Display: SetResolution simplified.
- Empty.Display: Truecolor-capable interface.
- Miscellaneous: ShowMod added. Uses System.FilePrefixes ;-seperated list in Oberon.Text (ejz).
- Kernel, DMA, Diskette0: DisposeDMA added.
- internal release (oswald)
- *.Display: Format and TransferBlock added.
- Kernel, Modules: Init=9090 will trigger trace mode.
- Desktops: Printer.DefaultName setting in Oberon.Text defines printer named "Default".
- Out, Attributes, NamePlates: Out.Echo moved to Attributes.Echo. Out now same as in Reiser.
- In, Out: Cleaned up. Out.Open now opens new viewer, like Reiser's.
- Outlines: Added InsertText, Remove, RemoveAll (gs).
- Compiler, OP*: Compiler sources cleaned up (prk).
- Miscellanous: Fixed overflow in MakeDOSText.
- FPA, Kernel: Cleaned up, disable interrupts in WriteChar.
- System: Removed bp, flags from Trap.
- TextGadgets0: Write simplified and invertC modified (ejz).
- NamePlates, TextFields: Home/End added (ejz).
- TextGadgets: Debug halt 99 and small color printing changes (ejz).
- HTTPDocs: Relocate of POST done as GET (ejz).
- OPP, Oberon.Text: Warn about Oberon X and Active Oberon extensions (prk).
- OPP: Superfluous 305 warning removed (prk).
- OPL: Unused size variable in FloatGen1 removed (prk).
- Watson, Watson0: Support Active Oberon & Init procedures and fixed .Sym browser error (prk).
- OPP: now accepts "X = POINTER TO RECORD ..... END X" (prk).
- OPT, OPB: Endless loop fix in FindField and Lock (prk).
- Chapter7.Text: Oberon X documentation added.
- UserGuide.Text: Documented SHIFT-extended selection.
- GfxFonts, GfxPens: Fixed (eos).
- OT*, Coroutines: Updated to release 0.4 from eos.
- Gfx*, Leo*: Updated to release 1.02b from eos.
- Watson: Fixed ARRAY N OF formatting problem (prk).
- Kernel, System, Mail, HTTPDocs: Central version string.
- NetTools: Processor-dependent timeout fixed (prk).
- OPP: Condition update (prk).
- NetSystem: Task was not installed.
- HTML: All red paragraphs at the start of the text will end up in the HEAD section. The first red paragraph will be the title, as usual (pjm).
- OPB, OPC, OPT, OPP: symtable export problem fixed (prk).
- Mail: Fix for deleted messages (prk).
- HTTPDocs: Do not identify user.
- PSPrinter: Optimized UseColor to generate smaller PostScript files.
- TextGadgets: Support printing of coloured text.
- ATADisk: Ability to disable secondary controller for testing.
- Diskette, Backup: Renaming of files in ReadFiles, WriteFiles supported with => .
- System: Error in trap fixed (NIL VAR param incorrectly written).
- Release, BasicSystem.Text, Config: .Obj + .Sym = .Obf
- Disk, Partition: Type 12 partition is not extended, but FAT32E.
- ATADisk: Index out of range in GetATAString fixed.
- Modules: Removed +3 from const array len in BuildModuleBlock.
- Miscellaneous: GetObjSize fixed for new object file format.
- NetBase: Added DebugQueues.
- V24Gadgets: Changed HALT into a log write.
- Analyzer: Removed from distribution because of porting difficulty.
- Decoder, Watson0, Watson: Updated for new object and symbol file format (prk).
- NetSystem: More elegant recovery when no driver configured.
- FileDir: Enumerate parameter renamed.
- Kernel, System: GetLog and GetInit added, GetConfig "=" hacks removed.
- Release: Include \X files in Copyright.Replace.
- FPA: Error in FFREE fixed (prk).
- System: Error in FindProc fixed, and ShowModules modified.
- Compiler, OP*, Browser, Kernel, Modules, BootLinker: BIG change to fine-grained symbol table model (object fingerprinting). Object flags, operator lists and handling of forward references cleaned up. Efficient implementation of ARRAY OF Type return types. Assignment as operator. Oberon X extensions. SYSTEM.PTR and PTR aliased. Array header now uses only 4 bytes per dimension, instead of 8 (prk).
- NetSystem: Parameter fix in SetDevices.
- Mail: Always set Topic0 on new mail.
- TextPopups: TYPE x = PROCEDURE; error fixed (prk).
- Disk: Trace code added to display partition table.
- ATADisk: Cleaned up PORTIN.
- Kernel: GC always enabled.
- Modules: All module size limits removed.
- Swarm: added to Applications.Tool.
- IIICom905B: updated (rs).
- NetTCP: ShowState added for tracing, ProcessText tracing added.
- Configuration: Fix in Marker (ejz).
- Partition: Cosmetic changes for large partitions.
Beta version 2.3.3 was an ETH-internal beta release.
The most relevant changes for users and programmers since Release 2.3.0 are:
- A left click in a NamePlate Gadget now always sets the caret. To resize a viewer in the viewer system, click in the menu bar outside the NamePlate (ejz).
- Debugging support improved in Trap viewer and System.State display.
- System.OpenKernelLog displays low-level boot-up and trace information.
- Dvorak and Polish keyboard tables added (webb & grciszew).
- More technical information included in on-line documentation. See end of Documentation.Tool (requires installation of Gadgets, Documentation and Web packages).
- ATA disk driver added for EIDE drives. Also supports bus-mastering on Intel chipsets.
- All the bugfixes and updates from beta release 2.3.1 are included.
Detailed changes since beta release 2.3.1:
- Config: Allow setting of only one disk driver, to avoid conflicts.
- OberonDrivers.Text, Install.Tool: ATA driver added to normal options.
Detailed changes since release 2.3.0:
- Documentation.Tool: Added WebInfo link and local web pages.
- HTMLDocs: Color fix, target option (ejz).
- IntroToGadgets.Text: updated.
- FindFile: Added to Applications.Tool.
- Mail: Error in CutLines fixed.
- Oberon-0: Update with new NetSystem and ATADisk.
- Modules: Initialize importing variable (prk).
- Web pages: Links modified for inclusion in distribution.
- HTML: 12pt normal text, 10pt pre-formatted, independent of font family.
- Release: Cosmetic changes.
- System.Text, NetSystem.Tool, Oberon.Text: Network device name now device0, device1, etc.
- IIIComEther: Renamed to IIICom509 to avoid confusion (?) with IIICom905B.
- NetBase, NetIP, NetTCP, NetSystem, IIIComEther, IIICom905B, SLIP, PPPMain: Most uses of module Oberon removed.
- ATADisk: IdentifyATA now uses words 1,3,6 instead of words 54,55,56. Show both CHS values if they differ.
- SLIP, PPPTools, PPPIPCP, PPPTools, PPPMain, Tasks: Imports renamed.
- IP, Ports, UDP, TCP, DNS: Renamed to NetIP, NetPorts, NetUDP, NetTCP, NetDNS.
- TCP & IP: HALT removed.
- IP: Send removed.
- IP: ArpReceive & SetDirectedCast simplified.
- OutLines: CollapseFromTo added and CollapseAll modified (afi).
- TextDocs: Attachment support added (ejz).
- LayLaDemo, ColorTools, Rembrandt: Simplified (ejz).
- Rembrandt: Zoom attributed added (wi).
- Config: Added ATABM and IDE1 settings.
- TextDocs: Fixed .Log change.
- Watson: Fixed spacing.
- TextDocs: If file ends in .Log, set autoscroll option.
- Oberon-0: Update with new trapping.
- System, Kernel: Beta version renamed 2.3.1.
- System: Display arrays (also open arrays), procedures and sets in Trap and State. Watch improved.
- Kernel: More compact stack traceback display.
- System: Formatting cleaned up.
- IIIComEther, PCI, FileDir, Permedia2.Display, Fonts: Minor trace info change.
- Kernel: Limit max memory to 192Mb.
- Keyboard, OberonDrivers.Text, KeyPL.Bin: Polish keyboard driver added (grciszew@cyf-kr.edu.pl).
- IIICom905B: Initialization updated.
- Oberon-0: Update for beta-testing ATADisk.
- System, System3.Tool, System.Tool: OpenKernelLog added, TraceDetail removed.
- OberonDrivers.Text, ATADisk: New ATA driver.
- TextGadgets0: Error in UpdateChild fixed (ejz).
- Desktops: Delegate input message to menu before handling it, for NamePlate (ejz).
- Kernel: Experimental trace ring buffer.
- Fonts: Default font mapping.
- PSPrinter: Mapped font size problem fixed, font aliases PSPrinter.family = psfamily.
- TextPopups: VAR problem fixed (prk).
- Partition: Partinfo URL updated.
- Decoder: Support extended reference block.
- Outlines: More portable (ejz).
- Input: MT and MouseType now interchangable.
- Partition: Improved signature checking.
- Config: Copy ExtMemSize setting.
- Partition: Log missing signature.
- Configure.Tool, OberonDrivers.Text, KeyDV.Bin, Keyboard: Dvorak keyboard added (webb).
- PSPrinter: Fixed font conversion.
- System.FreeLibraries: ^ parameter fixed.
- Objects: Alias support.
- Finder: Fixed initialization of writer.
- Sisiphus: Walk on black in screensaver mode.
- Fonts: Fixed font conversion.
- Oberon: A trap in a command could stop any non-safe task that happended to run.
- Files.ReadNum: Cleaned up.
- Decoder: Fixed labelling.
- TextGadgets0: selection no longer sets caret automatically (ejz).
- BasicSystem.Text: Include Kernel.Obj..Modules.Obj.
- FileDir: Made more robust against corrupted disk structures.
- ATADisk: Cosmetic change.
- OPB: ASH(x, 0) error fixed (prk).
- Partition: Fixed parameter mapping error.
- System: Trap modified for LNO.
- SVGA.Display: Removed tracing.
- Compiler: Fixed \e message (prk).
- OPB: Allow open array in SYSTEM.VAL (prk).
- Documents.Panel: Added Copy, Rename and Delete (ejz).
- Install: ReadInstallDiskette error message improved.
- TextGadgets0, TextGadgets: Clean up writer (ejz).
- OPM, Compiler, TextPopups, Builder, Analyzer, Watson0, Release, CalculatorGadgets: Fixed prefix.
- FileDir, InstFileDir, VirtFileDir: PathChar set to "/".
- Panels: Error in PrintPanel fixed (ejz).
- TextDocs: ReplaceAll selection fixed (ejz).
- OPB, OPP: Cleaned up and fixed REPEAT UNTIL error position error (prk).
- IDEDisk: Ignore error 6002, which was too strong.
- Mail: Speed up startup (ejz).
- News.Mod*: Nolink option to speed up ShowAllGroups and ShowNewGroups (ejz).
- ObjExplorer, ObjExplorer.Panel, System3.Tool: Added ObjExplorer for exploring display space (ejz).
- Mail.Mod: Added tracing.
- Clocks.Mod, System3.Tool: Added LineupHY Attribute (ejz).
- Files.Mod - Read made slightly faster.
- TextGadgets.Mod - Style resize with Columbus problem fixed (ejz).
- Definitions.Tool - Text updated.
The most relevant changes for users and programmers since Release 2.2 are:
- Large text selections now made by holding SHIFT during selection extension (ps).
- Height of stored documents retained on desktop, by popular demand!
- Attributes, Texts: Scan allows German and path characters in names.
- TextDocs, TextFrames, ET: ReplaceSystemEditor command sets default editor.
- Configuration.Do renamed to DoText, DoCommands added (previously Miscellaneous.Do).
- Intel compiler: SYSTEM.EAX,AX,AL,... defined for SYSTEM.GETREG/PUTREG (prk).
- Three Dimensional Dreams application added (ck).
- Documentation updated (af).
- Mail rewritten (ejz).
- New display drivers: 3Dlabs Permedia 2 (prk), ATI Mach64, ATI Mach32, SVGA generic.
- New network drivers: 3COM905B (rs), PPP dialup (es).
- New mouse drivers: Microsoft IntelliMouse, Mouse Systems, left-handed mouse.
- New keyboard mapping: Turkish (ne).
- Floating-point emulator added (es).
- Installable printer drivers: only PostScript (also EPS) and HPLaser supported.
- OpenType package added for TrueType fonts, see Tools.Tool or Applications.Tool (eos).
- Assembler requires target specification, e.g. CODE {SYSTEM.i386} (prk).
- Compiler size limits removed & stack clearing on by default.
- System3.Tool redesigned & installation simplified.
Detailed changes (latest changes first):
- System: Removed "write-protection" message from Watch (LNO support).
- OBL, FDInstall, Install: Boot.Bin position now relative to Oberon file system start. Partition can now be moved around, as long as offset 1Ch in the boot sector is the sector offset of the boot sector from the start of the disk.
- HTTPDocs: Extension for mime type application/binary fixed (ejz).
- NetSystem: If no Gateway configured, use derivative of host address and subnet mask: x.x.x.1.
- Oberon-0: Mach64 initialization problem fixed, and more modes added. Also try Vesa 2.0 driver.
- UnZip: Allow unpacking of files with invalid names (ejz).
- Gages, TextDocs: Small corrections (ejz).
- Columbus: Small correction & display more information about components of a container (ejz).
- QuotedPrintable: Decoder added (ejz).
- CompressTools: Fixed index overflow.
- (changes above where made after beta release).
- NetSystem: Removed "not found" message seen with PPP.
- Kernel, System: Support for error beeping.
- TDDRender: Pressing a key will stop rendering of the current object (LNO support).
- Dim3Frames: Poll mouse during benchmark (LNO support).
- Partition: Show disk throughput in Check. Ignore last cylinder in Create.
- OBL: Larger stack for boot loader.
- Package organization: Tools package combined with basic system on Oberon-0 diskette. LPRPrinter moved to basic system.
- PPPMain: Small cleanup for installation.
- OT*: OpenType package added in Tools.Tool and Applications.Tool (eos).
- DBF, DBFDump: Simple dBase file dumper added in Applications.Tool (ejz).
- GD54xx.Display, SVGA.Display: Support for other modes & better default for DMem setting.
- Texts: Error when storing text with partially loaded objects fixed (ejz, reported by ne).
- Input: Simpler way to set mouse type (MT=...). By default Ctrl emulation of the middle button is now switched on, until a real middle button click is seen from the mouse.
- IIICom905B: Interrupt setup corrected (prk).
- Builder: Small cleanup (ejz).
- TextFrames, ScriptFrames: MM-MR interclick support.
- TextDocs: Hanging RepAll and style copy errors fixed (ejz, reported by oj).
- Kernel: Scope agent removed.
- Permedia2.Display: Small cleanup.
- OPP: Small problem with run-time error position fixed (prk).
- AHA1520: Small optimization in TestHi/TestLo (prk).
- Effects: Fixed cursor overflow error at top and right of screen.
- PPP*: Debug flag off by default.
- Attributes, Texts: Treat LF as whitespace in Scan, and allow german characters in scanned names (gf).
- Config: Configuration improved.
- FDInstall, Install, CompressUtil, Diskette1: Improved compression of Oberon-0 disk.
- Install, Partition, ...: Improved installation.
- CRC32: Overflow error fixed.
- PPPHDLC: Modification in ReceivePacket to stop HALT(99).
- Partition: Adapt disk parameters to BIOS limits when creating first partition on disk.
- Oberon: Collect performs immediate garbage collection independent of GC task.
- System, Kernel: Start-up message updated.
- TextDocs: Show strips trailing ":" from name.
- Texts: LoadAscii exported (ejz).
- TextFields: MR-ML interclick error in TextField with two views fixed (ejz).
- Attributes, Texts: Allow ":", "/" and "." to start a name - consistent across all ports (ejz/pjm).
- FileDir, InstFileDir: Removed unused procedure SpecialChar.
- TextGadgets0: Unexported implementation procedure DrawChanges (ejz).
- IIICom905B: Ethernet address initialization fixed (prk).
- PPPDebug, PPPHDLC, PPPLCP, PPPMain: PAP login support and better tracing (es).
- Builder: Insert ErrorGadgets automatically on Builder.Compile * (oj).
- Decoder: Error in movzx instruction fixed (prk).
- Mail: Error in Synchronize fixed (ejz).
- NetSystem: Automatically append domain name to NetSystem.hostName if required.
- NetSystem: Host table support (Oberon.Text NetSystem.Hosts.Table syntax: { ethernet "," host "," ip }).
- Gadgets: NIL trap in FindObj fixed (ejz).
- MIME: Fixed index overflow in FindParam (ejz).
- TextGadgets0: Fixed double printing of title and page number on first page of a document (ejz).
- Config, SVGA.Display: Added ATI Mach32 driver.
- SVGA.Display: 800x600 error in DisplayBlock fixed.
Detailed changes:
- Desktops: Error in LoadDocGadget fixed (ejz).
- Kernel: GetClock can be configured for polling (ClockMode=1).
- TextDocs, HyperDocs, System: Default desktop document sizes are smaller, and the stored document height is used during loading (by popular demand!). Set Gadgets.FixedDocs = Yes if you prefer the release 2.2 full-height documents and automatic height adjustment on load.
- Builder: MarkErrors now places caret at first error (ejz).
- TextGadgets0: Scrolling during insert removed (ejz).
- PPPDebug: Ring buffer (es).
- Panels, TextGadgets0, Gadgets: FindObj fixed for linked objects (ejz).
- System3.Tool: redesigned.
- Decoder: Updated refblk.
- System: Small fix in Locals.
- OPO: Optimization in GenLEA (prk).
- Panels: Deep/shallow copy error fixed in CopyPanel (ejz).
- TextFrames: Line overflow error fixed.
- Builder: AddModule parameter opts added (prk).
- OPM, OPT, OPB, OPC: Defined register constants SYSTEM.EAX, AX, AL, etc. for SYSTEM.PUTREG/GETREG (prk).
- Desktops: MenuCmd added for executing commands in a document context (ejz).
- Oberon, Kernel: Kernel.Idle added, PowerSave cleaned up.
- InstDisk: Fixed DOS driver letter assignment.
- PCI, Fonts: Tracing cleaned up.
- Kernel: Support to detect more than 63Mb of extended memory, and override extended memory size (ExtMemSize=Mb).
- S3C805.Display, S3C924.Display, S3Trio.Display, VGA.Display, GD54xx.Display: Cache palette to avoid snow during GetColor.
- Oberon: PowerSave on by default (PowerSave=0 to disable).
- Tools: 3Com905B beta driver added (Reto Strobl).
- Config, Permedia2.Display: Added 3Dlabs Permedia 2 / Diamond FireGL 1000 Pro driver (prk).
Detailed changes:
- OPV, OPL: Fix in method entry numbers (prk).
- OPP: Additional ";"'s allowed in record definitions (prk).
- SVGA.Display: More linear frame buffer support (SVGA=6, DLinBuf=physadr), cache palette to avoid snow.
- Modules: Allow display driver prefix to be up to 15 characters long.
- Kernel: MapPhysical procedure added (module keys changed!).
- OPT: Fixed problems with export and import of circular structures (prk).
- OPT: SYSTEM.EAX, EBX, ECX, EDX, ESI, EDI, ESP, EBP constants defined (ejz).
- Dialer: Error messages improved.
- Modules: Maximum imports per module now 48, maximum types per module 128.
- TCP: Return error when reading past end of stream (prk).
- Telnet: Allow port to be specified.
- System.Text: Dial-up instructions improved.
- V24: Exported result constants.
- Definitions.Tool: Only portable interfaces listed.
- OPP: Fixed problem with arrays that use a forward reference of the base type (Marc Frei, prk).
- Partition: Better display when no disks found.
- Keyboard, Config: Added Turkish keyboard driver (fnecati@penta.gyte.edu.tr).
- OPP: If type cannot be fixed, set it to undef to avoid nil traps. Also forward fix. (prk).
- Configuration: Do renamed to DoText. DoCommands added (previously Miscellenaneous.Do). Configuration modules automatically executes Configuration.Text (or text defined by System.Configuration) when loaded.
- Miscellaneous: Do removed (moved to Configuration).
- ColorTools: Fix in printing of ColorPicker (ejz).
- Definitions.Arc: Portable/Non-portable interfaces flagged (ejz, pjm).
- Partition, Disk: Naming of DOS partitions fixed.
- OPS: Error in scanning of comments fixed (prk).
- Strings: Error in Strings.StrToDate fixed (ejz).
- System.Text, System.Tool, Network.Tool: Improved dialup instructions, tool ordering, and added direct reference to NetSystem.Tool.
- NetSystem: Case error in SetUser fixed.
- Dialer: Abort dial script on Hangup, error fixed in Dial.
- TextGadgets0, TextFrames, ScriptFrames: Error fixed in copy looks (ML-MR interclick) (ejz).
- Modules, BootLinker: Support for up to 64k of constants per module.
- OPO, OPL: Allow up to 64k of constants per module (prk).
- OPV: Record body name fixed (prk).
- Input: Mouse Systems mouse fix (type 8, 9) & beta Microsoft Intellimouse support (type 7).
- UDP: Receive and Send check if enough buffer space available.
- Config: NumLock state at boot time now configurable (default off).
This beta version has many small improvements, as well as a beta version of PPP, a generic SVGA driver, a new 3D graphics tool (TDD). Starting with this version all changes will be logged here.
Detailed information (latest changes first):
- Book.Tool: Oberon Companion updated (af).
- System3.Tool: Experimental new look.
- OPL: Made compiler tables dynamic, errors 221, 222, 223, 226 should no longer occur (prk).
- Leonardo: Various small fixes (eos).
- Compress: Error in delete fixed (ejz).
- System: Small fixes for Linux Native Oberon compatibility.
- TextMail: Auto-cc by default.
- Config: Power save option configurable during installation. Enabling this will cause the Oberon idle loop to execute the HLT instruction, conserving less power.
- Printer, Centronics: Print spooling implemented for local ports. Serial port parameters configurable. Serial printer must use hardware handshaking.
- PSPrinter, LPRPrinter, EamonPrinter: 2-up, 4-up and encapsulated PostScript printer options implemented (\l, \d and \e respectively). Only one of the three options should be used at a time. Specify the option directly after the printer name, e.g. Desktops.PrintDoc LPT1\l * . When printing to a file with suffix .eps or .EPS, encapsulated PostScript is automatically generated, e.g. Desktops.PrintDoc export.eps Test.Text ~
- Printer, PSPrinter, HPLaserPrinter, LPRPrinter, EamonPrinter, Printer3, Draw, Desktops, Edit: Switched to installable printer interface. Some printer drivers not yet available (HP550C, HP500).
- TextGadgets0: Trap when growing and closing fixed (ejz).
- ASCIITab, AsciiCoder, Asteroids, Backdrops, BartSimpson, BookDocs, Books, BooksHelp, CRS, CRT, Calc, Cards, Clocks, Coco, Columbus, Conversions, Curves, Desktops, DiffGadgets, Dim3Engine, Dim3Paint, Dim3Read, EditTools, Examples, FontEditor, Freecell, GIF, Gadgets, GraphicFrames, Graphics, Graphs, HPCalc, HSV, HTML, HTMLDocs, LayLa, LayLa2, LayLa2S, LayLaDemo, LayoutPanels, LayoutPanels0, MenuViewers, MineSweeper, NamePlates, NetTools, PPM, RXA, Rectangles, Rembrandt, Rembrandt0, RembrandtDocs, Script, ScriptFrames, ScriptGadgets, Sort, Spider, Splines, Styles, TelnetGadgets, TerminalGadgets, TextDocs, TextFields, TextFrames: Small fixes (ejz).
- System, TextGadgets: System.LoadGadgets configuration option removed. Rather use the TextDocs.ReplaceSystemEditor command in System.InitCommands to load Gadgets.
- PS: Updated (ejz).
- HTMLDocs: Greek and Math font support added (af).
- OPP, OPC: Error with constant folding of forward-declared identifiers fixed (prk).
- OPV, OPC, OPL: Structured return fixed (prk).
- Watson0: Index overflow with ShowObj avoided.
- OPP: Forward reference problem fixed (prk, reported by cp).
- OPA: ASM module renamed (prk).
- OBL: Better support for large disks.
- Mail: Fix in DecodeMessage (ejz).
- Documents, Desktops: Improved error messages (ejz).
- Sisiphus: Printing fixed (ejz).
- TextGadgets: Replace message fix (ejz, reported by fh).
- NetSystem: DNS config is DNS0-3, not DNS1-4.
- PPP*: Beta version of PPP (by es) added to release.
- Disk, Config: FileSystem -> DiskFile, fix for dos-based installation.
- Fonts, Objects: Default font, Syntax-Oberon conversion only if font not available (ejz/pjm).
- ColorModels: Config syntax changed to make module more portable (ejz).
- Mail: Reply-to fix (ejz).
- OPL: Stack clearing simplified (prk).
- Client.Printer: eps option added - \e.
- HTTPDocs: Problem with downloading http file fixed (ejz).
- OPT: Fix for equal open array types (pj).
- MenuViewers: Forward AttrMsg to menu (ejz).
- Columbus: Libraries.Panel error fixed (ejz).
- Partition, Disk: More partition types learnt. Less strict checks on extended partitions. Recognize W95 extended partitions.
- Attributes: Scan fixed.
- Browser: Fixed ARRAY OF error (prk).
- DocumentSkeleton: Fix in Load (ejz).
- Panels, PanelDocs: Better error messages.
- AsciiCoder: No longer requires Gadgets (ejz).
- GadgetsIn, NamePlates, XYplane, Desktops, Texts, Out, Display3, Gadgets, Views, Lists, Finder, Sisiphus, BookCompiler, UnZip, HyperDocs, HTMLDocs, ViewSkeleton, In, Dates, Strings, Styles, Telnet, UDPExample, Printer3, BasicGadgets, TextFields, ListModels, ListDags, Scrollbars, Organizers, Complex, SetGadgets, Gages, AudioGadgets, PanelDocs, Icons, Navigators, BinHex, BartSimpson, Cups, Coco, Sort, EditKeys: Made more portable (ejz).
- Effects: InitPalette removed and buttons error fixed (ejz).
- Rembrandt, Scramble, Finder, Freecell, GIF: Small fixes (ejz).
- PanelDocs: RemovePanel fixed (ejz).
- Dialer: CALL command for PPP and SLIP configuration.
- FDInstall, Install, OBL: Offset 1Ch now points to boot sector.
- Mail: recipients error fixed (ejz).
This version was released internally for use in a new ETH PC laboratory.
- Compiler features: Warn if a variable is never used (use \w). Pentium Pro instructions added to assembler. CODE statement requires specification of target, e.g. "CODE {SYSTEM.i386}". Command line options cleaned up. Compiler.Compile [\GlobalOptions] "@"[\LocalOptions]. Compiler.Compile [\GlobalOptions] "*"[\LocalOptions]. Compiler.Compile [\GlobalOptions] "^". Compiler.Compile [\GlobalOptions] {filename[\LocalOptions]} "~". Stack clearing on by default.
- Compiler fixes: Out of registers situation improved. Import problem. When pushing a static string on the stack, alignment wasn't done. Support POINTER TO ARRAY * OF and POINTER TO ARRAY *,* OF notation. ENTIER code simplified. Error in stack clearing. Error in expression parsing. Type test on dereferenced ptr. Forward errors. WITH forward problem. POINTER TO RECORD error. SELF. Avoid a NIL trap when parsing empty oberon inlines. Pointer name fix. NEW( ...., p) didn't work with p as Procedure type. Allow LEN of static array in constant expression. Stack clearing improved. VAR SYSTEM.PTR improved. Fix in operators with VAR parameters. Removed the annoying duplicate errors (prk).
- TextFrames, ScriptFrames, TextGadgets0: Selection improved (ps).
- Input: NumLock=0 to switch off NumLock. Buttons=-2 or -3 for parallel mouse & ctrl support. MouseMap="210" for left-handed, "021" for cordless (pjm).
- SVGA.Display: New generic driver, support for ATI Mach64, Vesa 2.0, ET4000, GD542x (pjm).
- OBL: Support for more than 64Mb memory (pjm).
- Objects: Now up to 64 generators per library (pjm).
- Kernel: Workaround for user-defined operators (pjm).
- Kernel: Power save option, enabled with PowerSave=1 config string (pjm).
- Kernel: GetClock maps year 0..89 to 2000..2089 (pjm).
- Disk: New caching options for lab setup (pjm).
- Oberon: GetClock comment fixed: year = 1900+d DIV 512 (pjm).
- Texts: Default date format dd.mm.yyyy (Texts.WriteDate) (pjm).
- MIME, Mail, News, PS, FATFiles, Strings: Fixed date problems (pjm/ejz).
- Mail, News, MultiMail, MIME: Mail rewritten, new mail storage concept. APOP support added (ejz).
- MIME: If no timezone, use local time. Content type fix. Quoted-printable support improved (ejz).
- Partition: Better consistency checks (pjm).
- HTMLDocs: FTP proxy fix, background error fixed (ejz).
- HTTPDocs: Referer fix (ejz).
- Panels: Bring panel child to front on move, fixed uninitialized message fields (ps/pjm).
- ListGadgets: Save delete buffer temporarily used in list (ps).
- Documents: Propagate FindMsg (ejz).
- ColorWells: Updated with left button popup (eos).
- S3Trio.Display: Fixed Dot and ReplConst paint/replace mode (pjm).
- Gadgets: Fix res in TrackFrame (ps).
- Lists: load version error fixed, FileMsg error fixed (ejz).
- Compress: Encryption option & 0-length file fix (ejz/gs).
- Tar: Doc updated (ejz).
- HTML: Default white background (pjm).
- HPCalc: Hex entry (prk).
- Columbus: SetObject do LONGREAL -> REAL conversion (ps).
- Finder: Larger string (ejz).
- Greek.Tool, Math.Tool added (pjm).
- Desktops: AdjustDocGadget fixed absolute coordinates. Menu size error fix. Allow moving of document on title bar (ps/ejz).
- System: Only close offending viewer if not trace trap (ps).
- Builder: Allow list of filenames in Preprocess (prk).
- NetTools: SplitHostPort fixed (ejz).
- Texts, TextGadgets: col < 0 fix in ChangeLooks and DisplayLine, slight flicker fixed (ps/pjm).
- Texts, Reals: Support for INF printing. Also allow signalling NaNs (prk).
- FPA: Fixed (Edgar Schwarz).
- Courier12.Pr3.Fnt & Courier12.Pr6.Fnt Tab fixed (eos).
- IDE.Disk, IDE.InstDisk, Config: SingleBlocks config (pjm).
- Pictures, *.Display: DisplayBlock off-by-1 (pjm).
- TextFields: GetValue res field set, Recall support (ps/prk).
- Strings: SetToStr & StrToSet & ISOToOberon fix (ps).
- Scrollbars: AdjustKnoblen fix (ps).
- Hex: Printing implemented (ejz).
- Sort: Error fixed (pjm).
- Builder: Handle out-of-order errors (pjm).
- Pictures: Init all 256 colours on new picture.
- GIF: Load colorconversion fix, uninitialized variable fix, trap fix (ejz/pjm).
- RefGadgets: Reference drop fix (ps).
- Gadgets: Execute fixed (ejz).
- DocumentSkeleton: Load attachment error fixed (ejz).
- EditTools: Change supports wildcard, added LocateLine, FlipCase (pjm/ejz).
- Decoder: Method output fixed (prk).
- Watson: MakeHistoryCmd fixed (pjm).
- Oberon.Text: TEXTAREA tag fixed for web browser (ejz).
- TextGadgets0: RemoveMarks in RestoreFrameArea (pjm).
- Printer3: Fixed Picture color (pjm).
- TextPopups: Active & Oberon-2 methods & speeded up (prk).
- TextPopups, EditKeys: Sign-on messages (pjm).
- Math, MathL: e & pi constants (pjm).
- XYplane: Support for larger frames (ejz).
- TextDocs: Fixed "Store!" indicator. ReplaceSystemEditor command (ejz/pjm).
- TextMail: 1000 limit removed (pjm).
- TextFrames, ScriptFrames, Draw, Display3, *.Display: Better monochrome support, no red selection any more & no funny characters on cursor keys (pjm).
- V24Gadgets, SLIP, Dialer: Support for COM1-4 in parsing config (pjm).
- IP, DNS, NetSystem, Dialer: Route computation optimized. Check arpopt when using NetMatch. Route setup improved for PPP. Tracing improved. Dialer simplified. Dialer uses "dialup" as tag for password, and script tag as host (pjm).
- ASCIITab, Histogram, BartSimpson, BasicFigures, BasicGadgets, Clocks, ColorSystem, ColorTools, Desktops, Finder, FontEditor, Gadgets, Gages, Icons, NamePlates, Navigators, PanelDocs, Panels, Printer3, ProgressMeters, RefGadgets, Rembrandt, RembrandtDocs, Script, ScriptFrames, ScriptGadgets, SetGadgets, Sisiphus, Skeleton, Suitcases, TelnetGadgets, TerminalGadgets, TextDocs, TextFields, TextGadgets, TextGadgets0, TimeStamps, Views: 10000 -> Display.Unit (pjm).
- Diskette0, IDE.Disk, IDE.InstDisk, Sound, Oberon, System, TCP, DNS, SLIP, UDPExample, V24Log, TCPExample, NetTools, HTTPDocs, Shanghai, V24Gadgets, Services, ListGadgets, Lists, Scrollbars, Sisiphus, Teletext: Fixed timer wrap problems (pjm).
Notes:
- This is the release included on CD with the Oberon Companion book.
- The adapted floating-point emulator did not make it to the CD deadline.
- Note that FAT32 file systems are not supported by the DOS-based installation.
Errors fixed:
- Font name fixed in Leonardo.Lib.
- Trap display for NIL procedure variable calls improved.
- Small fixes in: LeoTools, ScriptGuide.Text, Script.Tool, Mail, MIME, Desktops.
New features:
- Tools cleaned up for publication. All useful tools and applications now have links to them from System.Tool or System3.Tool. Latest version of the Oberon Companion included.
- Simple backward scrolling implemented in TextFrames and ScriptFrames.
- New style multi-viewer selection. For an extended selection, all visible parts of the large text has to be selected, up to the edge of die viewer. This reduces the number of accidental "false selections" drastically.
- Esc defaults to Neutralize, can be configured to CHR(27). F2 is always Neutralize. F5 is toggle screen. F7 is reset palette from Default.Pal. F9 is redraw.
- Experimental Oberon-X language extensions: Dynamic array values, structured return types & user-defined operators. See SamplePrograms.Tool (Documentation package).
- New tools: Partition.Tool, Tools.Tool (Tools package)
- New procedures: Gadgets.Clone, Oberon.MarkedFrame, Oberon.MarkedText, Reals.SetFCR, Reals.FCR, System.ShowTasks, Out.Echo, Miscellaneous.SplitFile, Miscellaneous.JoinFiles
- New gadgets: Histogram, TimeStamps.NewRev
- New attributes: Button.Led, Button.LedColor, Complex.Rho, Complex.Phi
- Implementation improvements: DNS caching implemented. Better support for large disks in IDE driver. FileDir made more robust against damaged file directories. FAT host file can be in any directory. Disk full trap improved. System trap numbers improved. DOS file access tool rewritten.
- Various errors have been fixed.
New features:
- Disk caching improved
- SLIP networking has been added (Thanks Martin Gitsels).
- S3 Trio64 display driver (Thanks Peter Matthias).
- Vesa 2.0 display driver (Thanks Martin Pirker and Peter Matthias).
- Cirrus Logic 542x display driver.
- NCR 810 SCSI driver (Thanks Peter Ryser).
- Automatic power-off on System.Quit if machine supports APM.
- New Leonardo drawing tool (Thanks Erich Oswald).
- Compiler package for Oberon-2 language (Thanks Patrik Reali).
- Many compiler improvements (Thanks Patrik Reali).
- Many improvements in Gadgets (Thanks Patrick Saladin and Emil Zeller).
- Documentation updated (Thanks Andre Fischer).
- Tools and Texts cleaned up.
Notes:
- First public release available by anonymous ftp.
- The module interfaces in Native Oberon 2.1 are almost identical to those of Windows and Mac Oberon 2.1. Porting program between these environments should present no problems. We attempted to make these interfaces identical, but in some low-level modules complete compatibility is difficult to achieve. Lack of manpower for porting projects also restrict these efforts.
- The main difference is that Native Oberon is a full operating system, which is in complete control of the machine. In contrast the Windows and Mac versions run as applications on host operating systems. This has obvious advantages and drawbacks.
- Native Oberon has modest machine requirements (see end of this page).
- It only supports a small subset of available PC hardware. Using drivers for other operating systems (in a clean way) is not possible, because they are tightly coupled with their host operating system. Drivers for Native Oberon are written in Oberon and assembly language (an assembler is integrated in the compiler).
- Differences with older versions of Oberon System 3 are mainly in the Gadgets modules, which have evolved quickly in the past few months.
- Some low-level interfaces (e.g. Kernel) also changed, but as few programmers use these non-portable modules, the effect is not too disasterous.
- Development of Native, Windows and Mac Oberon continue independently (the latter at the University of California at Irvine, in cooperation with ETH, and the former two at ETH). Therefore some experimental features, e.g. self-contained documents, are not supported equally in these three versions. The Omega code (aka OMI), which forms the basis of Juice, is being ported to Native Oberon.
New features:
- Net tools updated. Note that the new mailbox format is incompatible with the old. Use Mail.Convert oldmailbox newmailbox to convert. See Network.Tool. (Thanks Emil Zeller).
- Gadgets updated. PrintMsg and DisplayMsg merged. See Skeleton.Mod for example code. (Thanks Patrick Saladin).
- Objects loaded on demand (Thanks Patrick Saladin).
- Texts support for demand-loading and scanning objects (Thanks Emil Zeller).
- More robust Display.Broadcast prevents system crashes.
- BMP viewer in WWW browser (thanks Patrick Saladin).
- More flexible Display settings. Different modes supported.
- SoundBlaster driver updated (Thanks Thomas Burri).
- Basic system menus made more VGA-friendly.
- Draw and Script now also support 600dpi printing.
- LF is now generated with Ctrl-Enter, like in other releases. Keypad Enter is identical to normal Enter.
- Canadian keyboard driver (Thanks Paul Floyd)
Errors fixed:
- Problems reported with FAT file system. Installation successful, but first few sectors of disk corrupted after using system. Fixed. oberon0.lzh, oberon0.dsk.gz and DEVELOP.ARC updated on huxley.
- There are some errors in Mail. Fixed. NETWORK.ARC updated on huxley.
- There are some errors in Net. Fixed. EAMON.ARC updated on huxley.
- Sokoban is missing from the Games. Fixed. APPS.ARC updated on huxley.
- Some compiler errors discovered: missing PUSH modes in assembler, constant boolean expression in loops caused compiler trap, size of ARRAY OF SYSTEM.BYTE wrong for extended records, COPY wrong in some complex cases. (all fixed by Patrik Reali)
- Errors in VGA display driver fixed.
- Clipping error in Sisiphus fixed.
- Centronics no longer HALTs because of paper out errors.
- Errors in DosDisk fixed (Thanks Jan de Kruyf).
- Error in Attributes scanner fixed.
New features:
- Most of the source code now available, contact author.
- Object and Symbol files are back to .Obj and .Sym
- New Columbus browser (thanks Patrick Saladin). Look at Libraries.Panel and Columbus.Book.
- "+" sign is allowed in front of numbers in Texts.Scan.
- PS tool to convert .Pict files to PS or EPS files.
- Pointer initialisation on the stack has been optimised (thanks Patrik Reali).
- Video drivers for Cirrus Logic GD54xx cards (thanks Jörg Derungs) and Video7 Mirage cards (S3C805 driver with a different init string!).
- Kernel.TimeUnit (and Input.TimeUnit!) is now 1000. This means that Kernel.GetTimer, Input.Time and Oberon.Time now return the time in microseconds.
- Kernel interface cleanup. Kernel.RemoveIP now also takes the name of the interrupt handler to deinstall. Kernel.NewDMA is provided for allocating memory for DMA. Kernel.Copy, Kernel.SetTimeout, Kernel.Expired, Kernel.GetCMOS removed.
- Mouse type 4 is an alternate Mouse Systems driver, for the cases where the type 1 driver does not work.
- Pressing Ctrl-Break twice will perform a "hard" break, to break out of any loop. The old distinction between soft and hard breaks (Ctrl-Break & Ctrl-Alt-Break) is no longer made. Ctrl-Alt-Del can also be used as reboot.
- A very basic Mitsumi CD driver is now available. Pause/Resume is not implemented.
- GadgetsIn and GadgetsOut modules simplify I/O.
- Tetris, Scramble and Sokoban games now available.
- HP500 printer driver now included.
- Texts.Scan now treats objects as whitespace instead of scanning them as arbitrary characters.
- More than 255 objects may now be stored in a text. Texts.WriteObj no longer requires the lib parameter.
- Compiler.Compile\f * and Builder.Compile\f * now skip to the found position.
- Calculator now available (thanks Patrik Reali).
- Keyboard mouse emulation. Activate ScrollLock and use keypad 12346789 for movement and 05. for buttons.
- Optional DOS-based bootstrap loader (thanks Bruno Essmann).
- Files now carry the last time and date of modification, not creation. Files.SetDate implemented.
- Colour 10 and 11 in the palette are now the same as in Windows/Mac Oberon. System.DarkPalette and Gadgets.Hardlook options added in Oberon.Text for compatibility with Windows/Mac Oberon.
- SoundBlaster driver, .wav and .au player/recorder (thanks Thomas Burri).
- Scavenger added to install disk for rebuilding damaged directories. After Config.Disk, use Scavenger.Scan, Scavenger.Display and Scavenger.WriteDirectory in this order, but only in case of emergency. Deleted files may also re-appear if their disk space have not be re-used.
- New V24 module, with 16550 support. Interface cleaned up. Same interface will be implemented in Windows Oberon.
- Password handling integrated in NetSystem. NetSystem.user & NetSystem.passwd removed. Use NetSystem.GetPassword instead. Passwords module removed. NetSystem.Start no longer required, instead use NetSystem.SetUser to set a password.
- More information in System.ShowModules, System.Directory, System.ShowLibraries and System.Watch. System.Free ^ now also works.
- Miscellaneous.PrintFiles implemented for sending files uninterpreted to printer.
- Printer.Open now takes a second "options" parameter for specifying options.
- Fast file system startup. File system GC is now only performed at startup when less than x% of the disk is free. x is 10 by default and is configurable with the DiskGCThres config string. Warning: If you alternately use old and new versions of Oberon on the same file system, set DiskGCThres=100, otherwise the old version may damage the new version's file system.
- New feature for tracing. HALT(MAX(INTEGER)) will produce a trap viewer, but execution continues after the HALT.
- Gadget layout language (LayLa) for defining Gadgets (thanks Jörg Derungs).
- LCPanels example module for defining Gadgets with layout constraints.
- Visual catalog of Gadgets. Use the View button in the Gadgets.Panel.
- Pentium-specific setup in Kernel. Allows use of fine-grained timing instruction in user programs.
- Gadgets list scrolling speed configurable with Gadgets.ListScrollDelay in Oberon.Text.
- Gadgets updated (thanks Patrik Saladin, Hannes Marais, Thomas Kistler, Emil Zeller, et al.).
- Gadgets network tools updated (thanks Emil Zeller).
- ETH client software updated (thanks Andreas Disteli).
- System.LoadGadgets option in Oberon.Text provides better integration of Gadgets.
- Adaptec SCSI driver added to distribution (thanks Wolgang Ibl). The driver has not been tested with the new distribution.
- LEDA publishing system is now available as a package.
- Installation process cleaned up and simplified.
Errors fixed:
- There is a typo in section 2.1 of install.txt. Instead of entering ".dsk", you should enter "oberon0.dsk" at the rawrite prompt (fixed).
- The ET4000 driver is missing from the release (found by Peter Matthias). It is now available in the beta directory. To install it, first install with the VGA driver, then write the ET4000 driver to a DOS floppy and read it into Oberon with a Backup.ReadFiles command. Then rename it to ET4000.Display.obj and boot Oberon-0 to reconfigure the display in section 4 of Install.Tool. The driver will be present in the next release (fixed).
- The INSB, INSW and INSD instructions are assembled incorrectly. Use DB to define the instruction explicitly as a temporary workaround (fixed).
- A complex expression with SYSTEM.VAL causes compiler trap (found by Wolfgang Ibl, fixed).
- The disk driver may trap with error = 6013 on very slow machines (found by Peter Matthias, fixed).
- If an extended partition contains deleted logical drives, the Disk module and Install tool can't handle it (fixed).
- There is a small problem with the left and right arrows in the ET editor when at the start or end of a text (found by Patrik Reali, fixed).
- Oberon.GetSelection returns an undefined text when no selection is active (found by Josef Templ, fixed).
- Assembler errors: MOV AX,SS; MOVSW; MOV CR3,EBX; INSB/W/D; JE 128; JE -129; JMP Rel16 (fixed by Patrik Reali)
- TextHyperlink in Gadgets.Panel does not exist. An alias "TextHyperlink = TextGadgets.NewControl" is missing in Oberon.Text (found by F.Necati Ecevit, fixed).
- The EtherNet module is not in Network.Arc, but in Develop.Arc! (fixed)
- Assembler errors: RET imm16, CALL Rel16, LEA Reg32,M16, const size (fixed by Patrik Reali).
- Compiler: CHR/ORD do not accept SYSTEM.BYTE (fixed by Patrik Reali).
- The information in section 5 of install.txt is incorrect. Instead of "Video=3", it should say "Init=" (fixed).
- The PostScript Printer module's Picture procedure could overflow on large pictures (found by Peter Matthias, fixed).
- There is an error in the Ports module of the net system (fixed by Martin Gitsels).
- Gadgets does not display error message when module loading fails (found by F.Necati Ecevit, fixed).
- Miscellaneous.Snapshot does not work (fixed by Harry Lewis - Tseng/VGA only).
- The 3Com Ethernet driver does not work if an AUI port and external transceiver is used (fixed).
- Sisiphus is not working because data file is missing (fixed).
- When creating the first partition on a drive, the partition does end on a cylinder boundary (fixed).
- OBL does not allow set strings which only differ in the last character (fixed).
- If a drive has deleted logical drives on it, the partition table reading code could trap (fixed).
- The 3Com EtherNet driver does not work with twisted-pair networks (fixed).
- Only 60 NewPatterns could be defined in the Display module (fixed).
- Errors in the Analyzer (fixed by Stefan Ludwig).
- Pressing F1/F2 at the same position leaves garbage on screen (fixed).
- Compiler/Builder does not always display correct module name (fixed).
- Error in Outlines (fixed by Patrik Saladin).
- Install program does not support PartType config string (fixed).
- Home/End not mapped (fixed).
Notes:
- Stack clearing is on by default with the new compiler. This means that programs will run slower, but safer, because the run-time system can not be corrupted by uninitialised pointers. Currently all local variables are initialised for this purpose. This code will be optimised later to only initialise pointers [done in release 2.2.6].
- When installing version 2.06 over an existing version (2.04 or 2.05), the boot loader has to be updated. Use the Install.InitBootLoader command in section 2 of Install.Tool. Re-initialising the file system with Install.InitFileSystem is optional. Executing the latter will wipe all existing Oberon files. That is why the Install program has an "Unsafe" mode! (found by Peter Matthias).
- The compiler does not recognise the Oberon-2 extensions: read-only export and type-bound procedures.
- The floating-point emulator does not work with the new compiler, so a processor with floating-point coprocessor is required [done after release 2.2.6].
New features:
- Oberon.OptionChar is now "\" and "/" characters are allowed as part of a Text.Name. This is for consistency with the Windows and Mac versions of Oberon System 3, and for compatibility with URLs. Use Oberon.OptionChar in code instead of "\".
- The Ctrl key is now used (instead of Alt) to emulate the middle mouse button with two-button mice. This is for consistency with the Windows and Mac versions. Both Ctrl keys can be used, which is more friendly to lefties!
- System.Trap now uses the in-memory reference block and no longer requires the presence of the .obj files. It is also faster.
- Stefan Ludwig's Analyzer is now included. See Analyzer.Tool in the basic system. The compiler no longer displays any warnings.
- The mouse driver now has a speedup option. If the mouse is moved faster than a certain threshold rate, the cursor moves at a faster rate than the mouse.
- Francis Bogsanyi's ATAPI CD audio driver is now available, as well as Emil Zeller's Audio CD player. See Audio.Tool.
- New command System.Reboot. System.Quit now just stops all tasks and then waits patiently for the machine to be shut off.
- Then Install tool now gives a warning and a second chance before overwriting an existing installation.
- New installation procedure with only one boot floppy. This is must more convenient when installing from the net.
- Object files and symbol files now have the extensions .obj and .sym respectively. This is only a temporary measure so that version 2.04 and version 2.06 can co-exist on the same disk.
- The Linker was renamed to BootLinker to avoid a name conflict.
- Boot loader more user-friendly.
- New Gadgets look.
Errors fixed:
- Hard break does not work well (fixed).
- There are several errors in the decoder (fixed).
- The VGA driver does not work well (fixed).
- The Install tool can only create new partitions at the end of the disk (fixed).
- Miscellaneous.GetObjSize does not work for the new format .obj files (fixed).
- Builder.MarkErrors does not work (fixed).
- Watson does not understand the assembler extension (fixed).
- Multiplication of an INTEGER with a SHORTINT/INTEGER constant (found by Peter Matthias, fixed).
- SYSTEM.LSH(shortint const, shortint const) now returns a longint (found by Peter Ryser, fixed).
- RealVar := ORD(AnyChar) (found by Erich Oswald, fixed).
- SYSTEM.PUT(x, NIL) now allowed (found by Andreas Disteli, fixed).
- Assembler-Functions could not be written (fixed).
- SETx - wrong opcode generated (fixed).
- the syntax [base + index * scale] and [index * scale + base] was not accepted (fixed).
- [index * 1] was not accepted (fixed).
- off[ESP] was wrong (fixed).
- jmp -130: the relative address was a 1-byte value (but needs 2-bytes!) (fixed).
- MOV RM16, SReg and MOV SReg, RM16 were wrong (fixed).
- MUL RMxx was not accepted (shortcut for MUL Accumulator, RMxx) (fixed).
- DIV RMxx was not accepted (shortcut for DIV Accumulator, RMxx) (fixed).
New features:
- We have switched to a totally new compiler and assembler with this version. It has not been tested extensively yet. Only experienced Native Oberon users should install this version.
- An adapted version of the OP2 compiler with an inline assembler is used to build this release. It includes an integrated assembler.
- A JPEG viewer is now available. Just use Desktops.OpenDoc on a file with a .jpg extension. The image/jpeg MIME type is now also supported by the WWW browser (Thanks ejz,du).
- All the gray keys are now mapped to key codes. PgUp, PgDn etc. can be used in TextDocs.
- NumLock on by default.
Errors fixed:
- There is an error in FOR statement compilation for complex upper bound expressions (fixed).
- The Icon * button in the Documents.Panel does not work (found by Francis Bogsanyi, fixed).
- There is an error with constant floating point expressions (fixed by Andreas Disteli).
- Oberon20.Scn.Fnt and Oberon24.Scn.Fnt are missing (found by Peter Matthias, fixed).
- S3C805 Display module does not handle patterns wider than 32 pixels (found & fixed by Erich Oswald).
- The Lissajous.Panel is missing (found by Prof. Gutknecht, fixed).
- The Oberon-0 RAM disk was bigger than neccessary (fixed).
- The floppy driver did not work reliably on a PS/2 model L40SX (fixed).
- The mouse could be jerky with graphical editors (found by Erich Oswald, fixed).
- The 2.88M floppy on a DEC PC is not recognised (found by Michael Raps, fixed).
- Subnet broadcast addresses are not recognised in the net system (fixed by Martin Gitsels).
- Some .gif files can not be loaded (fixed by Emil Zeller).
- The PostScript printer does not recognise Oberon fonts (fixed).
- The source address on outgoing EtherNet packets is not set (fixed).
Errors fixed:
- The brand new ET4000 driver was not included! The file ET4000.Display.Obj is now available on the beta site. Copy it to the Oberon file system and then re-run Oberon-0 to set up the ET4000 display (found by Wolfgang Ibl, fixed).
- The "Call error:" message from TextGadgets is displayed incorrectly (found by Peter Matthias, fixed). New TextGadgets0.Obj available on huxley.
- There is an error in the FAT file system code. It is not possible to install version 2.03 to a DOS file (found by Jon Trygve, fixed).
- There is a serious error in the Disk module. The first 6 sectors of the partition after the Oberon partition could potentially be overwritten when the Oberon file system is full (found by Beat Christen, fixed).
- The ReadMe.Book contains a reference to Profiler.Book, which is not included (found by Thomas Burri, fixed).
New features:
- Swiss keyboard support.
- Compatibility with the Ontrack disk manager from Maxtor. Other disk managers may also work.
- System.ClearLog command replaced by System.Clear, which works on any TextFrame. Default System.Log menu updated.
- NetSystem updated. Errors in UDP, TCP & DNS were fixed & sending and receiving were speeded up. NetSystem.SendData and ReceiveData were renamed SendDG and ReceiveDG. Also, if you define "User" in the NetSystem section of Oberon.Text, and use the Passwords tool, it is no longer necessary to run NetSystem.Start.
- Gadgets updated. The Links module was added.
- A lot of time has been spent by Hannes Marais to write Watson documentation for the module interfaces. His documentation has been merged into the Native Oberon modules.
- The compiler now allows comparison of character constants with strings. Some type checking errors were fixed.
- Compatibility with the 80387 coprocessor. (Trap handling works differently).
- NetSystem updated again. Counters were introduced to help with configuration debugging.
- The Find.Panel for searching for a string in files was added (Thanks Patrik & Thomas).
- Oberon.OptionChar added.
- Kernel interface was cleaned up. GetEnv renamed to GetConfig. TimeUnit for GetTimer exported.
- Asynchronous break (Ctrl-Alt-Break) made safer. Will no longer interrupt the garbage collector halfway.
- File system sector size changed from 1k to 2k. Largest file is now 12Mb.
- Mail.Panel Settings updated. It is no longer neccessary to define the SMTP and POP server there. The values are taken from Oberon.Text instead.
- Optimised memory copy in Kernel, Files, NetSystem, EtherNet.
- Help procedures added to make Gadgets programming simpler. Attributes: added GetBool, GetInt, GetReal, GetLongReal, GetString, SetBool, SetInt, SetReal, SetLongReal, SetString. Links: added GetLink, SetLink. Texts: added WriteObj. Gadgets: added CopyPublicObject. Desktops: added IsInMenu.
- The second and third parameter of Printer.Open was removed. The username and password parameters were a leftover from older versions of Oberon and were never used.
- F3 & F4 can now be used in Draw to redraw or reset the draw window.
- ET4000 driver supporting many 256-colour video modes (Thanks Wolfgang Pircher & Wolgang Ibl).
Errors fixed:
- NetSystem.Text is missing (fixed).
- DInline does not work (found by Peter Ryser, fixed).
- The ISO-8859-1 button in the Mail.Panel Settings was not functional (fixed by Emil Zeller).
- FTP.Open ignores the passwords file (fixed by Emil Zeller).
- Netmask setting is ignored, gateway is always queried to get netmask (found by Alan Freed, fixed by Martin Gitsels).
- Miscellaneous.MakeUnixText & Miscellaneous.MakeAscii don't work (found by Peter Matthias, fixed).
- The German keyboard driver is selected by a D, not a G (found by Peter Matthias, fixed).
- "a, "u, "o are not mapped correctly with the German keyboard, they appear capital, "A, "O, "U don't appear (found by Peter Matthias, fixed).
- Backup.InitDOS Label labels the Disk LXXXX (found by Peter Matthias, fixed).
- Backup.ReadFiles doesn't read files starting with a number from a DOS Disk (found by Peter Matthias, documented).
- When adding a package to an existing system, the Install program would corrupt the first existing file on the disk. If all packages are installed to a new file system (as most people did) the problem does not occur. (found by Peter Matthias, fixed).
- Clicking on the hyperlinks in Net.Text causes a stack overflow, which causes a reboot (Found by Chuck Thacker). To fix it, make the following changes to Oberon.Text in the "Gadgets.Documents" section: delete the 2 entries "file = HTTPDocs.NewDoc;" and "mci = MCI.NewDoc;" and add the 3 entries "file = HyperDocs.NewDoc;", "mailserver = Mail.NewDoc;" and "gif = RembrandtDocs.NewDoc;" (fixed).
- Some .Books are missing (found by Peter Matthias, fixed).
- The Molecules function of the Backdrops tool had a small error (found by Patrik Reali, fixed).
- BooksUser.Panel is damaged (found by F.Necati Ecevit, fixed).
- On 256-colour displays, only the first 16 palette entries were initialised. The F5-F7 keys only worked with the first 16 palette entries (fixed).
- Simulator.Panel & PhonePad.Panel are missing (found by Prof. Gutknecht, fixed).
- Sisiphus does not work (fixed).
- 1-bit pictures don't work (found by Peter Matthias, fixed).
- Stack overflows cause a reboot (fixed).
- There is a problem with LONGREAL. Some LONGREAL expressions seems to be evaluated in single precision (found by F. Necati Ecevit, fixed with help from Bernd Moesli).
- The compiler does not allow more than one pointer to a forward declared record, even though this is allowed by the language. In most cases a workaround can be found. The error message was made clearer (found by Markus Kottmann, fixed).
- The compiler traps when parsing an open array variable declaration (found by Francis Bogsanyi, fixed).
- There was an error in the GIF reading code in RembrandtDocs (found by Patrik Reali, fixed).
- The Draw tool had some problems (found by Prof. Gutknecht, fixed).
- There was an error in Texts.OpenReader (found by Patrik Reali, fixed).
- Passwords.Delete seems to have an error.
New features:
- Support for Norwegian & German keyboards.
- 720k floppies are now supported. The floppy driver was also made more robust (11.10.95).
- Backup.Format was implemented (17.10.95).
- More Watson-documented modules.
- Faster reading of installation floppies & more debugging info for installation problems.
- More buffers in Files.
- Floating point emulator ported from DOS Oberon (07.11.95).
- Static linker updated (09.11.95).
- More memory will now be available. The heap initialisation has been cleaned up (09.11.95).
- Stack size is now configurable. Default is 128k. Hardware stack checking was added (10.11.95).
- FAT file system drive numbering fixed in Disk (10.11.95).
- Error in Garbage Collector fixed. Occurence was very rare (13.11.95).
- Compiler.Pedantic & warnings 303-305 removed (16.11.95).
- Switched to new Oberon font. Syntax automatically converted to Oberon on loading (17.11.95).
- Compiler now evaluates const REAL expressions. Some REAL errors were fixed (17.11.95).
- Standard system can be used on black & white (or low quality) screen (17.11.95).
- 300dpi printer fonts now distributed. Math font also distributed (20.11.95).
- New network tools. Thanks Emil Zeller! (29.11.95).
- Updated documentation. Thanks Andre Fischer! (30.11.95).
First public beta release to 50 volunteers from comp.lang.oberon.
A prototype implemented during a week-long visit to the ETH. Based on the author's Gneiss microkernel and Hybrid Oberon (by Johan de Villiers) developed at Stellenbosch University in South Africa.
Pieter Muller
May 13, 1999 (page created with HTML.Tool on Oberon)
ETH Zürich: Departement of Computer Science