13 ms·
OberonStation, an Oberon RISC workstation
- ori_b 11y agoNeat, but disappointing that it's using VGA and PS/2 instead of something that plugs into peripherals that I own. Wish I could play with it.
- rjsw 11y agoI'm sure ETH Zurich would be happy to receive your patches to add a USB stack and EDID parser written in Oberon.
- ori_b 11y agoMight be fun. My spare-time projects fully support Plan 9, why not muck around with another zombie OS? EDID parsing should be easy, but the USB stack will be painful. And supporting "real" video hardware would be a pain. I'd have to figure out if it can run it on some hardware I own first, though. Realistically, though, this is likely to fall by the wayside, since I only have so many hours a day coding, and enough of it is spent at work.
- sinrostro 11y agoOberon is a pretty interesting system to muck with. Another approach is to blackbox USB and HDMI, and consider them outside the project, much like the VGA monitor or whatever is in the keyboard to send PS/2 signals. You can connect to spare IOs on the FPGA board with 'blackbox' hardware, as long as protocols are simple and open.
- nickpsecurity 11y agoExactly. I often recommend that anyway. Let's you offload all the interrupts and often plenty pre-processing. And microcontrollers with onboard peripherals are more numerous, powerful, and cheap than ever before. So many possibilities there. I downloaded as much of the source of Bluebottle as I can. I'm glad the OP gave me the link to the modern one. I'll get it too. Think I might try to retarget it in one of the safer languages, secure hardware (eg Cambrige CHERI processor), or certified compilers. Oberon is the kind of thing a one-man project can make progress on. On other side, I think I recently saw another team quit after little progress on rewriting NetBSD in something safer. ;)
- pyvpx 11y agowhat were they re-writing NetBSD in? can you share a link to more information?
- nickpsecurity 11y agoI don't have the link anymore. Doesn't matter. Despite NetBSD's portability and good design, it was simply too complicated and connected to C style for them to pull off the re-write. Oberon, on the other hand, has the whole OS written in a type-safe language with good modularity and is a lot simpler. Should be a much easier re-write.
- pjtr 11y agoThere already exists a USB implementation for Oberon including working generic drivers for USB mouse and keyboard devices: http://www.cs.inf.ethz.ch/gutknecht/stud_work/2000SS_cplattne/ http://www.cs.inf.ethz.ch/gutknecht/stud_work/2000SS_cplattn...
- sinrostro 11y agoOne of the goals of Project Oberon is a system that can be understood in its entirety by a single individual. A USB controller, or an HDMI encoder would take several books to describe. There are hundreds of FPGA boards that do not meet the requirements of Project Oberon, in addition to the board you mention.
- kragen 11y agoI don't know where you live, but VGA monitors and PS/2 keyboards and mice are free here.
- sklogic 11y agoVGA is an order of magnitude easier to drive than an HDMI.
- nickpsecurity 11y agoThe best start you can get at a system that you fully understand and know isn't subverted. Then, once you know HW design, you can take the next step by putting it on your own ASIC. Matter of fact, Wirth's early systems ran well on old tech. Can use a pretty old process node. :)
- agumonkey 11y agoI would be very very happy for him to do talks about his way of working.
- nickpsecurity 11y agoWirth wrote a lot of papers on it. I look some important ones up, from OS's to HW, then post them for you if you want.
- agumonkey 11y agoI was lazy, that's why I mentioned talks. But I'd be happy to have a list of books too. Thanks.
- nickpsecurity 11y agoI got a few for you that show his way of doing things. The Lilith system was a start. Its approach of simplicity, layering, and consistency will help if you're lazy. Only a few here because I'm lazy after the huge posts I've been writing. ;) Lilith System http://www.cfbsoftware.com/modula2/Lilith.pdf http://www.cfbsoftware.com/modula2/Lilith.pdf Main project page http://www.projectoberon.com/ http://www.projectoberon.com/ Old system with links and ports (HW diversity or learning) http://www.oberon.ethz.ch/archives/systemsarchive/sys_genealogy_new http://www.oberon.ethz.ch/archives/systemsarchive/sys_geneal... How he compiles it https://www.inf.ethz.ch/personal/wirth/CompilerConstruction/CompilerConstruction1.pdf https://www.inf.ethz.ch/personal/wirth/CompilerConstruction/... Turning programs into circuits https://www.inf.ethz.ch/personal/wirth/Oberon/286.pdf https://www.inf.ethz.ch/personal/wirth/Oberon/286.pdf His hardware description language https://www.inf.ethz.ch/personal/wirth/Lola/LolaCompiler.pdf https://www.inf.ethz.ch/personal/wirth/Lola/LolaCompiler.pdf A guy who inspired his approach & did safe languages + OS's, including bullet-proof concurrency in 80's ;) http://brinch-hansen.net/ http://brinch-hansen.net/ There you go.
- coldtea 11y agoWhere's pjmlp?
- vezzy-fnord 11y agoLamenting the loss of Xerox PARC, I'd assume.
- sinrostro 11y agoThere are many FPGA devboards with dynamic RAM. This appears to be the only board with 32-bit 10ns static rams, required for Oberon. It is unique in its ability to boot Oberon in 1 second, straight out of the box.
- pjtr 11y agoWhy is static ram required for Oberon? A quick googling found this: https://lists.inf.ethz.ch/pipermail/oberon/2015/008083.html https://lists.inf.ethz.ch/pipermail/oberon/2015/008083.html But I don't really understand the explanation. Does DRAM need software support? Would performance just be unacceptable?
- pdw 11y agoThe Verilog code for an acceptably efficient DRAM controller would be larger and more complicated than the Verilog code for the entire current system put together. It's not a good fit for a project that seeks simplicity.
- sklogic 11y agoWhy do you care about efficiency? Use all your block rams for a cache to mitigate the dram inefficiency, and use the simplest possible controller. They can be quite simple, really, see this one for example: https://github.com/fpga-logi/logi-hard/blob/master/hdl/interface/SDRAM_Controller.vhd https://github.com/fpga-logi/logi-hard/blob/master/hdl/inter...
- cpayne 11y agoWhat do you do with one of these things? I get the concept of totally understanding the hardware & software, but once you bootup, then what? Are you presented with a command prompt? Can you use it for an IoT? Or (on the software side) is its purpose to understand how compilers work?
- sinrostro 11y agoIt has an interesting GUI. Text is live (as in everything can be a menu), and selections can become objects of commands. See http://ignorethecode.net/blog/2009/04/22/oberon/ http://ignorethecode.net/blog/2009/04/22/oberon/
- deleted 11y ago[deleted]
- 885895 11y ago>Oberon’s «desktop» is an infinitely large two-dimensional space on which windows (and documents, since the distinction becomes meaningless in some ways) can be arranged [...] When people held presentations using Oberon, they would arrange all slides next to each other, zoom in on the first one, and then simply slide the view one screen size to the right to go to the next slide. It is commonly said that Plan 9 from Bell Labs is more UNIX than UNIX. This idea of sliding the view along an infinite plane, in turn, seems to me even more UNIX than anything I've seen or heard of. Not having used -- and in fact only having heard of in passing -- Oberon before, I can't comment on how Unixy the remainder of the system is, but none-the-less, this right here seems to capture the essense of UNIX. In all the times I have been impressed by well composed presentations, never have I questioned the need for "tricks" like screenshots and videos to get a coherrent presentation of interactive tasks or information from software external to whatever tool was being used to run the presentation.
- renox 11y agoI'm not so sure: the simplicity of the concept is nice but is-it really simple/nice to use? I imagine that you could get lost quite easily in an infinite plane, so you'd need to be able to zoom out to find your windows but if you have too many windows opened then you have to zoom out so much than it's becoming hard to see which windows is what.. Workspaces seems a better way to organize your windows (even though it can also be difficult to find the workspace which contain the window you want).
- RexRollman 11y agoDespite booting and testing Oberon on more than one occasion, I have personally never found a use for it. That said, it makes me happy to see people tinkering and creating things like this.
- nickpsecurity 11y agoRoot of trust on air gapped system. It meets the verification requirements, it's portable, and is a start on the safety requirements. :)
- coderjames 11y agoThis looks pretty awesome, I might have to pick one up. Always wanted to play with a real, native Oberon.
- JulianMorrison 11y agoA FPGA, huh? Interesting, why not just target ARM? I doubt that's going anywhere soon.
- sinrostro 11y agoI imagine Prof. Wirth must have thought that 32032 wasn't going anywhere soon 20 years ago. As I see it, the ARM instruction sets (note the use of plural) are a moving target (look at Cortex chips with Thumb2 only). They are far from RISC if you count them, and the instruction encoding is horrendulous. It's like saying "why not target Windows? I doubt that's going anywhere soon" With FPGAs, your only risk is that the manufacturer discontinues the chip you targeted, and you can then target another brand with the same (or nearly the same) HDL code.
- nickpsecurity 11y ago100% spot on assessment! Wirth thought ahead well enough last time in making it modular and simple enough to easily port. They thought even better by putting it on a FPGA. And also with CPU and components simple enough to implement on ASIC with old node (350nm or 180nm). That's inexpensive enough to be crowd-funded. Need the I/O stuff, etc to be implemented for the node, too, though...
- sinrostro 11y agoThanks. And I didn't even mention security in ARM chips (or lack thereof)
- kragen 11y ago20 years ago was 1995. NS32k was long dead then; National retired it in 1990 when it was only six years old. Even when it came out, it was kind of an underdog compared the the already-five-year-old 68k, which was already powering the SUN workstations and went on to power any number of Sun competitors plus the Lisa, the Macintosh, and the PalmPilot. ARM has been around at this point for 30 years, and yes, there are incompatibilities from one to the next. But it'll probably be around in some form for another 30 years. And, yes, your Windows binaries will probably still be runnable ten years from now, and your Linux binaries probably won't be.
- tomcam 11y agoThis is literally a dream come true for me. But the PayPal link doesn't work for the assembled version. Help!
- e12e 11y agoVery nice. Afraid I won't be able to get one now, but for those that want to play now, and keep the real thing on a wish list, apparently there's (at least one) an emulator: https://github.com/pdewacht/oberon-risc-emu https://github.com/pdewacht/oberon-risc-emu Exited to see people keep working on stuff like this.