Lovely :) The examples remind me of the short programs for the ZX Spectrum published in magazines like Microhobby, which would create visually interesting images using PLOT, DRAW, and a couple of loops. Come to think about it, that might have been my first contact with Computer Graphics :)
My first introduction to graphics was definitely the type-in-program listed in the back of the (orange) manual I received with my 48k ZX Spectrum. It drew a UK-flag.
Here's the source, which gives me a moment of nostalgia:
I wrote a simple BASIC interpreter recently, in golang, and hacked in support for outputing PNG images of code. I should see if I can get that sample to run (mostly) unchanged!
Nice! Some time ago I worked on a ZX BASIC interpreter in Javascript, so it could run on browsers. My idea was that kids these days™ don't have an environment as easily available and immediately gratifying as we did back then, so I wanted to make one!
Have you considered doing something similar with yours?
I did embed it in a web-server, so that the user can enter BASIC into a <textarea> and have the output rendered by their browser as an image. I called it "visual basic" ;)
The reminds me of the the days before affordable color bitmap displays. I wrote a unix program to render the mandlebrot set in greyscale. Then a VMS program to render the greyscale image into postscript.
I was in a university lab with a 8 foot long laser printer that normally spit out 200 pages per minutes or so with the first page being a giant ascii rendering of your username. It made a cool frewp noise with each page shot out into a self collating set of shelves. The vast majority of the output was just ascii.
My mandelbrot set kept the printer busy for a few minutes, the operator wanted to reboot. I pleaded with them to leave it run. It finally spit out a page at at least 300 dpi, everyone in the lab came to look and was amazed. Back in those days rending a 3150x2250 part of the mandelbrot set was a substantial amount of compute. These days something like that runs at 60 fps.
18 comments
[ 3.0 ms ] story [ 47.3 ms ] threadHere's the source, which gives me a moment of nostalgia:
http://boriel.com/wiki/en/index.php/ZX_BASIC:Flag.bas
I wrote a simple BASIC interpreter recently, in golang, and hacked in support for outputing PNG images of code. I should see if I can get that sample to run (mostly) unchanged!
Have you considered doing something similar with yours?
https://github.com/skx/gobasic/#80-print-visual-basic
Just a small example really of embedding, I suspect to make it really useful for new-programmers it'd need a lot of overhaul.
When my child gets old enough I'll probably just give them a BBC-emulator, or similar to get started with.
Or rather: How would he present a "Show HN" topic about this specific library? This is the library's actual page, as I understand?
If it helps at all, they're a thousand times more tedious to write than they are to read.
https://www.glassner.com/portfolio/graphics-gems/
I was in a university lab with a 8 foot long laser printer that normally spit out 200 pages per minutes or so with the first page being a giant ascii rendering of your username. It made a cool frewp noise with each page shot out into a self collating set of shelves. The vast majority of the output was just ascii.
My mandelbrot set kept the printer busy for a few minutes, the operator wanted to reboot. I pleaded with them to leave it run. It finally spit out a page at at least 300 dpi, everyone in the lab came to look and was amazed. Back in those days rending a 3150x2250 part of the mandelbrot set was a substantial amount of compute. These days something like that runs at 60 fps.