Null references (oh no, not again!)

Georg Wrede georg.wrede at iki.fi
Wed Mar 4 23:48:20 PST 2009


Walter Bright wrote:
> Things were so bad on DOS with this I'd develop code on a different 
> system entirely that had memory protection, then only afterwards port it 
> to DOS as a last step.


Oh, those days... Back before we had hard disks, computers had two 
floppy drivers, you had the operating system and a copy the current 
application (word processor, spreadsheet, database, compiler, etc.) in 
one disk drive *physically write protected*, and your data in the other.

http://www.classiccmp.org/dunfield/kaypro/h/k2frontl.jpg

The need to actuay physically write protect the programs was exactly 
that. Usually when a program crashed, the havoc was devastating. Instead 
of getting a GPF or segfault (they didn't exist because there was no 
hardware memory protection), the program ran around "randomly" in the 
memory space.

It was like a movie where the robot gets insane, yelling "grbl grbl 
grbl, destroy destoly!" and starts throwing people, furniture and 
machines into the walls. Too often this results in unwanted writes into 
the data disk. Bits were spewing all over.

http://www.classiccmp.org/dunfield/kaypro/index.htm

I've still got this computer, in mint condition! The floppies were 192k, 
compared to a 4.7GB (single-sided single-layer) DVD, you could fill 
24000 floppies from thd DVD. (With my house keys I've a 4GB memory 
stick, too.) Those floppies would literally *fill* a normal size 
bedroom. They were expensive, too. I remember paying more than a dollar 
a piece. It was usual for shops to sell them one-by-one!

The computer was good enough to run book keeping, budgeting, 
correspondence, customer database, personalised snail-mail spam, all 
that I needed for my 100+ staff company of the time. And of course 
recreational programming.

On another of my computers I had to physically install (as in drill, 
screwdriver, soldering iron) a reset button. This let me create programs 
that inspected the computer state after a crash. Kind of what  Thompson 
and Ritchie (the latter of C fame) wrote for UNIX.

They made UNIX dump the memory and processor state at crash into a 
hidden file (for some reason in the Current Directory). One of the first 
things I wrote when I became a UNIX operator, was a cron script that 
regularly harvested and deleted them.



More information about the Digitalmars-d mailing list