home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpm / mex / mxo-dv10.aqm / MXO-DV10.ASM
Assembly Source File  |  1985-08-05  |  16KB  |  458 lines

  1.  
  2. ; MXO-DAV.ASM -- Davidge DSB-4/6 Single Board Computer overlay file 
  3. ; for MEX10. 05/21/84
  4. ;
  5. ; You will want to look this file over carefully. There are a number of
  6. ; options that you can use to configure the program to suit your taste.
  7. ; This file adapts the printer port on the Davidge to the modem
  8. ; program.
  9. ;
  10. ; Edit this file for your preferences then follow the Installation
  11. ; instructions provided with MEX.
  12. ;
  13. ; Use the "SET" command to change the baudrate when desired.  It starts
  14. ; out at 1200 baud when the program is first called up.
  15. ;
  16. ; =   =   =   =   =   =   =   =   =   =   =   =   =   =   =   =   =   =
  17. ;
  18. ; 05/21/84 - Revised to work with MEX10         - Bob Robesky
  19. ; 03/11/84 - Revised to work wth Davidge        - Bob Robesky 
  20. ; 07/01/83 - Revised to work with MDM711    - Irv Hoff
  21. ; 06/22/83 - Revised to work with MDM711    - Irv Hoff
  22. ; 05/27/83 - Updated to work with MDM709    - Irv Hoff
  23. ; 05/15/83 - Revised to work with MDM708    - Irv Hoff
  24. ; 04/27/83 - Revised to work with TV802        - Irv Hoff
  25. ; 02/17/83 - Modified MDM703CF for Datapoint 
  26. ;         1560 computers using an external
  27. ;         modem                - Irv Hoff
  28. ;
  29. ; =   =   =   =   =   =   =   =   =   =   =   =   =   =   =   =   =   =
  30. ;
  31. BELL:        EQU    07H        ;bell
  32. CR:        EQU    0DH        ;carriage return
  33. ESC:        EQU    1BH        ;escape
  34. LF:        EQU    0AH        ;linefeed
  35. ;
  36. YES:        EQU    0FFH
  37. NO:        EQU    0
  38. ;
  39. ;
  40. PORT:        EQU    02H        ;Davidge "b1" data port
  41. ;
  42. BAUDRP:        EQU    0AH        ;CTC port for baud rate
  43. MODCTL1:    EQU    PORT+1        ;Modem control port
  44. MODCTL2:    EQU    PORT+1        ;Modem control port
  45. MODDATP:    EQU    PORT        ;Modem data port
  46. MODDCDB:    EQU    4        ;carrier detect bit
  47. MODDCDA:    EQU    0        ;value when active
  48. MODRCVB:    EQU    1        ;bit to test for receive ready
  49. MODRCVR:    EQU    1        ;value when ready
  50. MODSNDB:    EQU    4        ;bit to test for send ready
  51. MODSNDR:    EQU     4        ;value when ready
  52. ;
  53. ; MEX service processor stuff
  54. ;
  55. INMDM    EQU    255        ;get char from port to A, CY=no more in 100 ms
  56. TIMER    EQU    254        ;delay 100ms * reg B
  57. TMDINP    EQU    253        ;B=# secs to wait for char, cy=no char
  58. CHEKCC    EQU    252        ;check for ^C from KBD, Z=present
  59. SNDRDY    EQU    251        ;test for modem-send ready
  60. RCVRDY    EQU    250        ;test for modem-receive ready
  61. SNDCHR    EQU    249        ;send a character to the modem (after sndrdy)
  62. RCVCHR    EQU    248        ;recv a char from modem (after rcvrdy)
  63. LOOKUP    EQU    247        ;table search: see CMDTBL comments for info
  64. PARSFN    EQU    246        ;parse filename from input stream
  65. BDPARS    EQU    245        ;parse baud-rate from input stream
  66. SBLANK    EQU    244        ;scan input stream to next non-blank
  67. EVALA    EQU    243        ;evaluate numeric from input stream
  68. LKAHED    EQU    242        ;get nxt char w/o removing from input
  69. GNC    EQU    241        ;get char from input, cy=1 if none
  70. ILP    EQU    240        ;inline print
  71. DECOUT    EQU    239        ;decimal output
  72. PRBAUD    EQU    238        ;print baud rate
  73. ;
  74.         ORG    100H
  75. ;
  76.         DS    3    ;(for  "JMP   START" instruction)
  77. ;
  78. PMMIMODEM:    DB    NO    ;yes=PMMI S-100 Modem            103H
  79. SMARTMODEM:    DB    YES    ;yes=HAYES Smartmodem, no=non-PMMI    104H
  80. TOUCHPULSE:    DB    'P'    ;T=touch, P=pulse (Smartmodem-only)    105H
  81. CLOCK:        DB    60    ;clock speed in MHz x10, 25.5 MHz max.    106H
  82.                 ;20=2 MHh, 37=3.68 MHz, 40=4 MHz, etc.
  83. MSPEED:        DB    5    ;0=110 1=300 2=450 3=600 4=710 5=1200   107H
  84.                 ;6=2400 7=4800 8=9600 9=19200 default
  85. BYTDLY:        DB    5    ;0=0 delay  1=10ms  5=50 ms - 9=90 ms   108H
  86.                 ;default time to send character in ter-
  87.                 ;minal mode file transfer for slow BBS.
  88. CRDLY:        DB    5    ;0=0 delay 1=100 ms 5=500 ms - 9=900 ms 109H
  89.                 ;default time for extra wait after CRLF
  90.                 ;in terminal mode file transfer
  91. NOOFCOL:    DB    5    ;number of DIR columns shown        10AH
  92. SETUPTST:    DB    YES    ;yes=user-added Setup routine        10BH
  93. SCRNTEST:    DB    YES    ;Cursor control routine         10CH
  94. ACKNAK:        DB    YES    ;yes=resend a record after any non-ACK    10DH
  95.                 ;no=resend a record after a valid NAK
  96. BAKUPBYTE:    DB    NO    ;yes=change any file same name to .BAK    10EH
  97. CRCDFLT:    DB    YES    ;yes=default to CRC checking        10FH
  98. TOGGLECRC:    DB    YES    ;yes=allow toggling of CRC to Checksum    110H
  99. CONVBKSP:    DB    NO    ;yes=convert backspace to rub        111H
  100. TOGGLEBK:    DB    NO    ;yes=allow toggling of bksp to rub    112H
  101. ADDLF:        DB    NO    ;no=no LF after CR to send file in    113H
  102.                 ;terminal mode (added by remote echo)
  103. TOGGLELF:    DB    YES    ;yes=allow toggling of LF after CR    114H
  104. TRANLOGON:    DB    YES    ;yes=allow transmission of logon    115H
  105.                 ;write logon sequence at location LOGON
  106. SAVCCP:        DB    YES    ;yes=do not overwrite CCP        116H
  107. LOCONEXTCHR:    DB    NO    ;yes=local command if EXTCHR precedes    117H
  108.                 ;no=external command if EXTCHR precedes
  109. TOGGLELOC:    DB    YES    ;yes=allow toggling of LOCONEXTCHR    118H
  110. LSTTST:        DB    YES    ;yes=printer available on printer port    119H
  111. XOFFTST:    DB    NO    ;yes=check for XOFF from remote while    11AH
  112.                 ;sending a file in terminal mode
  113. XONWAIT:    DB    NO    ;yes=wait for XON after CR while    11BH
  114.                 ;sending a file in terminal mode
  115. TOGXOFF:    DB    YES    ;yes=allow toggling of XOFF checking    11CH
  116. IGNORCTL:    DB    YES    ;yes=CTL-chars above ^M not displayed    11DH
  117. EXTRA1:        DB    0    ;for future expansion            11EH
  118. EXTRA2:        DB    0    ;for future expansion            11FH
  119. BRKCHR:        DB    '@'-40H    ;^@ = Send a 300 ms. break tone        120H
  120. NOCONNCT:    DB    'N'-40H    ;^N = Disconnect from the phone line    121H
  121. LOGCHR:        DB    'O'-40H    ;^O = Send logon            122H
  122. LSTCHR:        DB    'P'-40H    ;^P = Toggle printer            123H
  123. UNSAVE:        DB    'R'-40H    ;^R = Close input text buffer        124H
  124. TRANCHR:    DB    'T'-40H ;^T = Transmit file to remote        125H
  125. SAVECHR:    DB    'Y'-40H    ;^Y = Open input text buffer        126H
  126. EXTCHR:        DB    '^'-40H    ;^^ = Send next character        127H
  127. ;
  128. ;
  129.         DS    2        ;                128H
  130. ;
  131. IN$MODCTL1:    IN    MODCTL1 ! RET    ;in modem control port             12AH
  132.         DS    7
  133. OUT$MODDATP:    OUT    MODDATP ! RET    ;out modem data port        134H
  134.         DS    7
  135. IN$MODDATP:    IN    MODDATP ! RET    ;in modem data port        13EH
  136.         DS    7
  137. ;
  138. ANI$MODRCVB:    ANI    MODRCVB    ! RET    ;bit to test for receive ready    148H
  139. CPI$MODRCVR:    CPI    MODRCVR    ! RET    ;value of rec. bit when ready    14BH
  140. ANI$MODSNDB:    ANI    MODSNDB    ! RET    ;bit to test for send ready    14EH    
  141. CPI$MODSNDR:    CPI    MODSNDR    ! RET    ;value of send bit when ready    151H
  142.         DS    6        ;                154H
  143. OUT$MODCTL1:    OUT    MODCTL1    ! RET    ;out modem control port #2    15AH
  144. OUT$MODCTL2:    OUT    MODCTL2    ! RET    ;out modem control port #1    15DH
  145. ;
  146. LOGONPTR:    DW    LOGON        ;for user message.        160H
  147.         DS    6
  148. JMP$GOODBYE:    JMP    GOODBYE        ;                168H
  149. JMP$INITMOD:    JMP    INITMOD        ;go to user written routine    16BH
  150.         RET  !  NOP  !  NOP    ;(by-passes PMMI routine)    16EH
  151.         RET  !  NOP  !  NOP    ;(by-passes PMMI routine)    171H
  152.         RET  !  NOP  !  NOP    ;(by-passes PMMI routine)    174H
  153. JMP$SETUPR:    JMP    SETUPR        ;                177H
  154. JMP$SPCLMENU:    JMP    SPCLMENU    ;                17AH
  155. JMP$SYSVER:    JMP    SYSVER        ;                17DH
  156. JMP$BREAK:    JMP    SENDBRK        ;                180H
  157. ;
  158. ;
  159. ; Do not change the following six lines
  160. ;
  161. JMP$ILPRT:    DS    3        ;                183H
  162. JMP$INBUF:    DS    3        ;                186H
  163. JMP$INLNCOMP:    DS    3        ;                189H
  164. JMP$INMODEM:    DS    3        ;                18CH
  165. JMP$NXTSCRN:    DS    3        ;                18FH
  166. JMP$TIMER:    DS    3        ;                192H
  167. ;
  168. ;
  169. ; Clear sequences -- CLREOS is clear to end of screen, CLRSCRN is clear
  170. ; entire screen.  Last entry must be 0.  Any other 0's act as NOP's.
  171. ;
  172. CLREOS:        MVI    C,ILP
  173.         CALL    MEX
  174.         DB    ESC,79H,0,0,0    ;ESC y - clear to end of screen    198H
  175.         RET            ;                19DH
  176. ;
  177. CLRSCRN:    MVI    C,ILP
  178.         CALL    MEX
  179.         DB    ESC,2AH,0,0,0    ;ESC * clear CRT, home cursor    11AH
  180.         RET            ;                1A6H            
  181. ;
  182. ;
  183. SYSVER:        MVI    C,ILP
  184.         CALL    MEX
  185.         DB    'Version for Davidge DSB-4/6'
  186.         DB    CR,LF,0
  187.         RET
  188. ;.....
  189. ;
  190. ;
  191. ;-----------------------------------------------------------------------
  192. ;
  193. ; NOTE:  You can change the SYSVER message to be longer or shorter.  The
  194. ;     end of your last routine should terminate by 0400H (601 bytes
  195. ;     available after start of SYSVER) if using the Hayes Smartmodem
  196. ;     or by address 0C00H (2659 bytes) otherwise.
  197. ;
  198. ;-----------------------------------------------------------------------
  199. ;
  200. ; You can put in a message at this location which can be called up with
  201. ; CTL-O if TRANLOGON has been set YES.  You can put in several lines if
  202. ; desired.  End with a 0.
  203. ;
  204. ;
  205. LOGON:      DB    'Greetings from the Machine',CR,LF,0
  206. ;
  207. ;=======================================================================
  208. ;
  209. ;
  210. ; This routine allows a 300 ms. break tone to be sent to reset some
  211. ; time-share computers.
  212. ;
  213. SENDBRK:  MVI    A,5
  214.       OUT    MODCTL1
  215.       MVI    A,0F8H        ;SEND A BREAK TONE
  216.       JMP    GOODBYE1
  217. ;.....
  218. ;
  219. ;
  220. ; This routine sends a 300 ms. break tone and sets DTR low for the same
  221. ; length of time to disconnect some modems such as the Bell 212A, etc.    
  222. ;
  223. GOODBYE:  MVI    A,5
  224.       OUT    MODCTL1        ;SEND TO THE STATUS PORT
  225.       MVI    A,068H        ;TURN OFF DTR, SEND BREAK
  226. ;
  227. GOODBYE1: OUT    MODCTL1    
  228.       MVI    B,3        ;WAIT 300 MS.
  229.       CALL    JMP$TIMER
  230.       MVI    A,5
  231.       OUT    MODCTL1
  232.       MVI    A,0E8H        ;RESTORE TO NORMAL, 8 BITS, DTR ON, ETC.
  233.       OUT    MODCTL1
  234.       RET
  235. ;.....
  236. ;
  237. ;
  238. ; Davidge baud rate change.  Sets CTC at port 0AH for baudrate
  239. ; in/out.
  240. ;
  241. ;
  242. INITMOD:  MVI    A,0        ;SELECT REG.
  243.       OUT    MODCTL1        ;SEND TO THE STATUS PORT
  244.       MVI    A,18H        ;RESET THE Z8SIO CHIP
  245.       OUT    MODCTL1        ;SEND TO THE STATUS PORT
  246.       MVI    A,4        ;SELECT REG.
  247.       OUT    MODCTL1        ;SEND TO THE STATUS PORT
  248.       MVI    A,44H        ;16X, 1-STOP, NO PARITY
  249.       OUT    MODCTL1        ;SEND TO THE STATUS PORT
  250.       MVI    A,3        ;SELECT REG.
  251.       OUT    MODCTL1        ;SEND TO THE STATUS PORT
  252.       MVI    A,0C1H        ;ENABLE RECEIVE SECTION
  253.       OUT    MODCTL1        ;SEND TO THE STATUS PORT
  254.       MVI    A,5         ;SELECT REG.
  255.       OUT    MODCTL1        ;SEND TO THE STATUS PORT
  256.       MVI    A,0EAH        ;DTR, RTS, 8-BITS, ENABLE SEND SECTION
  257.       OUT    MODCTL1        ;SEND TO THE STATUS PORT
  258. ;
  259. INITMOD1: MVI    A,5        ;DEFAULT TRANSFER TIME TO 1200 BAUD
  260.       STA    MSPEED
  261.       MVI    A,47H
  262.       OUT    BAUDRP
  263. ;
  264. INITMOD2: MVI    A,60H        ;DEFAULT TO 1200 BAUD
  265.       OUT    BAUDRP
  266.       RET
  267. ;.....
  268. SETUPR:      MVI    C,SBLANK    ;ANY ARGUMENTS?
  269.       CALL    MEX
  270.       JC    TELL        ;IF NOT, GO DISPLAY BAUD
  271.       LXI    D,CMDTBL
  272.       MVI    C,LOOKUP
  273.       CALL    MEX        ;PARSE ARGUMENT
  274.       PUSH    H        ;SAVE ANY PARSED ARGUMENT ADRS ON STACK
  275.       RNC            ;IF WE HAVE ONE, RETURN TO IT
  276.       POP    H        ;OOPS, INPUT NOT FOUND IN TABLE
  277.       MVI    C,ILP
  278.       CALL    MEX        ;TELL USER INPUT NOT VALID
  279.       DB    CR,LF,'Only 300 or 1200 allowed on SET command',CR,LF,0
  280.       RET
  281. ;
  282. CMDTBL:      DB    '30','0'+80H
  283.       DW    OK300
  284.       DB    '120','0'+80H
  285.       DW    OK1200
  286.       DB    0
  287. ;
  288. TELL:      MVI    C,ILP
  289.       CALL    MEX        ;PRINT CURRENT BAUD RATE
  290.       DB    CR,LF,'Baud rate is now: ',0
  291.       LDA    MSPEED
  292.       MVI    C,PRBAUD
  293.       CALL    MEX
  294.       RET
  295. ;
  296. OK300:      MVI    A,1        ;MSPEED 300 BAUD VALUE
  297.       LHLD    BD300        ;GET 300 BAUD PARAMETERS IN 'HL'
  298.       JMP    LOADBD        ;GO LOAD THEM
  299. ;
  300. OK1200:      MVI    A,5
  301.       LHLD    BD1200
  302.       JMP   LOADBD
  303. ;
  304. LOADBD:      STA    INITMOD1+1    ;CHANGE TIME-TO-SEND TO MATCH BAUDRATE
  305.       MOV    A,L        ;GET BAUDRATE BYTE
  306.       STA    INITMOD2+1    ;STORE IN INITMOD
  307.       JMP    INITMOD1    ;REINITIALIZE TO NEW BAUDRATE, THEN DONE
  308. ;
  309. ;
  310. ; TABLE OF BAUDRATE PARAMETERS
  311. ;
  312. BD300:      DW    0000H        ;38400/300  CONVERTED TO HEX VALUE
  313. BD1200:      DW    0060H        ;38400/1200 CONVERTED TO HEX VALUE
  314. ;
  315. BAUDBUF:  DB    10,0
  316.       DS    10
  317. ;
  318. ;           (END OF INITMOD AND SETUP ROUTINES)
  319. ;-----------------------------------------------------------------------
  320. ;
  321. ; These routines can be used for your equipment, be sure to end with RET
  322. ; If using the Hayes Smartmodem this is unavailable without a special
  323. ; address change.
  324. ;
  325. SPCLMENU: RET
  326. ;
  327. ;-----------------------------------------------------------------------
  328. ;
  329. ; NOTE:  MUST TERMINATE PRIOR TO 0400H (with Smartmodem)
  330. ;                 0C00H (without Smartmodem)    
  331. ;
  332. ; +++ end of MEX Davidge overlay
  333. ;----------------------------------------------------------------------
  334. ;
  335. ; +++ THIS IS THE MXPAT10.ASM FILE 
  336. ;
  337. ; This is the patch file for MEX 1.0 -- you may edit this file to change
  338. ; various initial variables. Assemble with ASM or MAC, then use MLOAD
  339. ; to patch the changes into MEX:
  340. ;
  341. ;    ASM MEXPAT10.AAZ            ;assemble the edited file
  342. ;    MLOAD NEWMEX.COM=MEX.OBJ,MEXPAT10    ;patch MEX
  343. ;
  344. ; You may also pull this file into your modem overlay (be sure you in-
  345. ; clude the ORG statement below).
  346. ;
  347. ; The order of the patch variables supported here will not change from
  348. ; version to version (i.e., new items will be added on to the end).
  349. ;
  350. ;
  351.     ORG    0D00H        ;location of patch variables
  352. ;
  353. LF    EQU    10        ;define ASCII linefeed code
  354. ;
  355. ;
  356. ; The following line defines the MEX service call entry point, and
  357. ; is not meant to be changed by the user
  358. ;
  359. MEX:    DS    3        ;MEX service call processor
  360.     DS    3        ;reserved
  361.     DS    1        ;reserved
  362. ;
  363. ; The following line contains the initial free-memory pointer for
  364. ; MEX.  Sophisticated modem overlays requiring additional space may change
  365. ; this pointer (ie, move it higher), and thus "protect" an area of RAM.
  366. ;
  367. MEMRY:    DS    2        ;first free memory pointer
  368. ;
  369. ; Following are the lowest-level vectors for console and list I/O used
  370. ; by MEX.  These normally point to routines that save the registers and
  371. ; vector to the appropriate BIOS routines.  Complex applications may
  372. ; need to intercept (or even replace) these routines.  If you do this,
  373. ; be sure to preserve DE, HL and BC.
  374. ;
  375. STSVEC:    DS    2        ;console status vector
  376. INVEC:    DS    2        ;console input vector
  377. OUTVEC:    DS    2        ;console output vector
  378. LVEC:    DS    2        ;list output vector
  379. LSTVEC:    DS    2        ;list status vector
  380. ;
  381. ; The following line defines the location of the default MEX prompt.
  382. ; If you'd like to provide your own initial prompt, add a DW statement
  383. ; pointing to a prompt buffer structured as follows:
  384. ;
  385. ;        DB <max size of buffer>
  386. ;        DB <length of actual prompt>
  387. ;        DB <prompt string>
  388. ;
  389. ; <maxsize> and <length> may be equal (especially if you disable the
  390. ; ID command by setting CHGPMT, below to 0); the ID command will, if
  391. ; left enabled, be limited to the <max size> value.
  392. ;
  393. PROMPT:    DS    2        ;prompt location
  394.     DS    1        ;reserved
  395. TYPLIN:    DB    22        ;for TYPE command: # lines/screen
  396. PAUSFL:    DB    1        ;for TYPE cmd: 1=pause 0=no pause
  397. SEPCHR:    DB    ';'        ;multiple command-line separator
  398. ;
  399. ; following five for SENDOUT command
  400. ;
  401. SOWAIT:    DB    4        ;# seconds waiting for a sendout echo
  402. SOREPL:    DB    8        ;# seconds waiting for initial reply
  403. SOTRIG:    DB    '>'        ;sendout trigger char from remote
  404. CANCHR:    DB    'U'-64        ;sendout char to cancel line to remote
  405. SORTRY:    DB    6        ;sendout # retries
  406. ;
  407. ;
  408. HEXFLG:    DB    0        ;hex/decimal mode
  409. ESCCHR:    DB    0AH        ;terminal mode escape char (0AH = linefeed)
  410. NOBELL:    DB    0        ;set to 1 to disable bell
  411. ;
  412. ; Buffer variables.  See BUFFERS.DOC for setup information
  413. ;
  414. PSIZE:    DB    2        ;default=2k
  415. ASIZE:    DB    255        ;"big" capture buffer
  416. XSIZE:    DB    16        ;16K transfer buffer
  417. NSIZE:    DB    1        ;1k for 85 batch files
  418. PRELEN:    DB    40        ;maximum length of PREFIX string
  419. SUFLEN:    DB    40        ;maximum length of SUFFIX string
  420. ;
  421. ; Misc. stuff
  422. ;
  423. CDOSFL:    DB    0        ;non-zero for CDOS
  424. WTECHO:    DB    0        ;non-zero sets "wait-for-echo"
  425. KYSIZE:    DW    400        ;size of keystring area, in bytes
  426. CISFLG:    DB    1        ;non-zero allows CIS file transfers
  427. CISOK:    DB    1        ;non zero allows STAT CIS ON or OFF
  428. CHGPMT:    DB    1        ;non-zero allows ID (prompt chg) command
  429. ERRID:    DB    1        ;non-zero prints ID msg in err msgs
  430. ;
  431. ; by setting the following DB to 0, you can disable the HELP
  432. ; command, freeing up space used by the help file index.
  433. ;
  434. HELPOK:    DB    1        ;non-zero allows HELP command
  435. MEXDU:    DB    0        ;user \/  alternate area for READ,LOAD,INI.MEX
  436.     DB    0        ;drive/\  & HELP.MEX (if SEARCH <>0)
  437. DEBUG:    DB    0        ;debugging in term-mode if non-zero
  438. EXCLSY:    DB    1        ;non-0 excludes $SYS from batchsend, dir
  439. INIMEX:    DB    1        ;non-zero runs INI.MEX (if present) at startup
  440. RTIMER:    DB    1        ;receiver wait: # seconds [Plouff patch]
  441. PQSIZE:    DW    150        ;size of the modem-port queue
  442. PHSIZE:    DB    30        ;phone library size (# entries)
  443. SILENT:    DB    0FFH        ;0=silence multi-line & READ cmd echo
  444. ALERT:    DB    255        ;alert-bell count on CALL complete
  445. EXTEND:    DB    0        ;non-zero: unknown commands goto READ processor
  446. SPLIT:    DB    0        ;non-zero: splits phonelib printout, shows baud
  447. SEARCH:    DB    0        ;search mode 0,1,2,3
  448. ;
  449. ; Following is the GLOBAL secondary options table.  To
  450. ; set an option to global, change its ASCII character to a 0.
  451. ;
  452. RESTT:    DB    'BDLQRSTVX'
  453. ;
  454. ;
  455.     END
  456. ;
  457. ;----- End of MEXPAT10 area
  458. ;lib printout, shows baud