OS/8 FORTRAN 4

184 views
Skip to first unread message

Andrew Herbert

unread,
Oct 12, 2022, 2:12:26 PM10/12/22
to PiDP-8
I cannot get FORTRAN IV programs to execute.

I have tried the PEP001 example and an even more simple

      WRITE (4, 100)
100   FORMAT (' hello world')
      STOP
      END

In each case

.R F4
*,TTY:,TTY:<PROG.FT/G

produces a listing, shows the loader doing its stuff and takes me to a * prompt.  Typing ESC sends my pipdp8i off computing but I never get to see any output.

If I break out with ^C and try to rerun with 

.R FRTS
*<PROG
*ESC

I get the same behaviour.

Any suggestions for what the problem might be?

Andrew

Rick Murphy

unread,
Oct 12, 2022, 2:45:48 PM10/12/22
to Andrew Herbert, PiDP-8
Is that source real? Lower case strings aren't supported, so that'll do weird things. (But it should be consistent.)
Here's what I get:

.TYPE PROG.FT
        WRITE(4,100)
100     FORMAT(' hello world')
        STOP
        END

.EXEC PROG.FT

(%,,/ 7/2,$

If you're not getting anything at all, and just a hung system, then there's something bad on your OS/8 disk.
One of the issues with some of the homebrew OS/8 disks are disjoint versions of the FORLIB.RL and FRTS.SV, leading to bad behavior at run time. What's the provenance of your media?
The work done by Bill Cattey and friends to ensure that the media is all built from known good sources eliminates this kind of mismatch potential.
    -Rick



--
You received this message because you are subscribed to the Google Groups "PiDP-8" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pidp-8+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pidp-8/4f8e3f7a-6ba2-42ee-9911-3993d17ee0c3n%40googlegroups.com.


--
Rick Murphy, D. Sc., CISSP-ISSAP, K1MU/4, Annandale VA USA

Ian Schofield

unread,
Oct 12, 2022, 5:15:13 PM10/12/22
to PiDP-8
Dear All,

 Even F4 does not like lower case text.
 eg:
C
C
        WRITE(4,20)
20      FORMAT('A test line')
        CALL EXIT
        END
#E

.EXE TEST.FT

 4%34 ,).%

.

This is the general case for most (if not all) PDP8 languages.
Typically, ASCII is stored in packed 6bit codes (2 per 12 bit word)
as a result, the character set is limited....
However, OS/8 itself stores ascii in packed 8 bit characters (3 per 2*12 bit words)
So, you can edit files containing lower case chars but don't expect compilers to do much with them.
NB: the Basic editor doesn't even let you enter LC chars!!!

Regards, Ian

Andrew Herbert

unread,
Oct 12, 2022, 6:59:05 PM10/12/22
to PiDP-8
The source code on the PiDP8i is all upper case - my miscopy is a read herring.

So it sounds like something is broken on my emulated RK05.  It started as a copy of the current standard RK05 in the distribution, but I have been using for several weeks so something might have got smashed.

I'll try on a clean copy.

Andrew

Randy James

unread,
Oct 12, 2022, 7:26:03 PM10/12/22
to Ian Schofield, PiDP-8
In the late 70’s I wrote a WYSIWUG word processor for TSS/8 and Vt52s…with the ability to display upper and lower case.  We had a 96 character drum on our Lp08 line printer.   Ahead of my time…

On Oct 12, 2022, at 4:15 PM, Ian Schofield <isy...@gmail.com> wrote:

Dear All,

Steve Tockey

unread,
Oct 13, 2022, 11:21:14 AM10/13/22
to PiDP-8

Andrew,
I see several possible problems:

1) When you are compiling, you aren't saving the .RL output from F4. The first parameter of the line after R F4 is supposed to be the name of the.RL output from F4 but since there is a comma first the .RL output is not generated.

2) You need to link the .RL file using the LOAD program to make a .LD file that FRTS uses.

3) Don't use the < as the input spec for FRTS

In other words, the following should work better:

.R F4
*PROG<PROG

.R LOAD
*PROG<PROG
*$

.R FRTS
*PROG$

I would highly recommend that you look a the F4 section in the OS/8 Language Reference Manual available here:



Cheers,

-- steve

Andrew Herbert

unread,
Oct 14, 2022, 1:54:58 PM10/14/22
to PiDP-8
Hi Steve,

Your recipe dug me out of the hole I was in.  Thanks for the pointer to the Programming Languages Reference Manual.  I was working from the OS/8 System Handbook which is a bit abbreviated.

I've now resurrected a bunch of old FORTRAN IV programs and made them run on the PiDP8.

Andrew

MogensB

unread,
Dec 16, 2023, 5:01:20 AM12/16/23
to PiDP-8
Hi,

I am trying to create a runnable .SV file from a FORTRAN IV program, but i keep getting an error message “CORE IMAGE ERR” from the SAVE command. 
I am trying with FRTS, LOAD, ABSLDR but I am not getting it right…

What is a working procedure/commands to make a .SV image file from a FORTRAN IV program?

Best regards,
Mogens

Rick Murphy

unread,
Dec 16, 2023, 8:29:13 AM12/16/23
to MogensB, PiDP-8
The F4 compilation chain ends up with a load module (.LD)
That's not able to run on its own as it's basically a bunch of FPP code. It needs the Fortran Runtime System to be able to run. (FRTS has a FPP emulator embedded.)
As a result, you can't make a save image file from F4 source(s).

Adventure had a hack at one point where you ran the FRTS to load it into memory, then it would upon startup call a PAL routine to disable interrupts, set up a proper core control block so the SAVE command would work, then exit. Upon return, it would reinitialize the FRTS and continue.
You could then use SAVE to create a .SV file. This was very fragile - moving bits around on disk would cause it to fail. (F4 opens all the files you're using before starting the user's program, so if any of those are moved due to things like a SQUISH command, the files wouldn't read properly.)

TL;DR - don't try to create a .SV file. Use "EXEC FOO.LD" to run the linked load module.
    -Rick

--
You received this message because you are subscribed to the Google Groups "PiDP-8" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pidp-8+un...@googlegroups.com.

MogensB

unread,
Dec 16, 2023, 11:18:28 AM12/16/23
to PiDP-8
Thanks Rick, for clarifying this. I will stick to .EXE MYPROG.LD which works perfectly :-) 
/Mogens

Reply all
Reply to author
Forward
0 new messages