[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-Zürich'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.