4 ms·
Pascal for Small Machines
- WillAdams 2y agoAnyone with a spare Micro-SD Card and a Raspberry Pi 5 should try: http://pascal.hansotten.com/niklaus-wirth/project-oberon/oberon-pi/ http://pascal.hansotten.com/niklaus-wirth/project-oberon/obe...
- tomcam 2y agoSuper exciting! Thanks
- Rochus 2y agoThis is just an emulator which runs on Raspi Linux, not a native implementation. You can run it everywhere, even on Windows.
- WillAdams 2y agoYeah, I thought about mentioning that, but it seemed ungrateful to complain of a lack of drivers when I've never written one (but I do still wish someone would take that on as a project). c.f., https://github.com/MGreim/ultiboberon https://github.com/MGreim/ultiboberon
- Rochus 2y agoIt wasn't a complaint, just a fact. Btw. instead of natively porting the Oberon system, it's also possible to just transpile the Oberon code to C and then natively (cross-)compile the C code to the target architecture. That would even work with a bare-bone system. I have two Oberon system versions based on this approach (https://github.com/rochus-keller/OberonSystem https://github.com/rochus-keller/OberonSystem and https://github.com/rochus-keller/OberonSystem3 https://github.com/rochus-keller/OberonSystem3). Replacing the PAL/SDL adapter to a plain frame buffer and serial input seems feasible. Using a framework like https://github.com/rsta2/circle https://github.com/rsta2/circle would make the task even easier. Of course the Oberon compiler does still generate code for the original architecture (one could replace it by a compiler using e.g. TCC as a backend).
- jksmith 2y agoAwesome. Thanks for posting. I miss my modula-2 so much I wrote a bunch of editor macros for Lazarus that allows me to write slightly modula-2 like code in the editor.
- pjmlp 2y agoSince GCC 14, that GNU Modula-2 is part of GCC. Also XDS has been freely available for a couple of years now. What I miss is that there is no modern equivalent of formating keywords on save, I helped with one plugin for Sublime Text on Oberon, maybe need to do the same for VSCode.
- csb6 2y agoThere is also an LLVM-based Modula-2 compiler written by an LLVM contributor: https://github.com/redstar/m2lang https://github.com/redstar/m2lang
- black_13 2y ago[dead]
- timonoko 2y agoI made Pascal for 8080 in about a week in 1979. How is it possible you may ask? Well son, I had Lisp and I just added Pascal translator. Only caveat was that it ignored type declarations and such useless academic shit. Because I had sort-of compiler too, it was not really bad when compared to Turbo-Pascal.
- timonoko 2y agoErh. What? Here is my infamous 1976 Nokolisp-compiler at work: c:\ nokolisp (comp-debug t) (ncompile (macroexpand '(+ 1 2 a))) $36E8:$5CC8: MOV BX,$02 $36E8:$5CCB: MOV AX,$01 $36E8:$5CCE: ADD AX,BX $36E8:$5CD0: PUSH AX $36E8:$5CD1: MOV AX,[$0190] $36E8:$5CD4: CALL $0F1D ; CALL NUMVAL $36E8:$5CD7: MOV BX,AX $36E8:$5CD9: POP AX $36E8:$5CDA: ADD AX,BX $36E8:$5CDC: CALL $05C9 ; CALL MAKNUM $36E8:$5CDF: JMP $1DA7 (subru: eval=$5CC8, compile=$3B6F)
- anta40 2y agohttps://github.com/timonoko/nokolisp https://github.com/timonoko/nokolisp Interesting work. Time to setup DOSBox + MASM + etc etc.... :D
- timonoko 2y agonoko.exe works at dosbox without any "etc etc". nokolisp.exe is just a kernel without editors and macroes.
- anta40 2y agofor building the interpreter from the source, of course. because... well why not? :D
- sph 2y agoHot damn, that's such a cool piece of engineering that's worth its own post. I reckon hand coding a Lisp in assembly was commonplace in the late 70s, but these days it's like seeing an artefact from a long-lost civilization, as we've mostly lost those kind of skills.
- przemub 2y agoI thought it would be Pascal for microcontrollers :) Still very nice!
- Rochus 2y ago> Pascal for microcontrollers It's in the making, but needs more time: https://github.com/rochus-keller/micron/ https://github.com/rochus-keller/micron/
- pjmlp 2y agoHere, they are in business for decades now, https://www.mikroe.com/compilers/compilers-pic https://www.mikroe.com/compilers/compilers-pic