92 Commits

Author SHA1 Message Date
Vladimir Serbinenko
8fdb585990 Add android build files 2020-02-25 16:44:53 +01:00
Emery Hemingway
e7bf0bb74a Move Libretro makefile, add test recipe
Move the makefile to follow the conventions of the Libetro buildbot.
2019-01-22 20:26:39 +01:00
Peter De Wachter
e456f52215 libretro: fix buffer overflow 2019-01-22 00:21:55 +01:00
Peter De Wachter
b83916dcc2 libretro: Update risc_screen_size_hack 2019-01-22 00:21:04 +01:00
Emery Hemingway
62b409c084 Libretro core 2019-01-21 23:26:17 +01:00
Peter De Wachter
e3a4195a2f Updated disk image. 2019-01-21 23:16:44 +01:00
Peter De Wachter
079038a24f Make memory size configurable 2019-01-21 23:09:49 +01:00
Peter De Wachter
cb4b6764ef Merge Wirth's Display.Mod updates 2019-01-21 22:49:52 +01:00
Peter De Wachter
fc1fee0bd5 Rewrite usage text 2017-10-25 20:57:12 +02:00
Peter De Wachter
a0890e1b40 Add --boot-from-serial option
The emulator does not require a disk image when using this option. The
firmware however will attempt to initialize the SD cards regardless of
chosen boot method, so we still emulate a dummy SD card.
2017-10-25 20:39:03 +02:00
Peter De Wachter
08248b93fa Update short options 2017-10-24 23:34:02 +02:00
Peter De Wachter
60984d0105 Fix up the serial code 2017-10-24 22:02:36 +02:00
Peter De Wachter
3e6ff6c22c Fix PCLink Receive for files sized a multiple of 255 bytes
Fix from Paul Reed:
http://lists.inf.ethz.ch/pipermail/oberon/2017/010725.html
2017-10-22 22:00:02 +02:00
Peter De Wachter
7217b49551 Double window size on high-dpi displays 2017-10-15 00:18:48 +02:00
Peter De Wachter
6ce0b8c6f7 Update to match 2016-09-04 FPAdder.v 2016-10-04 21:56:32 +02:00
Peter De Wachter
52bd02f198 Update FP division to match 2016-09-16 FPDivider.v 2016-09-17 09:04:30 +02:00
Peter De Wachter
2b7399067f Implement 20160808 FPMultiplier change 2016-08-09 22:08:30 +02:00
Peter De Wachter
8a034ddff8 Document --leds option. 2016-08-06 23:11:45 +02:00
Peter De Wachter
5c3a1b020d Hide LED output by default. 2016-08-06 23:09:58 +02:00
Peter De Wachter
b320cb6d6d Small cleanups 2016-08-06 22:50:25 +02:00
Peter De Wachter
c609fbf649 Add Ctrl-Shift-Del shortcut for reset
This key combination is described in Reiser, "The Oberon System".
2016-08-06 22:38:08 +02:00
Peter De Wachter
159b049221 Clean up keyboard handling 2016-08-06 22:37:14 +02:00
Peter De Wachter
a261a14cc3 Updated disk image.
Wirth's changelog:

20160704 - Display.Mod updated
    guard against w < 0 in Display.ReplConst
20160620 - System.Mod updated   (see procedure Clear)
20160601 - TextFrames.Mod.txt updated
     see TextFrames.Extend      WHILE ... & (curY >= botY) ...
20160508 - Oberon07.Report.pdf   see syntax of module  (";" removed)
      see ORP.Declarations   (OR (sym = ORB.return))
20160501 - Oberon07.Report.pdf   see defintion of Type
20160418 - corrections: ORP.Mod.txt  ORG.Mod.txt
2016-08-02 20:16:28 +02:00
Peter De Wachter
08f3f8d9bb Mention the disk image tools. 2016-04-19 23:18:05 +02:00
Peter De Wachter
7e5ae7b69c Fix screenshot v2016.1 2016-04-19 23:06:53 +02:00
Peter De Wachter
4c8150e1ff Add a ready-to-use disk image. Update README. 2016-04-19 23:01:26 +02:00
Peter De Wachter
0a6a7aac52 Missing semicolon in Display.Mod 2016-04-19 00:51:55 +02:00
Peter De Wachter
e30fdd84c3 Oberon source cleanup
- Don't use CR line endings. That's the Oberon standard, but it breaks
almost everything else.

