[Image]

                                  [Image]

                            [.zel.org logo 16KB]

Download the free 64 Bit Alpha Oberon System Evaluation Kit for Compaq
OpenVMS Alpha

© (1999) by aos@zel.org

Description of the components

   * AlphaOberon System (AOS); fully functional.
   * AlphaOberon-2 Compiler (A2O); the compiler included in the free AOS
     evaluation kit limits the number of imported modules and restricts the
     source code size.

Requirements

The AlphaOberon System runs on any Compaq Alpha workstation under the
OpenVMS Alpha V6.x or V7.x operating system with XWindows. XWindows, which
is part of DECWindows/Motif is required.

AlphaOberon uses 64 bit memory (VLM) under OpenVMS Alpha 7.x and later, for
everything but the process stack (this is an OpenVMS Alpha restriction).

To exploit the 64 bit address space, pointers and integers have 64 bit size.
For more details, see What is a 64 bit compiler?
To get a free license of Compaq's 64 bit operating system OpenVMS Alpha for
private use, follow the links at the bottom of this page.

Legal

AlphaOberon was ported by ModulaWare from the ETH-Zürich Oberon System V4
and also contains the port of many extensions developed for V4 at University
Linz, Austria.

Permission to use, copy, modify and distribute this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that copyright
notice and this permission notice appear in supporting documentation, and
that neither the name of ETH nor the name ModulaWare is used in advertising
or publicity pertaining to distribution of the software without specific,
written prior permission. Neither ETH nor ModulaWare makes any
representations about the suitability of this software for any purpose. It
is provided "as is" without express or implied warranty.

Both ETH AND ModulaWare DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
IN NO EVENT SHALL ETH OR ModulaWare BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
OF THIS SOFTWARE.

Download

  1. AlphaOberon base system with Tetris game and TrapDemo (size about
     1.2MB)

  2. AlphaOberon online documentation plus more applications and games
     (optional, size about 1.1MB)

  3. AlphaOberon screen and printer fonts (optional, size 300KB)

Installation

To unzip the zip-files, the OpenVMS unzip utility is required. Unzip with
other non-OpenVMS specific tools will not restore the correct file
attributes.

For example, on the OpenVMS FreeWare cd-rom V4.0, which is distributed with
Compaq OpenVMS 7.2, unzip.exe is in the directory [000tools.alpha] on disc 1
of 2.

Install the Unzip as a foreign command using the command
$ unzip :== $device:[dir]unzip.exe
and then unzip the downloaded zip-archive(s) with the command(s)
$ unzip aose.zip
$ unzip aose1.zip ! optional if you just want to play Tetris
$ unzip aose2.zip ! optional if you just want to play Tetris

This will extract all files into a sub-directory [.aose] of your default
directory. Then change your default to [.aose], set the required logical
names and commands, and start AlphaOberon with the commands:
$ set default [.aose]
$ @setup.com
$ Oberon
$! in order to use VLM under OpenVMS Alpha 7.0 use
$ Oberon/pointersize=64/heap=10

To start the famous Tetris game

  1. move the cursor to the pop-up menu called "Tools" (marked in light blue
     color),
  2. press the middle mouse button over , move the cursor to System.Open
     Obtris and
  3. release the middle mouse button. This will open a viewer called
     "Obtris.Tool".
  4. Now move the cursor to the string "Obtris.Open" and click the middle
     mouse button over this string. This will open a new viewer on the
     left-hand side.
  5. Move the mouse to the pop-up menu "Start" in the header-line of this
     viewer and release the mouse button over the "Start"-entry.
  6. Now play using the cursor keys and "space" to drop the objects.
  7. To interrupt the game, press "p" on the keyboard.
  8. You can later resume the game using "Start" menu.

To compile the Oberon-2 example TrapDemo

  1. Select the beginning of the file name string "TrapDemo.Mod" in the
     System.Tool viewer, by moving the cursor over the "T" of this string
     and click the right mouse button.
  2. Move the mouse over the string "XE.Open" and click with the middle
     mouse button. This opens a new viewer on the left hand site, called
     TrapDemo.Mod.
  3. Move the mouse over the string Compiler.Compile in the last source line
     of the TrapDemo source file and click on this command. This starts the
     AlphaOberon-2 compiler.
  4. After the System.log viewer displays "ok", click on the string
     "TrapDemo.Trap". This displays a string and some numbers in System.log
     and then opens a new viewer System.Trap because TrapDemo causes an
     integer overflow. The trap-viewer contains the invocation contexts of
     the recursively called procedures "TrapDemo.Q". The most recent
     invocation is on the top.
  5. You can scroll in the trap-viewer by clicking with the left mouse
     button in the scroll bar.

To try the SortPlus demo

click on the string "SortBasics.Open", then click on the pop-up menu
"Algorithm" and select one or more SortPlus-algorithms. Then "Randomize" and
"Start". SortBasics uses coroutines which provide for quasi-parallel,
cooperative execution on a single processsor system.

