Card reader

Configuring Multics

Run RPV_fix.ini to update the config deck.

Configure your account to allow the card reader daemon access.

    create [hd]>card_input.acs
    sa [hd]>card_input.acs re reader.*.*

Configure the card reader daemon to allow you access (do this from a SysAdmin account or admin mode on the console.)

    create >sc1>rcp>reader.acs
    sa >sc1>rcp>reader.acs re Anthony.*.*
    sa >sc1>rcp>reader.acs rew *.SysAdmin.*

The card reader daemon requires that the IO coordinator be running; it your site startup does not automatically start it, on the console (or with sac):

x io

To start the card reader daemon, on the console (or with sac):

    x read_cards

Submitting decks

Decks are submitted by copying the deck file into the queue directory

    $ cp cdeck.sample /tmp/rdra/

When the card reader starts to read the deck, it will be deleted from the queue directory.

The emulator supports three deck formats, 'card', 'stream' and '7p'.

In 'card' format, each line of text is treated as a 80 column card image. Newlines in the file are treated as card separators. Lines longer the 80 characters are silently extended to the next card image. Not yet implemented: A ^Z character is treated as a job separator, allowing multiple job decks to be combined in a single file.

In 'stream' format, each byte of input after the '++INPUT' card is translated to MCC punch codes, grouped into collections of 80 columns, and passed to the card reader DIM. Eg. the input:

    foo
    bar
    fubar

would appear to Multics as "foo\nbar\nfubar\n", padded to 80 columns with nulls.

This format is intended to pass freeform text files to '++DATA' decks for copying the file to a Multics segment.

The 'raw' format treats the data after the '++INPUT' as a bit stream; it is intended to pass binary files (in 7punch format) to '++DATA' decks for copying the file to a Multics segment.

The deck format is determined from the name of the file placed in the queue directory:

    card format: cdeck.* 
    stream format: sdeck.*
    raw format: rdeck. *

The deck control cards are documented in AG91-04A, pgs 5-50 to 5-60 and appendix C.

The deck usage particulars for the emulated card reader are:

'card' format

The '++FORMAT' card should read '++format mcc addnl trim'. This tells the card reader processor to trim trailing blanks and add newlines to each card image.

    ++data bootload_1.alm \Anthony \Sys\Eng
    ++password XXX
    ++format mcc addnl trim
    ++control overwrite
    ++input
    ++rje test.absin \Anthony.\Sys\Eng
    ++password XXX
    ++format mcc addnl trim
    ++input
    ccd bootload_1.alm
    alm -list bootload_1

'stream' format

The '++FORMAT' card should read '++format mcc noaddnl notrim'. This tells the card reader processor not to trim trailing blanks or add newlines to each card image.

    ++data bootload_1.alm \Anthony \Sys\Eng
    ++password XXX
    ++format mcc noaddnl notrim
    ++control overwrite
    ++input
    ++rje test.absin \Anthony.\Sys\Eng
    ++password XXX
    ++format mcc noaddnl nptrim
    ++input
    ccd bootload_1.alm
    alm -list bootload_1

'7p' format

The '++FORMAT' card should read '++format viipunch noaddnl notrim'. This tells the card reader processor not to trim trailing blanks or add newlines to each card image, and not translate the data into punch codes.

    ++data bound_segment_ \Anthony \Sys\Eng
    ++password XXX
    ++format viipunch noaddnl notrim
    ++control overwrite
    ++input

Restarting the card reader daemon

If the card reader daemon becomes wedged mid-deck:

Remove the deck from the card reader. On the host system:

    $ touch /tmp/rdra/discard

On the console (or with sac)

    r rdra reinit
    r rdra read_cards
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License