SPACE WAR for PDP-11 - link issues

Mattis Lind mattislind at gmail.com
Thu Jan 3 14:49:07 CST 2019


Success sort off!


>
> the source paper tapes for fpmp are at
> http://bitsavers.org/bits/DEC/pdp11/papertapeimages/20040101/tray07
>
> TRAY07
>
> dec-11-nfpma-a-pr1 8/72; fpmp-11 single precision package; replaces:
> dec-11-yqpc-pb; (c)1971,72
> dec-11-nfpma-a-pr2 8/72; fpmp-11 double precision package; replaces:
> dec-11-yqpc-pb; (c)1971,72
> dec-11-nfpma-a-pa1 8/72; fpmp-11 source; tape 1 of 6; replaces:
> dec-11-yqpc-pa; (c)1971,72
> dec-11-nfpma-a-pa2 8/72; fpmp-11 source; tape 2 of 6; replaces:
> dec-11-yqpc-pa; (c)1971,72
> dec-11-nfpma-a-pa3 8/72; fpmp-11 source; tape 3 of 6; replaces:
> dec-11-yqpc-pa; (c)1971,72
> dec-11-nfpma-a-pa4 8/72; fpmp-11 source; tape 4 of 6; replaces:
> dec-11-yqpc-pa; (c)1971,72
> dec-11-nfpma-a-pa5 8/72; fpmp-11 source; tape 5 of 6; replaces:
> dec-11-yqpc-pa; (c)1971,72
> dec-11-nfpma-a-pa6 8/72; fpmp-11 source; tape 6 of 6; replaces:
> dec-11-yqpc-pa; (c)1971,72
>


I did download those. But I linked with the pre made single precision
package. Reading the manual more carefully reveal that there is not  the
complete FPMP-11 package in those pre made object files. So one have to
assemble ones own version by specifying exactly which modules to include in
a short file and then feed the six source file into PAL11-S. And voila a
tailor made version of FPMP-11 made for SPACE WAR is produced.

I then fed this object into LINK11-S followed by the 19 object files of
SPACE WAR. Finishing with the POINT module. And after doing this twice I
was greeted by a MODULE MAP and a 7323 byte absolute binary file!

* U

* E

LOAD MAP

TRANSFER ADDRESS: 000001
LOW LIMIT: 025562
HIGH LIMIT: 037460
**********
MODULE  FPMP11
SECTION ENTRY   ADDRESS SIZE
<. ABS.>        000000  000000
<      >        025562  000640
        $ERR    026364
        $ERRA   026374
        $ERVEC  026414
        $ICI    025570
        $ICO    026074
        $OCI    025562
        $OCO    026066
        $POLSH  026360
        $V20A   026360
**********
MODULE  CHAR
SECTION ENTRY   ADDRESS SIZE
<      >        026422  000246
        CHAR    026422
**********
MODULE  CHRTAB
SECTION ENTRY   ADDRESS SIZE
<      >        026670  000606
        CHRTAB  026670
**********
MODULE  COMPAR
SECTION ENTRY   ADDRESS SIZE
<      >        027476  000444
        COMPAR  027476
**********
MODULE  EXPLOD
SECTION ENTRY   ADDRESS SIZE
<      >        030142  000330
        EXPLOD  030142
        EXPREP  030260
        EXPX    030266
        EXPY    030270
**********
MODULE  GRAVTY
SECTION ENTRY   ADDRESS SIZE
<      >        030472  000450
        GRAVTY  030472
**********
MODULE  MULPLY
SECTION ENTRY   ADDRESS SIZE
<      >        031142  000304
        MULPLY  031142
**********
MODULE  PARM
SECTION ENTRY   ADDRESS SIZE
<      >        031446  001214
        PARM    031446
**********
MODULE  PWRUP
SECTION ENTRY   ADDRESS SIZE
<      >        032662  000106
**********
MODULE  RESET
SECTION ENTRY   ADDRESS SIZE
<      >        032770  000206
        CENTER  040000
        ORBIT   000400
        RESET   032770
        RES01   033156
**********
MODULE  RKT1
SECTION ENTRY   ADDRESS SIZE
<      >        033176  000160
        RKT1    033176
**********
MODULE  RKT2
SECTION ENTRY   ADDRESS SIZE
<      >        033356  000142
        RKT2    033356
**********
MODULE  SCORE
SECTION ENTRY   ADDRESS SIZE
<      >        033520  000266
        SCORE   033520
**********
MODULE  SINCOS
SECTION ENTRY   ADDRESS SIZE
<      >        034006  000462
        SINCOS  034006
**********
MODULE  SLINE
SECTION ENTRY   ADDRESS SIZE
<      >        034470  000114
        SLINE   034470
**********
MODULE  SPCWAR
SECTION ENTRY   ADDRESS SIZE
<      >        034604  000232
        ADBR    176772
        ADCS    176770
        AMMO    035022
        ANGH1   034760
        ANGH2   035006
        ANGL1   034756
        ANGL2   035004
        ANGMID  000702
        DAC0    176750
        DAC1    176752
        DAC2    176754
        FIRE    001440
        FLAG1   034736
        FLAG2   034764
        GAME1   035026
        GAME2   035030
        GRVFLG  035032
        HIT1    035010
        HIT2    035012
        MASK    002100
        PTREP   035034
        RKTSIZ  007000
        SHOTS1  035014
        SHOTS2  035016
        SPCRST  034624
        SPCWAR  034604
        SUNSZ   004000
        TSPEED  035024
        WIN     035020
        XDISP1  034754
        XDISP2  035002
        XSIZE1  034746
        XSIZE2  034774
        XVELH1  034752
        XVELH2  035000
        XVELL1  034750
        XVELL2  034776
        YDISP1  034744
        YDISP2  034772
        YSIZE1  034734
        YSIZE2  034762
        YVELH1  034742
        YVELH2  034770
        YVELL1  034740
        YVELL2  034766
**********
MODULE  SUN
SECTION ENTRY   ADDRESS SIZE
<      >        035036  000304
        SUN     035036
**********
MODULE  UPDAT1
SECTION ENTRY   ADDRESS SIZE
<      >        035342  000356
        UPDAT1  035342
**********
MODULE  UPDAT2
SECTION ENTRY   ADDRESS SIZE
<      >        035720  000356
        UPDAT2  035720
**********
MODULE  POINT
SECTION ENTRY   ADDRESS SIZE
<      >        036276  001162
        POINT   036276
        PTNUM   036456

PASS 2


*

Starting SPACE WAR (after loading the IOX-11 library) then gave this
dialogue:

sim> go 034604

SPACE WAR
ANY CHANGES? (YES-NO)
Y
WANT A SUN WITH GRAVITY? (YES-NO)
Y
WANT REAPPEARING PHOTON TORPEDSOES? (YES-NO)
Y
INPUT # OF TORPEDOS RKTS WILL HAVE. STD=64
64
INPUT # OF HITS TO DESTROY A RKT  STD=32
32
INPUT SPEED OF TORPEDOES. STD=16000
16000

HALT instruction, PC: 000042 (BIC R4,SP)

sim>

So it does run! I would guess that the lack of proper AD01 and AA11
hardware in SimH is the reason for the HALT, but it remain to be
investigated!

Next step is to adapt the code to the AR11 hardware in place for AD01 and
AA11.


More information about the cctech mailing list