Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

I had never heard of this implementation.

The feature set doesn't seem so crazy for those days.

It's trivial to implement two dimensional arrays. And you can pass indexes as parameters.

I remember programming with Spectrum and the first PCs and sometimes you needed to look up some table for the ordinal of a character or sprite. I remember poking bytes in the 8086 screen buffer, was it B800?



Keep in mind that this was an article in a magazine and the entire compiler had to fit in there, so that was also a limiting factor.

Here is the BYTE issue with the compiler (the p-code vm is given in the previous issue): https://archive.org/stream/byte-magazine-1978-10/1978_10_BYT...

If you take a look at the BASIC source of the compiler and the Pascal source example, i think it becomes immediately obvious that the latter was a little nicer to write stuff in regardless of limitations :-P.

EDIT: the compiler also seems to support direct memory access via a special `MEM[expression]` syntax (implemented in lines 3130 for reading and 4640 for writing). Considering that those computers allowed free reign over the entire system via memory accesses, this alone would be enough to implement more complex stuff wrapped around nice functions.


B800h on VGA, EGA, and CGA boards, B000h on MDA and Hercules.


It's more the lack of structs and pointers, and mandatory pass-by-value that makes me wonder


People wrote huge programs with Spectrum assembler so go figure.


Wordperfect was written in assembly.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: