[comp.sys.cbm] 1200 baud register settings??

ecarroll@cs.tcd.ie (Eddy Carroll) (08/27/88)

In article <5911@emcard.UUCP>, mat@emcard.UUCP (Mat Waites) writes:
> I'm trying to get 1200 baud working reliably on the 64.
> 
> I can get it to work OK for just typing back and forth, but when I try
> to Xmodem with my settings, uploads barf (downloads work fine).
> 
> I've tried changing the two normal timing registers to 1 60, 1 61, 1 62, etc
> but no matter what the setting, I have problems. I can tweak it around
> 'til the uploads work, then the downloads are flakey.
> 
> I'm working on a terminal program in Power C with Xmodem, etc.
 
Does Power C install it's own handler into the NMI vector, to handle cases
where the user does a RUN/STOP-RESTORE? If it does, then this will mess
up the timing of the NMI RS232 routines. At 1200 baud, the Kernal
routines are going flat out, and as far as I know, they are VERY dependant
on getting into the RS232 NMI code as quickly as possibly when an NMI
timer interrupt occurs.

Presumably you don't have any problems running the same code at 300 baud?

If the above does turn out to be the problem, the way around it is
to replace Power C's code with your own (or just replace the original
vectors and to hell with RUN/STOP-RESTORE - this might be a good idea
for testing anyway).

To see if Power C is playing with the NMI vector, you can simply write
a program which prints out the values of locations $0318/19 (792/793)
and see if these are different to the values you get in BASIC.

> -- 
>  W Mat Waites            | Emory Cardiac Data Bank | UUCP:  gatech!emcard!mat
>                          | Atlanta, GA             | PHONE: (404) 727-7197
-- 
Eddy Carroll                                           |You haven't lived until
INTER: mcvax!ukc!cs.tcd.ie!csvax1!ecarroll@uunet.uu.net|  you've died in MUD!
 UUCP: {...uunet}!mcvax!ukc!cs.tcd.ie!csvax1!ecarroll  |---* Genuine MUD Wizard

mat@emcard.UUCP (Mat Waites) (08/29/88)

}In article <5911@emcard.UUCP}, mat@emcard.UUCP (Mat Waites) writes:
}} I'm trying to get 1200 baud working reliably on the 64.
 
In article <10390@cs.tcd.ie} ecarroll@cs.tcd.ie (Eddy Carroll) writes:
}Does Power C install it's own handler into the NMI vector, to handle cases
}where the user does a RUN/STOP-RESTORE? If it does, then this will mess
}up the timing of the NMI RS232 routines. At 1200 baud, the Kernal
}routines are going flat out, and as far as I know, they are VERY dependant
}on getting into the RS232 NMI code as quickly as possibly when an NMI
}timer interrupt occurs.
}
}Presumably you don't have any problems running the same code at 300 baud?

Right, 300 baud works fine. Also right, the RESTORE key is still active
when serial I/O is going on.

I'll have to check the vectors tonight.

}
}If the above does turn out to be the problem, the way around it is
}to replace Power C's code with your own (or just replace the original
}vectors and to hell with RUN/STOP-RESTORE - this might be a good idea
}for testing anyway).
}
}Eddy Carroll                                           |You haven't lived until
}INTER: mcvax!ukc!cs.tcd.ie!csvax1!ecarroll@uunet.uu.net|  you've died in MUD!
} UUCP: {...uunet}!mcvax!ukc!cs.tcd.ie!csvax1!ecarroll  |---* Genuine MUD Wizard

Thanks, Eddy, for some excellent advice.

Mat


-- 
 W Mat Waites            | Emory Cardiac Data Bank | UUCP:  gatech!emcard!mat
                         | Atlanta, GA             | PHONE: (404) 727-7197

******** End of newsgroups--what next? [npq]