Differences between revisions 36 and 38 (spanning 2 versions)
Revision 36 as of 2008-02-21 05:07:39
Size: 6667
Editor: TimRiker
Comment:
Revision 38 as of 2008-03-11 19:28:00
Size: 6155
Editor: TimRiker
Comment:
Deletions are marked like this. Additions are marked like this.
Line 17: Line 17:

The admin was a [http://www.fullerfh.com/sitemaker/sites/fuller0/obit.cgi?user=richard-stover Dick Stover] who recently passed away
Line 120: Line 122:
and compiled them up. I can load the binary in simh. I need to start it with {{{g 30000}}} which should then prompt for slot info, but it can't find the terminal. Here's the relevant source code: {{{
PTSBS CLC 0 TURN OFF ALL DEVICES
      LIA 1 LOAD I/O ADDRESS OF TTY
      AND .63 MASK TO LOWER 6-BITS
      STA B PUT ADDRESS IN B-REGISTER
      ARS,ARS SHIFT TO BITS (5-3)
      ARS
      SZA I/O ADDRESS >7?
      JMP ZGO YES-INITIALIZE PREPARE BASIC TTY
*
      HLT 55B INVALID I/O ADDRESS HALT
      JMP PTSBS TRY AGAIN
}}}
I'm not sure what to put as the tty address. The MUX in simh defaults to slot 40. While I'm sure that look obvious to some, it's not to me. :)) More info in the docs:
fixed a few other things in the assembler and it's now working! see MsuBasic for details.:)) More info in the docs:

The FirstComputer that TimRiker ever worked on was at [http://www.penfield.edu/phs/ Penfield High School] in [http://www.penfield.org/web/ Penfield, New York]. From what I've been able to determine it was a HP-2114B model. It used a form of time shared basic, but it was not a dual cpu model cabinet. It was running a time shared basic environment. Perhaps the "TIME-SHARING EXECUTIVE" mentioned in the [http://oscar.taurus.com/~jeff/2100/family/family.html sales brochure]? There were no "accounts" on the machine. Everyone used the same program storage space. This is unlike any version of HP2000 (ie: HP-TSB) release TimRiker has seen so far.

TimRiker acquired a bunch of [http://rikers.org/gallery/hardware old HP hardware] including an [http://rikers.org/gallery/hardware-hp2116a HP-2116A] that he is in process of restoring. Check the [http://rikers.org/gallery/hardware Gallery] for pictures and updates as work progresses. Adding some notes on HardwareNotes

The system config as best recollected:

  • HP-2114 style cover with 16 bit touch switches. key lock, and preset/run/halt/load/etc touch switches.
  • 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
  • [http://www.pdp8.net/asr33/asr33.shtml ASR-33 teletype] with punch tape reader (writer?)

  • 1 text crt terminal
  • 1 "graphics" terminal (honeywell? I remember it had a graphics character set with a toggle button)
  • 2? disk drives. (type? 8" floppy? drum?
  • card reader
  • line printer
  • external tape punch was not connected.

The admin was a [http://www.fullerfh.com/sitemaker/sites/fuller0/obit.cgi?user=richard-stover Dick Stover] who recently passed away

Here are some useful links:

Hacking HOWTO:

  • install SIMH above and start "hp2100"

  • load the hp basic sources: "LO basic1.abs"

  • jump into basic "GO 100"

  • 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 deeply nested 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

emulator progress

I grabbed the sources from:

and the perl assembler from:

patched 22255-08.txt thusly:

-     STBFAD2    SAVE ADDRESS
-     P WCONT    MOVE IN AND PROCESS
+      STB BFAD2    SAVE ADDRESS
+      JMP WCONT    MOVE IN AND PROCESS

and asm21 thusly:

-    } elsif ($str =~ s/^([a-zA-Z.?%\#\$][0-9a-zA-Z.?%\/=\#\$]*)//) {
+    } elsif ($str =~ s/^([a-zA-Z.?%\#\$\&\[\/@\^\!][0-9a-zA-Z.?%\/=\#\$\&\[\/@\^\!]*)//) {

fixed a few other things in the assembler and it's now working! see MsuBasic for details.:)) More info in the docs:

RikerWiki: FirstComputer (last edited 2014-02-26 18:47:12 by TimRiker)