Heynony (nospam@noway.com) wrote: : "Joel" wrote: : > If you just want to do file transfer to another computer, there are plenty : > of modem programs to handle that. : No, I'm running a program that periodically needs to talk to a device : that has a hard wired and immutable 8 bit data length. At least : apparently immutable, I'm looking into that as well. Applesoft does all kinds of bit-banging on output, and I am not certain at what stage that bit-banging is happening. Recall that for the screen, low-bit ASCII is flashing text, high-bit ASCII is normal. I think Applesoft *sends* 8 bits, but bit 7 bears no resemblance to reality. 8-) In any case, the solution to your problem should be an easy one. If you are able to talk to your device using a PRINT statement, then clearly your device has hooked itself into CSW ($36-37). If that is the case, then a quick bit of assembly code should solve your problem: *300: 00 DS 1 ;Character to be sent *301: AD 00 03 LDA $0300 ;Get character from $0300 = 768 *304: 20 ED FD JSR $FDED ;Send it to COUT *307: 60 RTS ;Back to BASIC Alternatively, it's short enough to POKE into place: ]1 POKE 769,173:POKE 770,0:POKE 771,3:POKE 772,32:POKE 773,237:POKE 774,253:POKE 775,96 To use it, POKE your 8-bit character into 768 and CALL 769: 60000 CH%=ASC(Q1$)+128:POKE 768,CH%:CALL 769:RETURN If your device is following the rules, then upon initialization it should insert itself into the output hook at CSW (which is called by COUT at $FDED) and then return control to the previously installed device at CSW (usually DOS or BASIC.SYSTEM). In fact, I think DOS/BASIC.SYSTEM re-hook themselves to be first in line, but they pass the unmunged character value to your character handler. So no fancy machine code is needed, just a call to COUT that bypasses Applesoft. Normally PRINT does its own bit-banging and then calls COUT; by bypassing PRINT and calling COUT directly you can control the value that comes out. I hope that makes some kind of sense! I've been trying to write this message for the past three hours now, but I can't seem to get five minutes of uninterrupted keyboard time today... --Dave Althoff, ][. -- /-\ _ _ *** Thanks for a great season!! *** /XXX\ /X\ /X\_ _ /X\__ _ _ _____ /XXXXX\ /XXX\ _/XXXX\_ /X\ /XXXXX\ /X\ /X\ /XXXXX _/XXXXXXX\__/XXXXX\/XXXXXXXX\_/XXX\_/XXXXXXX\__/XXX\_/XXX\_/\_/XXXXXX