d
i
g
i
t
a
l
digital equipment corporation · maynard, massachusetts
MEMORY ADDRESS
EMA
RUN
Part of the kermit package
OS/8 ENCODING PROGRAM

PROGRAM TO ENCODE OS/8 FILES INTO "PRINTABLE" ASCII FORMAT ("ENCODE").

DISTRIBUTED BY CUCCA AS "K12ENC.PAL" AS PART OF THE CUCCA KERMIT-12 PACKAGE.

WRITTEN BY:

CHARLES LASNER (CJL)
CLA SYSTEMS
72-55 METROPOLITAN AVENUE
MIDDLE VILLAGE, NEW YORK 11379-2107
(718) 894-6499

USAGE:

.RUN DEV ENCODE		INVOKE PROGRAM
*OUTPUT<INPUT		PASS ONE INPUT AND ONE OUTPUT FILE ONLY (WITH <CR>)
*OUTPUT<DEV:=NNNN/I 	****  SPECIAL IMAGE TRANSFER MODE **** INPUT IS RECORD
			0000-[NNNN-1] ON DEVICE DEV:.  THE =NNNN VALUE MUST BE
			STATED PRECISELY TO  TRANSFER  THE REQUISITE AMOUNT OF
			THE DEVICE AS REQUIRED.    THE  VALUE IS GENERALLY THE
			TOTAL  LENGTH OF THE DEVICE,  BUT  COULD  BE  LESS  AS
			NECESSARY;  LARGER VALUES WILL GENERALLY  FAIL.   THIS
			MODE  SHOULD  ONLY  BE  USED  TO  EFFECT  TRANSFER  OF
			COMPLETE  DEVICE  IMAGES  WHERE  THE  NORMAL OS/8 FILE
			STRUCTURE IS UNSUITABLE.  IN THIS MODE, THE OS/8  FILE
			(POSSIBLY PRESENT)  ON  THE  DEVICE  IS IGNORED.  ****
			NOTE  ****  THIS   METHOD  VIOLATES  ALL  OS/8  DEVICE
			STRUCTURE AND IS MEANT FOR TRANSFER OF COMPLETE DEVICE
			IMAGES ONLY;  USE WITH CARE!
*OUTPUT<DEV:=NNNN/I/1	**** SPECIAL IMAGE TRANSFER  MODE **** SAME AS REGULAR
			IMAGE MODE EXCEPT ONLY THE FIRST  HALF  OF THE DATA IS
			USED.    THE  DECODER  MUST  BE  GIVEN THE  EQUIVALENT
			PARAMETERS TO TRANSFER THE FIRST HALF.
*OUTPUT<DEV:=NNNN/I/2	**** SPECIAL IMAGE  TRANSFER MODE **** SAME AS REGULAR
			IMAGE MODE EXCEPT ONLY THE SECOND  HALF OF THE DATA IS
			USED.  NOTE THAT THERE MUST BE TWO  FILES CREATED, ONE
			USING  /I/1  AND  THE  OTHER  USING /I/2 TO COMPLETELY
			TRANSFER A DEVICE IMAGE UNLESS /I IS USED ALONE!
*OUTPUT<INPUT$		PASS ONE INPUT AND ONE OUTPUT FILE ONLY (WITH <ESC>)
.			PROGRAM EXITS NORMALLY

INPUT FILE ASSUMES .SV EXTENSION;  THERE IS NO ASSUMED OUTPUT  EXTENSION.   IF
IMAGE MODE IS USED, THERE IS NO INPUT FILE SPECIFICATION;  ONLY  A  DEVICE  IS
GIVEN ALONG WITH A LENGTH AND THE MANDATORY /I SWITCH.

