Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TYPESQ - print out a squeezed file #126

Merged
merged 1 commit into from
Jun 19, 2018
Merged

TYPESQ - print out a squeezed file #126

merged 1 commit into from
Jun 19, 2018

Conversation

larsbrinkhoff
Copy link
Member

SYS2; TS TYPESQ
AR7: GZ; TYPESQ MID1 (not sure if source is available, will have to search for it)

@larsbrinkhoff
Copy link
Member

Are those the files that end in IX?

@larsbrinkhoff
Copy link
Member

There are no archive files in GZ or GRUPP.

@larsbrinkhoff
Copy link
Member

Also SYS2; TS USQ, assembled from AR4: GZ; USQ 61.

@larsbrinkhoff
Copy link
Member

Found it. MC: SRA; AR3 GZ.MID

@larsbrinkhoff
Copy link
Member

Neither .INFO.; ITS UUOSIX or AI: USERS3; STOCOM USQ20 are accepted by TS TYEPSQ or TS USQ:
This file was not SQ'ed or CRAM'ed!

@larsbrinkhoff larsbrinkhoff added the source missing Flag that this program doesn't have source code. label Feb 28, 2017
@larsbrinkhoff
Copy link
Member

larsbrinkhoff commented Feb 16, 2018

AR7: GZ; TYPESQ MID1 just .insrts USQ.MID. There's a USQ MID42 in the archive. But that file looks like a TOPS-20 program. Indeed that makes sense since the archive is named GZ; AR7 TWENEX.

@larsbrinkhoff
Copy link
Member

Upon revisiting SRA; AR3 GZ.MID, I see that USQ 61 seems to have the same capability as USQ MID42 to be built as two different programs depending on a flag. So it looks like we had the source code all along.

@larsbrinkhoff
Copy link
Member

USQ checks the first letter of its JNAME. If it's T, it'll go into TYPESQ mode. So just make a link.

@larsbrinkhoff
Copy link
Member

The question is how to make squeezed or crammed files?

Do we have any samples?

@larsbrinkhoff
Copy link
Member

Hello @gzacharias,

I have found two ITS programs called USQ and TYPESQ, which I believe you wrote. I haven't found any programs to write compressed files. Do you know if there were any in ITS?

Thanks!

@larsbrinkhoff larsbrinkhoff removed the source missing Flag that this program doesn't have source code. label Feb 21, 2018
@atsampson
Copy link
Contributor

This is a CP/M compression format. About half the references to ITS in the 1981-1991 UTZoo news archive are about the CP/M software archive in MC: CPM;, which later moved to SIMTEL. From news:885@brl-smoke.ARPA:

On ITS machines, file transfer using the Christensen protocol can be done using MMODEM (type :MMODEM for instructions), or LMODEM. Documentation for LMODEM is in file .INFO.;LMODEM HELP. Other useful ITS utilities include:

TYPE8 - types an ASCII file stored in ITS binary format.
TYPESQ - types an ITS binary format "squeezed" file (see the first paragraph under FILE TYPES).
USQ - creates an unsqueezed version of a squeezed file.
HEXIFY - creates an Intel hex format file from an ITS binary format COM file.
COMIFY - creates a COM file from an Intel hex file.
CRC - computes the Cyclic Redundancy Check value for a file, using the same algorithm that is used by the CP/M program CRCK.

Brief instructions for any of these utilities except LMODEM can be obtained by typing ":utility_name" (for example, :CRC).

I can't see any references to an ITS SQ, but there was a TOPS-20 version by Frank Wancho that was compiled with KCC, still available in the Minix distfiles. From news:7114@brl-tgr.ARPA:

Yet another version of a TOPS-20 SQ and USQ is now available, based on the "portable" C version [...] These programs are meant to be compiled with the "MIT C" compiler. [...]

USQ is different from GZ's USQ in that it will handle any arbitrarily large file that SQ can produce; it assumes the original file was an ASCII text file; it is more than three times slower. It also has the TYPESQ functionality by the use of the -count option for previewing without actually unsqueezing.

@atsampson
Copy link
Contributor

news:3144@sri-arpa.UUCP from GZ says the Twenex source for USQ and TYPESQ is in AR91:CPM;.

@atsampson
Copy link
Contributor

I had a search through the Walnut Creek CP/M CD-ROM - there are copious references to ITS and how the tools above were used in the INFO-CPM mail archives there, and a few CP/M programs for use with ITS (e.g. UNTIP which removes ITS control codes from text, and MODEM76 which has suggested patches for ITS users).

@larsbrinkhoff
Copy link
Member

Does it say to use MATH; KERMIT to transfer files?

@atsampson
Copy link
Contributor

No mentions of using Kermit against ITS that I can see. If the ITS Kermit was written in 1988, that's not surprising because the CP/M archive had moved to Simtel20 by then.

There's a 1982 announcement of TOPS-20/Z80 Kermit that refers to it as "the 'KL10 Error-Free Reciprocol Microcomputer Interchange over TTY-Lines' Protocol", with source and documentation in AR67:CPM; and AR68:CPM;.

@larsbrinkhoff
Copy link
Member

Here are sample files to verify USQ and TYPESQ:
http://www.classiccmp.org/cpmarchives/cpm/mirrors/oak.oakland.edu/pub/cpm/squsq/

Apparently, the convention is that squeezed files have the middle letter of the file extension replaced with Q.

@larsbrinkhoff
Copy link
Member

USQ was already added in #356.

@larsbrinkhoff
Copy link
Member

Trying to FTP a file using TENEX mode. The data doesn't seem to come through. Maybe my firewall rules for FTP are off.

@atsampson, you have FTP'ed files to ITS, right? Did you do anything in particular to make it work?

@larsbrinkhoff
Copy link
Member

Verified with a squeezed file.

I made a Unix tool to convert an 8-bit file to the "TENEX" format. (Four left-aligned octets and four zero bits to a word.)

@atsampson
Copy link
Contributor

you have FTP'ed files to ITS, right? Did you do anything in particular to make it work?

FTP in active mode, and add -A OUTPUT -p tcp -m tcp --dport 21 -j CT --helper ftp to my local firewall configuration so the data connection is allowed back in. Binary mode FTP uses files in the format dis10 calls "bin" and wfconv calls "h".

@larsbrinkhoff
Copy link
Member

Thanks, I don't have that in my iptables script. I was hoping conntrack would do the job.

We should probably have a ready-made script checked in. Here's mine. I based it on one by Björn.
https://github.com/larsbrinkhoff/its.pdp10.se/blob/master/its/iptables.sh

@larsbrinkhoff larsbrinkhoff merged commit b208094 into master Jun 19, 2018
@larsbrinkhoff larsbrinkhoff deleted the lars/usq branch June 19, 2018 14:08
@larsbrinkhoff larsbrinkhoff added the micro Microprocessors, microcomputers. label Apr 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
micro Microprocessors, microcomputers. todo
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants