[Coco] Bit-Banger Serial as external console?

Stephen Pereira stephen.m.pereira.sr at gmail.com
Tue Mar 26 18:10:10 EDT 2019


Hi Gene,

Thanks very much for your input.

I’ve checked again, and, indeed, shown in “Color BASIC Unraveled” is the label POLCAT at $A000:

0002  A000  A1  CB      POLCAT   FDB   KEYIN    GET A KEYSTROKE

And, indeed, the address $A1DB is correct for the label KEYIN later in the listing.

Am I missing what you really meant to say?

smp
- - -
Stephen Pereira
Bedford, NH  03110
KB1SXE


> On Mar 26, 2019, at 5:21 PM, Gene Heskett <gheskett at shentel.net> wrote:
> 
> On Tuesday 26 March 2019 15:18:32 Stephen Pereira wrote:
> 
>> Hello again, folks,
>> 
>> I took Arthur’s advice and started looking for BBS code.  I ended up
>> looking at an article in the November 1983 Rainbow titled “Remote
>> Operation of the Color Computer”.  It has exactly what I think I need.
>> The tiny assembly language program installs input & output from a
>> remote terminal along with the normal keyboard and screen.  When
>> running, a person at the remote terminal can operate the CoCo as if
>> they were directly on the system.
>> 
>> Of course, the trouble is that the program does not work for me on my
>> CoCo 3.  The communication gets established, but the actual characters
>> get scrambled in both directions.  I’ve tried 150, 300 and 600 Baud,
>> as well as 1 or 2 stop bits, and 7 or 8 data bits.
>> 
>> I’m concerned that maybe this code cannot work properly on the CoCo 3
>> because it had not yet arrived?
>> 
>> Here’s a copy of the code if anyone else would like to try it out. 
>> Please let me know if you are successful!
>> 
>> ********************************
>> *           REMOTE             *
>> *   A REMOTE TERMINAL DRIVER   *
>> *        FOR THE COCO          *
>> * DAN DOWNARD   RAINBOW  11/83 *
>> ********************************
>>        ORG     $3F00
>> * EQUATES FOR ROM & RAM ADDRESSES
>> IHOOK   EQU     $016A
>> OHOOK   EQU     $0167
>> PIA     EQU     $FF22
>> POLCAT  EQU     $A000
> That was never correct for any coco. I think what you want is $A002, but 
> check your book for sure, my memory is now 30+ years old. There  may be 
> other changes to the rest of these EQU's too due to the coco3's basic 
> patches.
>> RSOUT   EQU     $BE0C
>> BAUD    EQU     $E6
>> BAUDR   EQU     $C9
>> DEV     EQU     $6F
>> FLAG    EQU     $70
>> * INITIALIZE RAM HOOKS
>> START   LDA     #BAUDR
>>        STA     <BAUD
>>        LDX     1+OHOOK
>>        STX     1+ORET2,PCR
>>        LDX     1+IHOOK
>>        STX     1+IRET2,PCR
>>        LDA     #$7E
>>        STA     IHOOK
>>        STA     OHOOK
>>        LEAX    OUT,PCR
>>        STX     1+OHOOK
>>        LEAX    IN,PCR
>>        STX     1+IHOOK
>> RET     RTS
>> * OUTPUT CHARACTER IF DEV=0
>> * INSERT LINE FEED TO REMOTE DEVICE
>> * USE ROM SUBROUTINE
>> OUT     PSHS    A
>>        TST     <DEV
>>        BNE     ORET1
>>        CMPA    #$0D
>>        BNE     REMOUT
>>        LDA     #$0A
>>        JSR     RSOUT
>>        LDA     #$0D
>> REMOUT  JSR     RSOUT
>> ORET1   PULS    A
>> ORET2   JMP     RET
>> * INPUT FROM KEYBOARD OR RS-232
>> * IF DEV=0
>> * USE RSIN FOR REMOTE INPUT
>> IN      CLR     <FLAG
>>        TST     <DEV
>>        BNE     IRET2
>>        LEAS    2,S
>>        PSHS    B,CC,X
>> IN1     JSR     [POLCAT]
>>        BEQ     REMIN
>>        BRA     IRET1
>> * CHECK FOR REMOTE INPUT
>> REMIN   LDB     $FF22
>>        RORB
>>        BCS     IN1
>> * RS-232 INPUT ROUTINE
>> * BYTE INTO A REGISTER
>> RSIN    BSR     HALF
>>        LDB     #1
>>        PSHS    B
>>        CLRA
>> RSIN1   BSR     FULL
>>        LDB     PIA
>>        RORB
>>        BCC     RSIN2
>>        ORA     0,S
>> RSIN2   ASL     0,S
>>        BCC     RSIN1
>>        LEAS    1,S
>>        ANDA    #$7F
>> IRET1   PULS    B,CC,X,PC
>> IRET2   JMP     RET
>> * BAUD RATE DELAYS
>> FULL    BSR     HALF
>> HALF    PSHS    A
>>        LDA     <BAUD
>> HALF1   BRN     HALF1
>>        DECA
>>        BNE     HALF1
>>        PULS    PC,A
>>        END     START
>> 
>> 
>> smp
>> - - -
>> Stephen Pereira
>> Bedford, NH  03110
>> KB1SXE
>> 

<…snip…>



More information about the Coco mailing list