Recovering/Regenerating Non-EAE U/W Focal

70 views
Skip to first unread message

William Cattey

unread,
Jun 3, 2021, 1:56:46 PM6/3/21
to PiDP-8
One of my goals for the OS/8 work I've done on the PiDP-8 is to enable deployment of the most up-to-date software on hardware beyond the SIMH PiDP-8 (i.e. on those museum pieces in museums and in private hands.)

We can now build OS/8 and a variety of applications and utilities for it from source, and manage updates and bug fixes using modern tools.  For example ADVENT has had recent bug fixes!

Two versions of FOCAL are on offer:

FOCAL 69, with recovery of overlays in collaboration with Charlie Lasner a few years ago.
U/W FOCAL version 4e which contains a lot of functionality.

U/W FOCAL currently does a partial build from source.  There are components that didn't offer an obvious test for build from source, and were already present in binary form, so I didn't bother switching them to build from source.

However there's an important caveat to the U/W FOCAL we have: it will not run on hardware that lacks an EAE (Extended Arithmetic element.) This is because the v4e distribution and indeed any modern U/W FOCAL to be found "out on the Net" contains only the EAE floating point modules 8XFIO.PA and 8XFPP.PA.  The non-EAE versions, 8KFIO.PA and 8KFPP.PA have been lost.

The assembly instructions in 16KCPR.PA make reference to them.  I presume they're
modules that they have the same internal API as 8XFIO and 8XFPP but do the extra work that comes for free with the EAE hardware.

RG Edwards' recent post on Double word divide, and a thread last year discussing Sine approximations, led me to believe that there is the expertise reading this Group that might be able to re-generate the non-EAE modules for U/W FOCAL.

Perhaps a reader of this thread, has a couple old DECtapes of U/W FOCAL v4e that have the modules!

Is there interest in trying to get non-EAE U/W FOCAL going?

-Bill Cattey

Steve Tockey

unread,
Jun 3, 2021, 2:47:59 PM6/3/21
to PiDP-8
Bill and all,
I have a paper copy of DEC-08-FFAC-D, "PDP-8 Program Library Subroutines" published in 1968. It has PAL-3 source code for a bunch of math-related routines, including double-precision signed multiply and divide. Since these were published by DEC I'm wondering if they might be "reference implementations", possibly re-used in the non-EAE versions of U/W FOCAL. In any case, it would save the effort of recreating that functionality from scratch.  Unfortunately I don't have machine-readable source code but the book does have the assembly listings. DP Multiply is 174(8) locations and DP Divide is 150(8) so re-typing them would not be a huge issue.

Other functions include:
- single precision square root
- single precision signed multiply & divide
- double precision sine & cosine
- four-word floating point package
- logical subroutines
- arithmetic shift subroutines
- logical shift subroutines

The version I have is from August, 1968. Bitsavers has a slightly earlier version, January, 1968.


So I'm not sure it's of any use, but it is out there.


-- steve


Edwa...@alum.mit.edu

unread,
Jun 3, 2021, 9:43:53 PM6/3/21
to PiDP-8

The double divide in the attachment on your reply (DEC-08-FFAA-D) is the same one that caused me to proposed a better double divide routine.

Steve Tockey

unread,
Jun 4, 2021, 1:54:58 PM6/4/21
to PiDP-8

Edward,
Yes, my mistake. I replied to Bill before reading your message. Sorry for wasting your time.


-- steve



Reply all
Reply to author
Forward
0 new messages