
  [Looking for a book logo 9.5KB] [Sports Betting & Casino Play For Fun and Real!]

   Click here to see interesting                        [VA]
       book recommendations!

  ------------------------------------------------------------------------
   Download the free 64 Bit Alpha
  Oberon System Evaluation Kit for           [.zel.org logo 16KB]
        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. The A2O User's Guide is here.
   * The Oberon-2 Language Report

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.
(Since 1999, Compaq's OpenVMS Alpha operating system is free for private
use; to get a free software license (product authorization key) on-line,
follow the OpenVMS hobbyist link at the bottom of this page.)

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-Zrich's Oberon System
V4. AlphaOberon also contains the port of many extensions of the Oberon
System V4, developed for V4 at University Linz, Austria.

Copyright (C) 1994 by ETH Zurich, Institute for Computer Systems.
Incorporates changes and extensions made by the Institut fuer Praktische
Informatik, Gruppe fuer Systemsoftware, Universitaet Linz.
Copyright (1996-1999) Implementation for OpenVMS Alpha by ModulaWare.

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 University
Linz, nor the name ModulaWare is used in advertising or publicity
pertaining to distribution of the software without specific, written prior
permission. Neither ETH, nor University Linz, nor ModulaWare make any
representations about the suitability of this software for any purpose. It
is provided "as is" without express or implied warranty.

ETH, AND University Linz, AND ModulaWare DISCLAIM ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ETH or University Linz 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

The following files are provided with permission of ModulaWare.com.

  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 and Oberon System related topics in
news:comp.lang.oberon, and OpenVMS related questions in news:comp.os.vms on
the usenet.
  ------------------------------------------------------------------------

                               [ .zel.org Home
                               | The Alignment Trap
                               | Oberon System and Compiler
                               Implementations (OSCI)
           .zel.org
                               | Comparison of Oberon-2 with Modula-2
       Website Navigator       | From C/C++ to Oberon-2
                               | Oberon-2 Language Report
                               | AlphaOberon-2 Compiler User's Guide
                               | Download AlphaOberon for OpenVMS Alpha ]
                               ModulaWare web-site

   Oberon Webring Navigator    [ Previous | SkipPrevious | SkipNext | Next
                               | Next5 | ListSites | Random | Join ]
   OpenVMS Webring Navigator   [ Previous | SkipPrevious | SkipNext | Next
                               | Next5 | ListSites | Random | Join ]
  ------------------------------------------------------------------------
Number of visitors since 25-Apr-1999: [Image]
Copyright (1999) www.zel.org
Last revised 07-Nov-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.
