PRINTER

Two Printers can be assigned, one to DEV8 and one to DEV9. DEV8 is the first port on the MVME410 card, and DEV9 is the second port. The Printers are generic( it would be nice to be Centronics, but don't have the documentation) and support the following features.


prtSingleCntrlChars(7) = PRTfBell
prtSingleCntrlChars(8) = PRTfBS  'BS
prtSingleCntrlChars(9) = PRTfTab
prtSingleCntrlChars(10) = PRTfDump1 'PRTfLF
prtSingleCntrlChars(13) = PRTfCR
prtSingleCntrlChars(27) = PRTfESC  'esc
prtSingleCntrlChars(127) = PRTfDump1


prtEscapedCntrlChars(1) = PRTfToggleBold
prtEscapedCntrlChars(2) = PRTfSetBold
prtEscapedCntrlChars(3) = PRTfResetBold
prtEscapedCntrlChars(4) = PRTfToggleUnder
prtEscapedCntrlChars(5) = PRTfSetUnder
prtEscapedCntrlChars(6) = PRTfResetUnder
prtEscapedCntrlChars(7) = PRTfToggleStrike
prtEscapedCntrlChars(8) = PRTfSetStrike
prtEscapedCntrlChars(9) = PRTfResetStrike
prtEscapedCntrlChars(10) = PRTfToggleItalic
prtEscapedCntrlChars(11) = PRTfSetItalic
prtEscapedCntrlChars(12) = PRTfResetItalic
prtEscapedCntrlChars(13) = PRTfToggleSuper
prtEscapedCntrlChars(14) = PRTfSetSuper
prtEscapedCntrlChars(15) = PRTfResetSuper
prtEscapedCntrlChars(16) = PRTfToggleSub
prtEscapedCntrlChars(17) = PRTfSetSub
prtEscapedCntrlChars(18) = PRTfResetSub

prtEscapedCntrlChars(19) = PRTfSet10Pitch
prtEscapedCntrlChars(20) = PRTfSet12Pitch
prtEscapedCntrlChars(21) = PRTfSet17Pitch

prtEscapedCntrlChars(25) = PRTfBOJ 'skip 0x1a - 26 and 0x1b - 27
prtEscapedCntrlChars(28) = PRTfEOJ

prtEscapedCntrlChars(72) = PRTfSetTextHI
prtEscapedCntrlChars(76) = PRTfSetTextLO

prtEscapedCntrlChars(48) = PRTfTextColorBlack
prtEscapedCntrlChars(49) = PRTfTextColorBlue
prtEscapedCntrlChars(50) = PRTfTextColorGreen
prtEscapedCntrlChars(51) = PRTfTextColorCyan
prtEscapedCntrlChars(52) = PRTfTextColorRed
prtEscapedCntrlChars(53) = PRTfTextColorMagenta
prtEscapedCntrlChars(54) = PRTfTextColorYellow
prtEscapedCntrlChars(55) = PRTfTextColorWhite

    TextColors(0) = RGB(0, 0, 0) 'black
    TextColors(1) = RGB(0, 0, 128 + 15)
    TextColors(2) = RGB(0, 128 + 15, 0)
    TextColors(3) = RGB(0, 128 + 15, 128 + 15)
    TextColors(4) = RGB(128 + 15, 0, 0)
    TextColors(5) = RGB(128 + 15, 0, 128 + 15)
    TextColors(6) = RGB(128 + 15, 128 + 15, 0)
    TextColors(7) = RGB(64, 64, 64) 'dim white
    TextColors(8) = RGB(128, 128, 128) 'bright black
    TextColors(9) = RGB(0, 0, 255 - 15)
    TextColors(10) = RGB(0, 255 - 15, 0)
    TextColors(11) = RGB(0, 255 - 15, 255 - 15)
    TextColors(12) = RGB(255 - 15, 0, 0)
    TextColors(13) = RGB(255 - 15, 0, 255 - 15)
    TextColors(14) = RGB(255 - 15, 255 - 15, 0)
    TextColors(15) = RGB(255, 255, 255) 'white

The Priniter's display can be saved as an RTF file or a TXT file. As an RTF file, it can be edited by an RTF editor, such as WORD. The RTF file sets margins at 0, so you must fix that when you edit.

You can select (via Menu) to output the printer data to a file instead of displying on screen.

You may use Menu options to set various features. Most are obvious.

The SendACK and the SendFAULT options are a convience. When the printer recieves a Character followed by a Strobe, it sends back an Acknowlegde. Some drivers will not exit until an ACK is seen. If you are unlucky enough to close the printer at the time just before the driver checks for the ACK (CA1-ACK), the driver will freeze.  When you open the printer later, the printer sends a Status(Paper, Select, Busy) to the PIA PORT B and strobes it (CB1-FAULT). This does NOT satisfy the Driver, which is waiting for an ACK (CA1-ACK). To satisfy the driver, you may set the option to issue an ACK upon setting the printer ONLINE.

BOTH SendACK and SendFAULT are set to TRUE. If this messes up your driver, you may set one or both to FALSE.

The printer works with Vdos 4.3, 4.4 and 4.5. The 4.5 driver tries to stretch the strobe, so special logic was added to accomodate it. Unix almost works fine with the printer, but unix converts BS to CR followed by spaces to position to previous character.  This causes garbage to print, since not possible to overprint on the emulated printer.

The Fail LED for the 410 card may not go out. VDOS initializes the 410 and then turns out the LED. CPM does not turn out the fail led after initializing. Tenbug and and Unix fail to turn off the fail light, due to requirements for a different jumper setup (not implemented) 

The BSOD ROM turns off the 410's fail light.

During POR the fail lights are illuminated, and they must be turned off in software, usually after the card is initialized by TENBUG, BSOD, Versados, CPM or Unix.

Failing to turn off the fail lights is insignificant. Does not hurt to leave them on.