oberon

module
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 10, 2021 License: ISC

README

Project Oberon RISC Emulator

This is an emulator for the Project Oberon (Revised Edition 2013) RISC5 processor, written in the Go programming language. It is a port of Peter De Wachter's emulator from C to Go.

Project Oberon is a design for a complete desktop computer system from scratch by Niklaus Wirth and Jürg Gutknecht. It comprises a RISC CPU, a programming language and an operating system.

Install

$ go install github.com/fzipp/oberon/cmd/oberon-emu@latest

Run

First download an Oberon disk image (.dsk file), e.g. from this repository.

Then start the emulator with the disk image file as command line argument:

$ oberon-emu Oberon-2020-08-18.dsk
Visit http://localhost:8080 in a web browser

Open the link http://localhost:8080 in a web browser.

This is the Project Oberon user interface directly after start:

Project Oberon

Using Oberon

How to use the Oberon System (PDF)

Oberon's user interface is designed for use with a three-button mouse, but the emulator additionally allows to simulate all three mouse buttons via the keyboard.

Mouse button Function Mac keyboard PC keyboard
Left Set caret (cursor) ⌃ control Ctrl
Middle Execute command ⌥ option Alt
Right Select text ⌘ command Meta (Win)
Key Function
Esc Undo all selections
F1 Set global marker

License

This project is free and open source software licensed under the ISC License.

Directories

Path Synopsis
cmd
asciidecoder
Command asciidecoder decodes Oberon 'AsciiCoder.DecodeFiles' archives.
Command asciidecoder decodes Oberon 'AsciiCoder.DecodeFiles' archives.
ob2unix
Command ob2unix converts the content of Oberon texts (.Text, .Mod, .Tool) to plain text with Unix-style line endings.
Command ob2unix converts the content of Oberon texts (.Text, .Mod, .Tool) to plain text with Unix-style line endings.
oberon-emu Module
Package risc implements emulation of the Project Oberon RISC processor.
Package risc implements emulation of the Project Oberon RISC processor.
internal/fp
Package fp implements floating-point arithmetic operations for the Oberon RISC emulator.
Package fp implements floating-point arithmetic operations for the Oberon RISC emulator.
internal/fp/test/numbers
Command numbers generates a Go file containing a slice of uint32 numbers as test input for the Oberon RISC emulator's floating-point arithmetic operations.
Command numbers generates a Go file containing a slice of uint32 numbers as test input for the Oberon RISC emulator's floating-point arithmetic operations.
internal/fp/test/v2go
Command v2go translates Verilog source code to Go.
Command v2go translates Verilog source code to Go.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL