Megalextoria
Retro computing and gaming, sci-fi books, tv and movies and other geeky stuff.

Home » Archive » net.micro.apple » Re: Re(n): //c modem problems
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Re: Re(n): //c modem problems [message #74019] Sun, 26 May 2013 20:29
darrelj is currently offline  darrelj
Messages: 37
Registered: February 2013
Karma: 0
Member
Message-ID: <1300@sdcrdcf.UUCP>
Date: Mon, 10-Sep-84 08:40:13 EDT
Article-I.D.: sdcrdcf.1300
Posted: Mon Sep 10 08:40:13 1984
Date-Received: Sun, 16-Sep-84 09:35:07 EDT
References: 
Reply-To: darrelj@sdcrdcf.UUCP (Darrel VanBuer)
Organization: System Development Corporation, Santa Monica
Lines: 48
Summary: 

 > From the various descriptions of the problem, the Apple is providing
one half the color burst frequency instead of 1.8432Mhz for baud rate generation.
The former is easily derived from the 4x color burst crystal used in all
Apples (makes generation of color images an incidental (but wanted) side

effect of the B&W video circuitry.  The latter is one of a half-dozen
popular frequencies for Baud rate generation (1.8432MHz = 2^13 * 3^2 * 5^2)
which get most popular rates exactly  (e.g. 1.8432MHz/3/512 = 1200) with
simple counters.  (For asyncronous transmission, you normally want 16*baud).
There are also three completely different circuits used for baud rate
generators.
a)  A couple of chains of low divisor counters with output taps between most
  stages (e.g. once you get 9600, sucessive halvings get most other common
  rates
b)  A polynomial (mod 2) shift register which can divide by almost number but
  requires initialization values which are hard to compute.  Generally these
  values are hardwired into a small table.  It's advantages are that you
  can select almost any (fixed) set of input/output relationships with less
  circuitry than (c).
c)  A general divide by n counter of 12 to 16 bits.  Takes more circuitry,
  but easy to program.  E.g. to get 1200x16 clock for most UARTs at 1200 baud,
  program divide by reference/(1200x16).
Apple seems to be using the divisor needed for a 1.8432MHz crystal (96)
with 1,789,773 Hz reference (which needs a divisor just over 93).
[With type a circuitry, you can't divide by 93, so you're stuck with
1165.22 baud; with type b, your stuck if you use a part meant for 1.8432MHz,
instead of paying for a custom version; with type c or custom b, you have
your choice of 93 as a divisor (giving 1203 baud) or 94 (giving 1190 baud).

The fastest fix is to provide the right crystal for the serial chip (note
that you will need a resistor or capacitor in addition to the crystal;
you will have to check the data sheet for the proper crystal hookup).
It also fixes all baud rates.
With a type c baud rate generator, an alternate fix is software, but waiting
for Apple to produce and distribute a revised ROM will take months, and will
still leave high baud rates on shakey grounds; at 9600 baud, you are stuck
with dividing by 12, giving a rate 3% low again.
[An amazing amount of trouble to save $5 for the crystal!!!]

-- 
Darrel J. Van Buer, PhD
System Development Corp.
2500 Colorado Ave
Santa Monica, CA 90406
(213)820-4111 x5449
...{allegra,burdvax,cbosgd,hplabs,ihnp4,orstcs,sdcsvax,ucla-cs,akgua}
                                                            !sdcrdcf!darrelj
VANBUER@USC-ECL.ARPA
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: mail_to_Don_Foree
Next Topic: Fromhex.bas problem
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Fri Mar 29 09:57:17 EDT 2024

Total time taken to generate the page: 0.02446 seconds