pdewacht / oberon-risc-emu Goto Github PK
View Code? Open in Web Editor NEWEmulator for the Oberon RISC machine
Emulator for the Oberon RISC machine
Just a reminder to review/copy schierlm's networking code when I have some time.
At least in 2019 image there is the following compiler error:
This won't compile, because it treats T.Text and Oberon.Log (of type Texts.Texts) as different types:
IMPORT T := Texts, Oberon;
VAR W: T.Writer;
BEGIN
T.OpenWriter(W);
T.WriteString(W, "HELLO");
T.Append(Oberon.Log, W.buf)
If T := Texts
is changed to just Texts
and T
replaced with Texts
, then the compilation becomes successful.
In an online RISC emulator, it is not the case (both variants work).
Is it possible to alter the layout for the emulator? It seems that the emulator has a hardcoded layout. It seems to not only ignore the OS layout, but the hardware layout too. I have an ISO keyboard and it assumes ANSI. My OS layout is Dvorak also, which is similarly ignored.
How difficult would it be to alter this behaviour?
While packaging this project for nixpkgs (NixOS/nixpkgs#100042) I noticed that there is no LICENSE file. Is the Copyright section in the README indicate an unfree license?
https://github.com/pdewacht/oberon-risc-emu/blob/master/sdl-ps2.c#L46
case K_NUMLOCK_HACK: {
// This assumes Num Lock is always active
if (make) {
// fake shift press
out[i++] = 0xE0;
out[i++] = 0x12;
}
out[i++] = 0xE0;
if (!make) {
out[i++] = 0xF0;
}
out[i++] = info.code;
if (!make) {
// fake shift release
out[i++] = 0xE0;
out[i++] = 0xF0;
out[i++] = 0x12;
}
break;
}
http://mingw-w64.sourceforge.net/
Could you please check it out?
I did the following:
brew install sdl2
make
./risc Oberon-2016-08-02.dsk
I get an empty window:
https://i.imgur.com/hqBzTn5.png
I see some pixels at the bottom-left of the screen though.
On RaspPi (Raspbian) the RISC Emulator works only in fullscreen mode. It started directly in fullscreen mode and switching back to windows mode did not work (F11 or Cmd+Shirt+F). So in fullscreen mode it is helpful if the Emulator supports shutcuts for "quitting" or "resetting" the Emulator. Without this feature you have to reboot the RaspPi, when you want to stop the Oberon-System.
Switching to another Terminal (with Ctrl-Alt-F1) does not work.
Volkert
I used static analyzer provided by Clang/LLVM to build emulator. There are two complains about switches without default cases which could lead to usage of uninitialized variables. Probably not a real issues, since I guess those switches can't test against values other than those already specified. Bellow is a link to output from Clang:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.