PROGRAM EXIT  IS THE NORMAL OS/8 METHOD OF EITHER PRESSING <^C> ON THE CONSOLE
KEYBOARD DURING THE  COMMAND,  OR  ENDING THE COMMAND INPUT LINE WITH AN <ESC>
CHARACTER.
THIS PROGRAM SUPPORTS A SUBSET OF THE  ASCII FILE ENCODING SCHEME DEVELOPED BY
CHARLES LASNER AND FRANK DA CRUZ.  THE  SCHEME  USED IS FIVE-BIT ENCODING WITH
COMPRESSION,  (AS  OPPOSED  TO  SIX-BIT WITHOUT COMPRESSION AS USED  IN  PRIOR
VERSIONS).

RESTRICTIONS:

A)	NO SUPPORT FOR MULTIPLE DECODABLE FILES PER ENCODED FILE.

B)	CREATES ENCODED PDP-8 60-BIT CHECKSUM AT END OF FILE.

C)	CUSTOMIZED (REMARK) COMMANDS MUST BE SEPARATELY ADDED BY THE USER.

D)	THE FILENAME IN THE (FILE ) AND (END ) COMMANDS WILL BE  IDENTICAL  TO
	THE ACTUAL INVOKED INPUT FILE.  THE USER MUST SEPARATELY MODIFY  THESE
	COMMANDS  WHEN  EXPORTING  THE ENCODED FILE TO A SYSTEM WITH DIFFERENT
	NAMING CONVENTIONS.

ERROR MESSAGES.

ERROR MESSAGES ARE ONE OF TWO VARIETIES:   COMMAND  DECODER  MESSAGES AND USER
(PROGRAM-SIGNALLED) MESSAGES.

COMMAND  DECODER  MESSAGES  ARE  NON-FATAL  AND  MERELY  REQUIRE RETYPING  THE
COMMAND.  ATTEMPTING TO USE MORE THAN ONE OUTPUT FILE  WILL  YIELD THE COMMAND
DECODER  MESSAGE  "TOO MANY FILES" AND CAUSE A REPEAT OF THE  COMMAND  DECODER
PROMPT REQUIRING  USER  INPUT.  THE USER IS DIRECTED TO OTHER DOCUMENTATION OF
THE "SPECIAL" MODE  OF  THE  COMMAND DECODER, AS THAT IS THE ONLY MODE USED BY
THIS UTILITY PROGRAM.

ANY USER MESSAGE PRINTED IS A  FATAL  ERROR MESSAGE CAUSED BY A PROBLEM BEYOND
THE SCOPE OF THE COMMAND DECODER.   ALL  USER  MESSAGES  ARE THE STANDARD OS/8
"USER" ERROR MESSAGES OF THE FORM:  "USER  ERROR  X  AT AAAAA", WHERE X IS THE
ERROR NUMBER AND AAAAA IS THE PROGRAM ADDRESS WHERE  THE  ERROR  WAS DETECTED.
THE FOLLOWING USER ERRORS ARE DEFINED:

ERROR NUMBER		PROBABLE CAUSE

0			NO OUTPUT FILE.

1			INPUT FILE ERROR  (CAN'T  FIND INPUT FILE) OR NO INPUT
			FILE SPECIFIED OR TOO MANY INPUT FILES SPECIFIED.
2			ILLEGAL OUTPUT FILE NAME (WILD CARDS NOT ALLOWED).

3			NO OUTPUT FILE NAME (DEVICE ONLY IS NOT ALLOWED).

4			ERROR WHILE FETCHING FILE HANDLER.

5			ERROR WHILE ATTEMPTING TO ENTER OUTPUT FILE.

6			OUTPUT FILE LARGER THAN AVAILABLE FILE SPACE.

7			ERROR WHILE CLOSING THE OUTPUT FILE.

8			I/O ERROR WHILE ENCODING FILE DATA.

ASSEMBLY INSTRUCTIONS.

IT IS  ASSUMED  THE  SOURCE  FILE  K12ENC.PAL  HAS  BEEN  MOVED AND RENAMED TO
DSK:ENCODE.PA.

.PAL ENCODE<ENCODE/E/F	ASSEMBLE SOURCE PROGRAM
.LOAD ENCODE		LOAD THE BINARY FILE
.SAVE DEV ENCODE=2001	SAVE THE CORE-IMAGE FILE



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search