PTPSER - Paper Tape Punch Service Routine

Order Number: XX-0ABFD-5E

This document is an assembly language listing for the "Paper Tape Punch Service Routine" (PTPSER), dated August 15, 1965. It outlines the code and data structures required for interacting with a paper tape punch device.

The document begins by defining external and internal linkages used by the routine, such as PTPCHN, PTPSAV, ADVBFE, ITMCT1, SETIOD, SETBYT, IOSET, CKS12, ILLINP, OUT, WAIT1, PTPRET, PTPCHL, PIOMOD, and PTPINT.

It then details various parameter assignments, including constants for the PTP Control Register (PTPDON=10), Format Control (PTPFDN=200), Special IO Status Word Assignments (PTPFED=200000, PTPSSQ=40000, PTPEOL=20000, PTPSEQ=10000, PTPBIN=4000, PTPIB=2000 for checksum and image binary modes), and Special ASCII Characters (NULL=200, RUBOUT=377, HORTAB=211, VERTAB=213, FORMFD=214).

A "PTP Data Block" is defined, containing critical device information like PTPDAT (SIXBIT "PTP"), PTPCHR, PTPIOS, PTPSER (pointing to EXP PTPDSP), PTPMOD (XWD 1000+PROG,14403), PTPBUF, PTPPTR, PTPADR, PTPCTR, PTPCNT, PTPCHA, and PTPSIO.

The core functionality is presented through a "PTP Service Dispatch Table" (PTPDSP) with entry points for PTPREL (Release), PTPCLS (Close), PTPOUT (Output), and ILLINP (Input).

The bulk of the listing consists of subroutines handling specific operations:

  • PTPINI and PTPREL: Initialization and release of the punch, clearing console flags.
  • PTPCLS: Manages the output of remaining buffers and ensures IO completion.
  • PTPOUT, PTPIN1, PTPIN2: Handle output/input processes, checking device status (virgin, binary/image modes), setting console flags, and assigning PI channels.
  • PTPINT: The punch interrupt service routine, which manages various IO conditions like feed requests, disconnections, and binary punch modes, directing control to other subroutines (PTPB0, PTP3, PTP1).
  • PTPB0, PTPB1: Process binary output, managing byte size, character punching, and item counts.
  • PTP3, PTP1, PTP6: Handle specific character processing (tabs, form feeds), output items, and checks for image mode.
  • PTPS2, PTP5, PTPBN: Manage punch feed operations, clear flags, restore IO states, and handle buffer addressing and checksums.
  • PTPADV, PTP9, PTP91, PTPP1, PTPDSC, PTPXIT: Manage buffer advancement, pointer manipulation, item counts, rubout characters, IO status, and routine exits.

The document concludes with a "Symbol Table" listing all defined symbols, their memory addresses, and whether they are internal (INT) or external (EXT) references, along with a "PROGRAM BREAK IS 000231" message.

XX-0ABFD-5E
2000
14 pages
Quality

Original
1.0MB

OCR Version
1.1MB

Site structure and layout ©2025 Majenko Technologies