I thought the reason they ran the arrays backwards was for allocation from end of memory. I think the reason they did that was so a program that ran on 4K would run on 8, 16 and 32K as well. I used a 7040 and I thought that was an upgrade from the 704. I wrote a lot of assembler and Fortran on the 7040 but don't remember them running arrays backwards.
Regarding EQUIVALENCE, it was not uncommon to do something like this (NAMA1 converts name code to A1). The programmer knew that arrays run backwards so he stores the program name into memory in the correct INTEGER*4 order and to get a pointer to the high order part of the name he could equivalence to the 2nd element of the array (I got this clip from some old code I have).INTEGER*4 NAMCD
C PROGRAM NAME FROM CIH
I = LOOK(123)
NAME(1) = LOOK(I+19)
NAME(2) = LOOK(I+18)
I took a copy,
but its pretty raw. You need to replace several characters. I wonder if Carl ever cleaned it up.
Just the sort of thing for running on a replica 1130 if I ever get my FPGA one running again….
Please let me know if you get it running. I am thinking of building “blinken lights” simulation of the 1130.