▲ | Completing a BASIC language interpreter in 2025(nanochess.org) | ||||||||||||||||
88 points by nanochess 17 hours ago | 13 comments | |||||||||||||||||
▲ | WalterBright 6 hours ago | parent | next [-] | ||||||||||||||||
> a new BASIC interpreter for the 1983 Mattel ECS add-on for Intellivision Fun fact: Hal Finney (yes, that Hal) wrote a BASIC interpreter for the Intellivision back in 1978 or so in a weekend. It was 2K of code. Mattel shipped it on a cartridge. ROM space was so tight, the only error message it produced was:
Which Hal was very proud of. He showed it to me to make me laugh. At the time I was programming the Mattel Intellivision Roulette cartridge. | |||||||||||||||||
| |||||||||||||||||
▲ | kragen 8 hours ago | parent | prev | next [-] | ||||||||||||||||
Very impressive, as usual! I've never written a 100-page assembly program in my life, much less in one month. The string stack part reminded me of http://turboforth.net/downloads/docs/ANS_String_Lib.pdf, with the same motivation of handling string expressions in limited memory without needing a GC. | |||||||||||||||||
▲ | nobody_special 3 hours ago | parent | prev | next [-] | ||||||||||||||||
I wrote a BASIC interpreter that supported integers and strings circa 1979. Written in assembly, it used a simple precedence parser. I measured its CPU utilization under cpu-intensive loads: ~9.5% for lexical/token analysis, ~20% for the parser, and ~69.5% for semantic work. It was a lot of fun. The assembler I used was really powerful; I used its macro facilities to create ‘rule’ macros that defined the BNF of the language. Congrats on your own implementation! | |||||||||||||||||
▲ | le-mark 12 hours ago | parent | prev | next [-] | ||||||||||||||||
This is a very impressive project a really informative post, thanks to the author! There used to be a lot of content like this on the internet, I miss those days. | |||||||||||||||||
▲ | pjmlp 6 hours ago | parent | prev | next [-] | ||||||||||||||||
Very interesting, this is kind of cool. | |||||||||||||||||
▲ | moron4hire 12 hours ago | parent | prev | next [-] | ||||||||||||||||
Back in 2014, I stumbled on the original source code for the first version of Oregon Trail, which was written in a suspect of BASIC for a timeshare system used by the public schools in Minnesota (probably not the version you're thinking of https://en.wikipedia.org/wiki/The_Oregon_Trail_(1971_video_g...). I was really into VR at the time and had been working on live-programmable VR environments, primarily through a text editor component that could render to a 3D object texture. As a demo of the component, I wrote a good-enough BASIC interpreter to ruin the Oregon Trail code. Writing the interpreter was actually a lot of fun and not that hard, considering I already had a lot of code for processing code syntax for the syntax highlighting feature of the code editor. Sadly, Web standards have changed a bit too much, I couldn't get traction on my project after Mozilla's AFrame released, so now it's some broken code sitting in a GitHub repo somewhere. | |||||||||||||||||
| |||||||||||||||||
▲ | Razengan 17 hours ago | parent | prev [-] | ||||||||||||||||
Ah the Aquarius :) My uncle got one as a donation to his private little "museum" and all I remember was how different it looked from the other machines of that era and a game that taught you spelling by shooting down letters Space Invaders style. | |||||||||||||||||
|