ND-210260 — NORTEXT-100 Book Pagination¶
Status: IN-PROGRESS — real floppy set decoded, real installer present (not decoded — compiled)
| Field | Value |
|---|---|
| ND article number | ND-210260 |
| Product name | NORTEXT-100 Book Pagination |
| Functional category | Office — NORTEXT (typesetting/publishing) |
| CPU target | ND-100 |
What is known — real floppy set, decoded¶
Three floppies, 210260K02-XX-01D, 210260K02-NO-02D, 210260K01-EN-02D (downloaded via
NDwiki, imaged by Torfinn "Tingo" Ingolfsen). Real file inventory:
INSTALL-NTXPG-K0:XCOM installer command file
NTXPG-INSTALL2-K:XCOM second-stage installer command file
(RELEASE-NTX)PG-PAGINATE-K66:PROG / :ENTR the pagination program + its entry-point table
(RELEASE-NTX)PG-EDITOR-K66:PROG / :ENTR an editor program + entry-point table
(RELEASE-NTX)PG-MAIN-NO-K66:PROG / :ENTR Norwegian-language main program
(RELEASE-NTX)PG-NO-J:INFO Norwegian version-info file
Note the non-default user RELEASE-NTX these files ship under — a real, confirmed convention for
NORTEXT-100 release media. 210260K01-EN-02D mounted with a page-alignment warning (trailing
partial page) but was still readable.
Installation — real, decoded :XCOM scripts (a genuine ND install scripting language)¶
Source: byte-for-byte decode (byte & 0x7F), both files in full. [decoded from real files] This
is the first real, complete example in this catalog of ND's XCOM command-file language — a
proper scripting language with variables (^NAME:= value), loops (^LOOP:/^GOTO), conditionals
(^IF ... THEN ^GOTO), user-defined subroutines (^CALL name/^RETURN with positional
parameters <P0>), and interactive prompts (^ASK VAR/'default' text:) — distinct from :MODE
(SINTRAN command replay), :BATC (batch queue jobs), and @DMAC/@RT-LOADER (kernel-level
scripting) seen elsewhere in this catalog.
Bootstrap, INSTALL-NTXPG-K0:XCOM:
^ND_DIR:= '210260'
^INSTALL_JOB:== 'NTXPG-INSTALL2'
^ENTER 'SYSTEM'
^IF '<_USER>' .EQS. 'SYSTEM' THEN ^GOTO USER_OK
^TYPE ERROR: You must be logged in as user SYSTEM to use this program!
^EXIT
^USER_OK:
@BACKUP-SYSTEM
COPY-USERS-FILES D , , D <ND_DIR> FLOPPY-USER <INSTALL_JOB> L
EXIT
^EXECUTE_MODE
^IFDEF INSTALL_ALL THEN ^EXIT
^CALLFILE <INSTALL_JOB>
^ABORT
SYSTEM, then uses SINTRAN's @BACKUP-SYSTEM
COPY-USERS-FILES command to copy the real second-stage script off the floppy, then
^CALLFILEs it. ^IFDEF INSTALL_ALL is a hook for a larger combined-product installer that
^CALLs this file as a step — this script also works standalone.
Second stage, NTXPG-INSTALL2-K:XCOM (abridged — full structure, PART 2's file list trimmed for
space):
^ND_DIR:= '210260'
^PART1:= '01'
^PART2:= '02'
^PART1_FILE1:= 'PG-PAGINATE:PROG'
^PART1_FILE2:= 'PG-PAGINATE:ENTR'
... (PG-EDITOR, PG-UTILITY, PG-JULIE :PROG/:ENTR pairs, DUMP-PG:XCOM)
^MAIN_FILE1:= 'DESCRIBE-PG:PROG'
^MAIN_FILE2:= 'REGISTER-PG:PROG'
^CALL NEW 'RELEASE-NTX'
^I=1
^LOOP1:
^IFNOTDEF PART1_FILE<I> THEN ^GOTO ENDLOOP1
^@DELETE-USERS-FILE <PART1_FILE<I>> N
^I=I+1
^GOTO LOOP1
^ENDLOOP1:
@BACKUP-SYSTEM
COPY-USERS-FILES D , , D <ND_DIR>--<PART1> , , L
EXIT
^EXECUTE_MODE
^CALL NEW 'MAINTENANCE-NTX'
... (same delete-old-then-copy-new pattern for MAIN_FILE1/2)
^@RELEASE-DIRECTORY <ND_DIR>--<PART1>
^TYPE The PART-01 floppy is released and may now be removed.
^ASK DUMMY Insert the PART-02 floppy, and then press RETURN:
^@ENTER-DIRECTORY <ND_DIR>--<PART2> F-D-1 0
^IF <_COMPLETIONCODE> .NEQ. 0 THEN ^@ENTER-DIRECTORY <ND_DIR>--<PART2> F-D-1 1
^IF <_COMPLETIONCODE> .NEQ. 0 THEN ^ABORT
% Find the 2 language letters from one file on the floppy.
^OPENR FILE_ID0 '(<ND_DIR>:RELEASE-NTX)PG-MAIN:PROG'
^TEST_NAME:= '<_FILENAME(FILE_ID0)>'
^CLOSE FILE_ID0
^LAND:== TEST_NAME(9:10)
^PART2_FILE1:= 'PG-MAIN-<LAND>:PROG'
... (PG-MAIN-<LAND>:ENTR, PG-<LAND>:INFO/:HELP, PG-BATCH-1/2/3:PROG/:ENTR, APPEND-BATCH-PG:XCOM)
^CALL NEW 'RELEASE-NTX'
... (same delete-old-then-copy-new pattern for PART2 files)
^CALL NEW 'WORKFILES-NTX'
^OPENR FILE_ID2 'DESCRIBE-PG:FORM'
^IF <_FILEERROR> .NEQ. 0 THEN ^GOTO CONT2
% file already exists — ask before overwriting
^ASK NEW_FORMFILE/'Y' and the new one installed? (Y/N) (Default = Y):
^IF '<NEW_FORMFILE>' .EQS. 'N' THEN ^GOTO SKIP_FORMFILE
^CALL DEL_FI '<FORM_FILE>'
^CONT2:
@BACKUP-SYSTEM
COPY-USERS-FILES D , , D <ND_DIR> , , L
EXIT
^EXECUTE_MODE
^SKIP_FORMFILE:
... (same exists-check-then-ask-then-copy pattern for user PARAMETERS-NTX's PGBATCH-PARAM:NTXP)
^CALL NEW 'SYSTEM'
... (same pattern for APPEND-BATCH-PG:XCOM, but via ^@COPY-FI instead of the BACKUP-SYSTEM path)
^@RELEASE-DIRECTORY <ND_DIR>--<PART2>
^TYPE Finished, and the floppy is released.
^IFDEF INSTALL_ALL THEN ^EXIT
^ABORT
^DEL_FI:
^@SET-FILE-ACCESS <P0> R,R,D
^@DELETE-FILE <P0>
^RETURN
^NEW:
^ENTER '<P0>'
^TYPE You are now entered as user <P0>
^RETURN
Reading it: the script auto-detects the language variant from a filename substring
(TEST_NAME(9:10) — a real XCOM string-slice expression) rather than asking the operator, then
for every existing target file, asks the operator before overwriting (default Yes) — a real,
careful, idempotent-reinstall pattern, and a genuinely reusable template for understanding any
other NORTEXT-100 :XCOM installer in this catalog.
Documentation¶
- No PD sheet, no PI sheet located.
Provenance & open items¶
- Source: three real floppy images, downloaded via NDwiki and decoded in this session
(
ndfs -t/ndtool -xfor listing/extraction,byte & 0x7Ffor both:XCOMscripts).
Parent: ../README.md (Software catalog)