Floating point math in FORTRAN IV on PDP-8

Jonathan Engwall engwalljonathanthereal at gmail.com
Mon Sep 24 06:58:40 CDT 2018


Maybe you don't want to fix your program.

On September 19, 2018, at 5:46 PM, Michael Zahorik via cctalk <cctalk at classiccmp.org> wrote:

Kyle, I have not run my machine since March. Summer is car season. But I thought that maybe I could run this little program quickly. My PDP8E started up, loaded the RIM and SERIAL DISK then OS/8 ran. Everything looked good, BUT...... something is wrong with my FORTRAN 4. Programs seem to compile, but I can't even run a simple test program that prints out whatever I enter from the TTY. Something has gone south. Anyway, I'm not familiar with the command FLOAT(). Do I have to have floating point hardware to use this? Well.... either there is something wrong with my machine or more likely with my FORTRAN software or even more likely operator error (me). So many times after a long summer I have to re learn most of what I learned last winter. Kinda of like when I was in school after summer vacation.  Mike Zahorik (414) 254-6768

      From: Kyle Owen via cctalk <cctalk at classiccmp.org>
 To: General Discussion: On-Topic and Off-Topic Posts <cctalk at classiccmp.org> 
 Sent: Wednesday, September 19, 2018 5:43 PM
 Subject: Floating point math in FORTRAN IV on PDP-8
   
At VCF MW this past weekend, I was playing around with an FPP8/A stuffed
into a PDP-8/M with a fan removed. This hex-wide two-board set will happily
work in a quad-wide backplane, as it needs no signals that an 8/A would
otherwise provide.

I wanted to benchmark the FPP8/A with the software emulation that FORTRAN
IV supposedly does. Mind you, I also don't have an EAE in mine, so software
emulation for integer multiplication/division would also be used.

I tried running a simple program to print some natural logs and square
roots, which ran quite well with the FPP8/A in place.

Without the FPP8/A...all of the results were wrong. Significantly. Negative
numbers in many cases. No clear pattern as to what it's doing.

Would anyone be able to try my program on some other real hardware (or
another emulator) to verify? With and without EAE would also be desirable.
I'm not sure how to disable the EAE in SIMH, else I'd try that too.

Here's what SIMH looks like with my program:

PDP-8 simulator V4.0-0 Current        git commit id: d35b8725
sim> at rk0 disk2.fortran.rk05
sim> b rk

.TYPE FLOAT.FT
      DO 50 I=1,100
      F = FLOAT(I)
      G = SQRT(F)
      H = ALOG(F)
      WRITE(4,100) F,G,H
50    CONTINUE
100  FORMAT(' ',F12.6,F12.6,F12.6)
      END

.R F4
*FLOAT/G$
    1.000002    1.000002    0.000000
    2.000002    1.414215    0.693147
    3.000002    1.732053    1.098614
    4.000002    2.000002    1.386296
    5.000002    2.236070    1.609439
[snip]
  98.000001    9.899495    4.584968
  99.000000    9.949874    4.595121
  100.000023  10.000008    4.605171

.

Much appreciated,

Kyle


   


More information about the cctech mailing list