Path: utzoo!attcan!uunet!lll-winken!lll-tis!ames!ncar!boulder!tramp!williamm From: williamm@tramp.Colorado.EDU (Michael Williams) Newsgroups: comp.sys.apple Subject: Serial Cards AND rehooking of I/O Message-ID: <6141@sigi.Colorado.EDU> Date: 19 May 88 22:33:11 GMT Sender: news@sigi.Colorado.EDU Reply-To: williamm@tramp.Colorado.EDU (Michael Williams) Organization: University of Colorado, Boulder Lines: 77 Two problems, both dealing with communications/serial cards: 1) How do you use Apple's Serial Card, non-Super? If anybody has one of these up and running with a modem/whatever, please talk to me. I at first thought that my card was not working, so I borrowed another. Neither it nor mine appear to send ANY characters at all to the external Hayes modem to which it is connected, with only switch 3 set on (1200bps). Any help at all tackling this would be appreciated. 2) Regarding 6502 code, specifically that which resides on the PROM of Apple's 1978 Communications card. Since this was produced so far back, it was not set up to access an 80-colmn card, etc. Nor did it even allow lower- case characters through without a conversion to upper case. Therefore, I am trying to rewrite what I can such that it is compatible. Right now I have eliminated the upper-case conversion (not at all any problem), but am not sure about the input/output of the card. Here is what is confusing me at the moment: * various locations used: CH EQU $24 ; <-- should this be replaced with OURCH ?? CSWL EQU $36 KSWL EQU $38 KSWH EQU $39 BASL EQU $28 COUT EQU $FDED COUT1 EQU $FDF0 KEYIN EQU $FD1B KEYINS EQU $FD18 KEYIN3 EQU $FD26 0000 START ; Branches elsewhere, where everything is initialized (including the SEI) and then jumps to the label TEST 0005 SOENTR ... ; Serial Out routine Entry (See TEST ?) 0007 SIENTR ... ; Serial In routine Entry ( " " ?) : 000F SEI ; Disable Interrupts <--- Do I really want this ??? : 004C TEST LDA KSWL ; Determine if entered from KEYIN 004E BNE OUT 0050 CPY KSWH 0052 BNE OUT ; If not, goto OUT 0054 LDA #7 ; If KEYIN then set serial 0056 STA KSWL ; input entry and goto SERIAL IN 0058 BVC NOAC ; (V clear if came from START, initial entry) (NOAC is a Serial In check, to which SIENTR) (eventually goes) 005A OUT LDA #5 ; If entered from COUT 005C STA CSWL ; set serial output entry and 005E SEROUT ... ; Code for the Serial Out : Problems: (a) At 000F, should the Interrupts be disabled? Is it the responsibility of the software to re-enable them? (b) Within TEST, It appears that the input entry is rehooked to --07, which is SERIN, by modifying KSWL (Keyboard Switch). But wouldn't KSWH need to be modified to $CN (N is the slot number)? Else, the input will simply be rehooked to a routine at $0007, not $CN07. (c) Same for the output rehook. CSWL is modified to --07, which would set the rehook to SEROUT *if* CSWH were modified to $CN as well. From the SEROUT and SERIN routines are called COUT1 and KEYIN, which will, I believe, make a connection to the standard 40-colmn routines. These will need to be modified as well, but for now I am simply trying to understand the rehooking of the input and output. --> If ANYBODY has ever worked with rehooking the I/O, maybe you can help me with this. ESPECIALLY if you have ever setup a system for 80-colmn, but at this point not even that is necessary. Eternal thanks to any help, Remo ------------------------------------------------------------------------------ ..{nbires,ncar,seismo,ihnp4}!boulder!tramp!williamm \ Bela Lugosi riding the BIT: WILLIAMS_MS%CUBLDR@VAXF.COLORADO.EDU / Kundalini Express in ... SNAIL: 2905 E Aurora Ave #129, Boulder CO 80303 \ (could it be?) Sunshine!