|Deletions are marked like this.||Additions are marked like this.|
|Line 48:||Line 48:|
|110 LET X1=-5
120 LET X2=5
130 LET X3=.2
|110 LET X1=-3.2
120 LET X2=3.2
130 LET X3=.1
http://d116.com/vcf/east/1.0/ - see hp2114a.jpg
The system config as best recollected:
- mounted in a rack mount cabinet
- 32k of RAM installed split 5/5/3/3 or similar for the 2 CRTs, card reader and teletype
- 1 "graphics" terminal (honeywell? I remember it had a graphics character set with a toggle button)
- 1 text crt terminal
[http://www.pdp8.net/asr33/asr33.shtml ASR-33 teletype] with punch tape reader (writer?)
- 2? disk drives. (type? 8" floppy? drum?
- external tape punch was not connected.
- card reader
- line printer
It was running a time slicing basic environment. Perhaps the "TIME-SHARING EXECUTIVE" mentioned in the [http://oscar.taurus.com/~jeff/2100/family/family.html sales brochure]?
Here are some useful links:
http://oscar.taurus.com/~jeff/2100/ <- pictures, even some software!
http://bitsavers.org/pdf/hp/21xx/ <- many of the manuals in pdf format
http://www.infionline.net/~wtnewton/oldcomp/hp2100/ <- new OS in development, if you can believe that.
http://www.bitsavers.org/pdf/hp/21xx/poyner1.htm <- article about the history
http://simh.trailing-edge.com/ <- SIMH simulator
http://kmt.hku.nl/~hans/contents_pages/digital.htm - pdf bruchures, etc.
install SIMH above and start "hp2100"
load the hp basic sources: "LO basic1.abs"
jump into basic "RUN 100" Note! TimRiker has no idea if this is the correct location but it seems to work.
input a simple program like this one "forever":
10 DEF FNA(X)=ATN(TAN(ATN(TAN(ATN(TAN(ATN(TAN(ATN(TAN(X)))))))))) 20 DEF FNB(X)=FNA(FNA(FNA(FNA(FNA(FNA(FNA(FNA(FNA(FNA(FNA(X))))))))))) 30 DEF FNC(X)=FNB(FNB(FNB(FNB(FNB(FNB(FNB(FNB(FNB(FNB(FNB(X))))))))))) 40 DEF FND(X)=FNC(FNC(FNC(FNC(FNC(FNC(FNC(FNC(FNC(FNC(FNC(X))))))))))) 50 DEF FNE(X)=FND(FND(FND(FND(FND(FND(FND(FND(FND(FND(FND(X))))))))))) 60 DEF FNF(X)=FNE(FNE(FNE(FNE(FNE(FNE(FNE(FNE(FNE(FNE(FNE(X))))))))))) 80 PRINT FNF(1) 90 END
list the program: "LIST"
then run it: "RUN"
note that on real hardware this silly recursive program could take a very long time to finish. On a 1G ppc debian linux box with SIMH 3.3.1-1 it takes about a half hour and then prints 1.
Here's a more useful program I whipped up that graphs trig functions
100 REM TRIG BY TIM RIKER <TIM@RIKERS.ORG> 110 LET X1=-3.2 120 LET X2=3.2 130 LET X3=.1 140 LET Y1=-1.5 150 LET Y2=1.5 160 LET Y3=(Y2-Y1)/70 170 LET X4=(-X1)/X3 200 FOR X0=0 TO (X2-X1)/X3 210 LET X=X1+(X3*X0) 220 LET S0=INT(((SIN(X)-Y1)/Y3)-.5) 230 LET C0=INT(((COS(X)-Y1)/Y3)-.5) 240 LET T0=INT(((TAN(X)-Y1)/Y3)-.5) 250 LET Y0=INT(((0-Y1)/Y3)-.5) 300 FOR Y=0 TO 70 310 IF Y=T0 THEN 520 320 IF Y=S0 THEN 540 330 IF Y=C0 THEN 560 340 IF Y=Y0 THEN 580 350 IF X0=X4 THEN 600 500 PRINT " "; 510 GOTO 700 520 PRINT "T"; 530 GOTO 700 540 PRINT "S"; 550 GOTO 700 560 PRINT "C"; 570 GOTO 700 580 PRINT "X"; 590 GOTO 700 600 PRINT "Y"; 700 NEXT Y 710 PRINT "" 720 NEXT X0 999 END