- Include a patched version of Input.Mod.
2016-04-19 00:47:10 +02:00
D. E. Evans
11e48788ad Add OS X support.
Assumes SDL2 framework install (libsdl.org) for OS X, as instructed.
2016-02-10 00:15:34 +01:00
Peter De Wachter
70dbab69ef Emulate illegal DIVs
The RISC5 architecture requires divisors to be positive. This commit
emulates what happens if you try to divide by zero or by a negative
integer.
2015-10-02 00:21:50 +02:00
Peter De Wachter
85ee2e5282 Emulate DIV with u-bit set
If the u-bit is set on a DIV instruction, the dividend will be be
interpreted as an unsigned number. This was introduced in the
2015-09-26 RISC5 update.
2015-10-02 00:19:33 +02:00
Peter De Wachter
ec23a381e5 FDV: More accurate rounding
The 2015-09-26 update modified FPDivider.v to use more accurate
rounding. The least significant bit of the result might differ from
the previous version.
2015-10-01 23:51:45 +02:00
Peter De Wachter
e9af0e1b1a Update fp-test for the latest Verilog code
The latest Verilog code uses 48-bit and 64-bit registers, so fp-test
needs to switch to 64-bit integers in the generated code.
2015-10-01 23:40:00 +02:00
Peter De Wachter
10b82d8b40 ob2unix, asciidecoder: some Rust experiments 2015-07-05 11:59:07 +02:00
Peter De Wachter
bc3b1b5438 Tweak the CPU emulation a bit.
Based on suggestions from Robert Ransom.
2015-01-24 16:08:04 +01:00
Peter De Wachter
15f56d339b Don't reuse magic numbers.
Also adapt the patched Display.Mod so it can work with either system.
2014-06-20 18:26:53 +02:00
Peter De Wachter
27fc63778d Fix sign extend undefined behavior
Using a left shift to push a 1 into the sign bit of a signed integer results in
undefined behavior. *sigh*

Use an obscure trick instead.
2014-06-19 20:36:29 +02:00
Peter De Wachter
c1d7717c3e New (& incompatible) screen size hack
This is based on a patch by Charles Perkins:
cf23cea018

It's not compatible with the previous hack, so if you were using that
you'll have to update Display.Mod. A small change to Input.Mod is also
need if you want to increase the size of the display.

The normal, unmodified Oberon software still works correctly, of
course.
2014-06-18 22:35:08 +02:00
Peter De Wachter
eef73f30fb Give the emulated CPU a 32-bit address space
This deviates a bit from the FPGA hardware implementation (which
uses 20-bit addressing) but remains fully compatible with the
Oberon software.
2014-06-16 23:49:14 +02:00
Peter De Wachter
fe431cbf33 Windows seems to have a tiny stack limit... 2014-05-05 21:09:24 +02:00
Peter De Wachter
0d4cbf6a33 Disable raw-serial on Windows
This module was intended to make the emulated RS232 device communicate with a
pair of user-specified file descriptors. But I don't think you can pass file
descriptors around between programs in Windows. So this code is completely
pointless there. Closes #7.
2014-05-05 21:04:04 +02:00
Peter De Wachter
f8a66a68b5 Reassign clipboard port numbers (conflict with schierlm's emulator) 2014-05-05 20:27:55 +02:00
Peter De Wachter
e884562f86 Quick update to the readme 2014-05-04 00:09:49 +02:00
Peter De Wachter
a635262f75 Proper command line parsing 2014-05-03 23:09:17 +02:00
Peter De Wachter
8b94f07a53 Generalize SPI interface a bit
In case anybody feels like emulating the wireless network...
2014-05-03 23:08:25 +02:00
Peter De Wachter
281ed7566b Michael Schierl's screen size patch 2014-05-03 23:07:47 +02:00
Peter De Wachter
56f36a32ea Fix off-by-one error 2014-05-01 20:02:36 +02:00
Peter De Wachter
a5458c470a Move all C code to a subdirectory. 2014-05-01 19:27:09 +02:00
Peter De Wachter
c85b81caf0 Appease clang's scan-build
Another false positive.
2014-05-01 19:24:04 +02:00
Peter De Wachter
50ebae0218 Missing "extern" keyword 2014-05-01 19:16:22 +02:00