3 ms·
Nearly 40 years ago I disassembled the ROM from a TRS-80 model III and it used the exact same O(N*N) algorithm. As you point out, garbage collection is being pe
by tasty_freeze 6y ago
Nearly 40 years ago I disassembled the ROM from a TRS-80 model III and it used the exact same O(N*N) algorithm. As you point out, garbage collection is being performed due to lack of free memory, and so the algorithm used only the 8080 registers and something like six bytes of dedicated RAM to keep track of everything.
Both BASICs were written by Microsoft.
- xbar 6y agoAnswer for yourself, Bill.
- kazinator 6y agoBill: "Hi! Thanks for your interest in this heart-warming old stuff! I implemented the simplest possible algorithm that was obviously correct, while fitting in the severely constrained memory. I didn't have any weird explicit garbage markers (which are an earmark of de facto manual reclamation) or back pointers. Consequently, you're not reading about the oldest and nastiest string garbage collection bug in Microsoft Basic. I also used more capable big iron machines to emulate 8 bit computers to debug and validate my work. I sold my Basic to multiple computer vendors, which made it more battle-tested than single-vendor implementations, and had more eyes scrutinizing it."