Path: utzoo!attcan!uunet!lll-winken!lll-lcc!ames!pasteur!ucbvax!UIAMVS.BITNET!AWCTTYPA From: AWCTTYPA@UIAMVS.BITNET ("David A. Lyons") Newsgroups: comp.sys.apple Subject: sending all 256 characters to printer port Message-ID: <8812261505.aa26000@SMOKE.BRL.MIL> Date: 27 Dec 88 06:59:34 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 40 X-Unparsable-Date: Monday 26 Dec 88 2:05 PM CT >Date: Wed, 21 Dec 88 23:36:44 GMT >From: Mark Litscher >Subject: Apple //c serial port >I need to find a machine language routine that can send a character >to my Brother M-1109 printer without setting the hi-bit. I have >checked the setup of the printer and the computer, neither are using >parity. I know it can be done, I have utilities that can do it, but I >need to print all 255 graphics characters. The following is untested, but I think it'll work (I've done similar things in the past): 500 POKE 768,169 : POKE 770,76 : POKE 771,237 : POKE 772,253 510 REM LDA # JMP $ED $FD 1000 ?CHR$(4);"PR#1": REM send output to port 1 1010 ?CHR$(9);"Z"; : REM tell serial port to pass everything thru 2000 REM * print character X 2010 POKE 769,X : CALL 768 The idea is to use the following little machine language subroutine at $300: $300: LDA #$xx $303: JMP $FDED ;"cout" The POKE 769 stores a value in the operand of the LDA instruction; when the CALL 768 is executed, the character is loaded into A & fed to COUT (character out). This avoids the problem of Applesoft turning on the high bit before calling COUT from a PRINT statement. >Mark Litscher >barak@lakesys.UUCP >{backbone,uwvax}!uwmcsd1!lakesys!barak --David A. Lyons bitnet: awcttypa@uiamvs DAL Systems CompuServe: 72177,3233 P.O. Box 287 GEnie mail: D.LYONS2 North Liberty, IA 52317 AppleLinkPE: Dave Lyons