File Formats

From NDWiki
Revision as of 23:59, 20 October 2008 by Gandalf (talk | contribs) (Initial page, copy from Rogers wiki, needs pictures too)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

ND100 Boot Loaders

The ND100 has bootstrap loaders for mass storage and character oriented devices. There is two load formats.

  • Binary load format.
  • Mass storage load.

Binary load format

The binary load format structure

A, B and C (all in grey) are optional.

  • A - Any characters not including ! (ASCII 33).
  • B - Octal number (any number of digits) terminated with a CR (linefeed is ignored).
  • C - Octal number (any number of digits).
  • ! - Termination character of header.
  • D - Block start address. Presented as two bytes, most significant byte first.
  • E - Word count of block F. Presented as two bytes, most significant byte first.
  • F - Binary data. Each word presented as two bytes, most significant byte first.
  • G - Checksum word. Presented as two bytes, most significant byte first. The checksum is the 16 bit arithmetic sum of all words in F.
  • H - Action code. A bit fuzzy in the manual about which of B or C is used.

Binary load is started by typing:

<physical device address>& or <physical device address>$

Loading will take place from the specified device. This device must conform with the programming specifications of either Teletype or tape reader. The device address is the lowest address associated with the device. Binary load will be performed if & or $ is written (or the LOAD button is pressed) and the switch selected ALD has bit 13 equal to "0".

If no device address precedes the & command, then the & is equivalent to pushing the LOAD button on the operator's panel.

If a checksum error is detected, "?" is typed on the console and control is returned to the operator's communication.

Note that the binary loader does not require any of the main memory.

The binary load will change the registers on level 0.

The binary load format is compatible with the format dumped by the )BPUN command in the MAC assembler.

Mass storage load

Mass storage load is started in the same way as binary format load, except that bit 13 in the device address should be a "1".

When loading from mass storage, 1K words will be read from mass storage address 0 into main memory starting in address 0. After a successful load, the CPU is started in main memory address 0.

The mass storage device must conform with either drum or disk programming specifications.

Binary program formats

BPUN

The BPUN file format is what the )BPUN command in MAC creates. It is compatible with the binary load format. In practice it could be stamped on a paper strip straight from the binary file. Ref. 06.014.02 ND-100 REFERENCE MANUAL, page 4-23.

The binary load format structure

A, B and C (all in grey) are optional.

  • A - Any characters not including ! (ASCII 33). bit 0-6 is character, bit 8 is parity (even parity)
  • B - Octal number (any number of digits) terminated with a CR (linefeed is ignored). (even parity)
  • C - Octal number (any number of digits). (even parity)
  • ! - Termination character of header.
  • D - Block load address. Presented as two bytes, most significant byte first.
  • E - Word count of block F. Presented as two bytes, most significant byte first.
  • F - Binary data. Each word presented as two bytes, most significant byte first.
  • G - Checksum word. Presented as two bytes, most significant byte first. The checksum is the 16 bit arithmetic sum of all words in F.
  • H - Action code. If zero then the program is started on the address given in B. Followed by 126 zero bytes.

PROG

BRF