Third Parties' Copy-right and -left

The Oberon-2 sources of the Tetris game and many other applications and
tools are included. The authors and the copyright of each component and
their particular copy-right or -left are mentioned in the corresponding
source code, text- or tool-files.

Getting started with Oberon

Oberon is an extensible system. There is no difference between functions
offered by the operating system and functions added by a user which enhance
the basic system. As a matter of fact, Oberon abandons the notion of a
Program altogether. Atomic actions in Oberon are called Commands.

Commands are parameterless procedures which may be executed directly from
the operating system interface. Procedures from anywhere in a module
hierarchy may be called in this way and there is no need for a "top" module
which distributes commands to other modules. Instead, command distribution
is built into the operating system. When a command terminates, control is
passed back to the operating system's main loop. However, the module that
contained the last command remains loaded in the system and all of its
global variables remain unaltered. Subsequent commands may reference these
variables freely.

The granularity of commands may be quite fine. Typical commands display the
directory of a storage device, increase the font size of the text last
selected or compile the contents of the active window. A user may execute
commands in any sequence and may thus be working on completely different
problems in different windows at the same time. We call this "one-process
multitasking".

Using Commands

Commands are activated by the use of an Action Button, which is mapped to
the middle mouse button. Pressing the Action Button while pointing at any
text anywhere on the screen will try to execute a command of that name. This
may be text in a word processor document, captions in a drawing, or even the
title string of a window.

The system will then attempt to interpret the text that is pointed at as
"Modulename.Commandname" and search for the corresponding module, possibly
loading it from disk if it cannot be found in memory. If the module is
present or can be loaded, it will then search for the requested command and
execute it. If the module or the command cannot be found, the system will
simply resume its previous state.

For example, when you click with the middle mouse button on the string
"System.Time" displayed in a text viewer, this command will display the
current time in the viewer called System.Log, i.e., the window in the upper
right corner.

Extensibility

The main feature of Oberon is extensibility. A user can add an arbitrary
number of commands to the system at any time simply by writing a module and
compiling it. There is no need to install the command, i.e., it may be
activated as soon as compilation is completed and modules containing
commands are not added to the system until an actual call is made. The of
commands that users keep (called Tools in Oberon) are regular text documents
and freely editable.

Even the basic resources of the system are extensible. For example, the each
text viewer is editable supports "live" extensions of characters which are
sent messages when editing operations occur. The moving objects such as the
Sisiphus icon and the analog clock, that you see when you start AlphaOberon
are such "extensions" of characters. They float in the text just as
characters, and may be cut, copied and pasted.

To Probe Further

Additional documentation is supplied in this distribution. To view an
introduction into the Oberon System, simply type the text "XE.Open
Oberon_Guide.Text" in any text viewer and execute the command "XE.Open
Oberon_Guide.Text", by moving the mouse over the string XE.Open and then
click the middle mouse button

Implementation specific issues are described in "AlphaOberon_Guide.Text".
The mentioned Text files are contained in the 2nd zip-archive.

Portability

The Oberon System is also available for Ceres, Amiga, Sun SPARC, Apple
MacIntosh, PowerMac, DECStation/MIPS, IBM RS/6000, Silicon Graphics, HP
Apollo Serie 700, PC/Linux, MS-Windows 3.x, Windows-NT (Intel), and
Windows95/98.

The Oberon libraries on those machines as well as the document architectures
in all implementations are identical. For example, you can open any Oberon
text-document on any of the machines mentioned above and see the same moving
icon and clocks, despite even the fact that not all of the machines use the
same byte ordering.

If you want want to open other text files created with an Oberon System V4
under a foreign operating system, set the appropriate file attributes first.
In most cases the required file format is stream_undefined with carriage
control or stream_cr or stream_lf. To change the file attributes, use the
free program File.exe.

For example, on the OpenVMS FreeWare cd-rom V4.0 which is distributed with
Compaq OpenVMS 7.2, File.exe is in the directory [000tools.alpha], the
associated command language definition file File.cld and the help file
File.hlp are in the directory [000tools.vax] of disc 1 of 2.

Support

We propose to discuss Oberon related topics in news:comp.lang.oberon on
usenet.
----------------------------------------------------------------------------

.zel.org Website Navigator

[ .zel.org Home | The Alignment Trap | Oberon System and Compiler
Implementations (OSCI) | Comparison of Oberon-2 with Modula-2 | From C/C++
to Oberon-2 | Download AlphaOberon for OpenVMS Alpha ]

ModulaWare web-site
----------------------------------------------------------------------------
Number of visitors since 25-Apr-1999: [Image]
Copyright (1999) www.zel.org
Last revised 25-Apr-1999, mailto:webmaster@zel.org

Disclaimer: The banner advertisement at the top of this page is dynamically
inserted by the web-site hosting service; The banner image content and the
URL it refers to is outside the responsibility of .zel.org.