return to main page

80-80Lister
as a One Card Program

Maybe 4 years ago, Ron Williams issued a challenge to produce one card programs to do useful work - for example

- read cards with the 1402 and print them on the 1403.

A number of people took him up on the challenge -

- but since there was no TARP sized prize offered, many didn't, including yours truly.

Stan Paddock went for it, and I understand did it. But he is not offering any prize either :-((

Recently, both Bill Newman and Mattias Goerner are pursuing the dream ;-))

Here is one dialog, during July 1, 2009




Hi Ed!

Stan said that I should write on only one punched card a program which
will read from the card punch and print or punch it out.
I used a lot of tricks already (like copying the branch and using it
at two different places, using L instead of M to move carry along a
word mark), but still I am one word mark short. I was hoping that
L080280 will continue copying the A-Field to B-Field when encountering
address 001 by wrapping to the highest address 16000 and copy more and
more stuff into the overlapping B-Field until it will encounter the
word mark at 585. But that is also not true... Am I missing something?
Is there anyway to get an extra word mark or make the code shorter?

Machine will encounter address wrap (no ,001):
,008015,022029,036043,057061L060584L080580,565050,573580B561/080,5855721L0802802

Need to set wordmark at 585 manually (no ,585):
,008015,022029,036043,057061L060584L080580,565050,573580B561/080,0015721L0802802

See you,
   Matthias

I punted the ball to Van Snyder

Hi Matthias -

I haven't struggled with one card programs for a long time.
Interesting though they may be,
    I have more than I can do with larger monsters :-((

...

I'm CCing the fabulous Van Snyder who is 
   a master 1401 programmer
     and who can probably compress a neutron star.

Cheers,
  Ed Thelen

Van responded with



I have a one-card 80-80 list program:

,008015,022029,030037L077373//333099,001340,347354,361362,3693731L0992992361
1      1      1      1      11      1      x      x      x      xx      x   x

    0    1    1    2    2    3    3    4    4    5    5    6    6    7    7
12345678901234567890123456789012345678901234567890123456789012345678901234567

      ORG  333
START SW   1,X1        333 , 001 340
X1    SW   S1,S2       340 , 347 354
S1    SW   R,L         347 , 361 362
S2    SW   W,D         354 , 369 373
R     R                361 1
L     LCA  99,299      362 L 099 299
W     W    R           369 2 361
D     DCW  #1          373

I remember trying to develop one that had last-card control and forms
overflow control.  I always came up one word mark short.

Here are two one-card 80-80 punch programs:

....5...10...15...20...25...30...35...40...45...50...55...60...65...70...75...80
,008015,022029,033040,047054,061L077097,085086,093097/081080,0011L0801804085  RP
1......1......1......1......1...1......1......1......1......3...22......2...2
....5...10...15...20...25...30...35...40...45...50...55...60...65...70...75...80
,008015,022029,033040,047048,055L072097,086094,/081080,0011L0801804B085 80-80 RP
1......1......1......1......1...1......1......11......3...22......22...


Matthias replied

Hi Van,

Thanks!
I didn't know that you can use "/xxxyyy" to clear storage at yyy and
branch to xxx. And that you can do "2xxx" to write and branch to xxx.
Now I can do Stan's challenge easily.

See you,
   Matthias



return to main page