[vcf-midatlantic] Workshop February 11&12, 2017 Wrap-up
Jonathan Gevaryahu
jgevaryahu at gmail.com
Mon Feb 13 23:58:39 EST 2017
On 2/13/2017 4:56 PM, Douglas Crawford via vcf-midatlantic wrote:
> On 2/13/2017 4:29 PM, Brian Schenkenberger via vcf-midatlantic wrote:
>> Douglas Crawford via vcf-midatlantic writes:
>>
>> {deleted much HTML shite}
>>
>>> Where do u get them!?
>> The DS1287A was fairly common TOY clock back then. You can replace
>> it with
>> the newer DS12887A. Goggle it, there are ample sources.
> 12887s yes of course. I thought you meant there were actual
> replacement 1287A's now available.
> 12887A's don't work in some applications. They don't work in GRiDs
> reportedly.
> Which is the only one I've bothered trying to replace.
>
Differences summary:
1287 and 1287A (1285 based): 64 bytes total space, i.e. top address is
0x3F; accessing 0x40-0xFF 'mirrors' those accesses to 0x00-0x3F, I
believe. no special Y2K handling, byte 0x32 is a plain RAM byte.
12887 and 12887A (12885 based): 128 bytes total space, i.e. top address
is 0x7F. accessing 0x80-0xFF 'mirrors' those accesses to 0x00-0x7F, I
believe. no special Y2K handling, byte 0x32 is a plain RAM byte.
12C887 and 12C887A (12C885 based): 128 bytes total space, i.e. top
address is 0x7F. accessing 0x80-0xFF 'mirrors' those accesses to
0x00-0x7F, I believe. Byte 0x32 (used by MS-DOS on PCs for the 'century'
value) the low 6 bits can only ever read as BCD-encoded 0x19 or 0x20 and
will update itself properly on dec 31, 1999->jan 1, 2000 rollover. The
high 2 bits of 0x32 probably act as ram. Unclear what happens if you try
to set the low 6 bits to some value other than those two.
The difference between the non-A and A versions has to do with whether
the /RCLR pin (pin 21) is bent down and can be plugged into the pcb
(DS12x87A), or bent up and hidden inside the potted block (DS12x87). You
can convert a ds12x87A to a ds12x87 by snipping off that pin, or bending
it up sideways so it doesn't go in the socket.
All DS1287 and DS1287A blocks have the same thing inside: a DS1285 chip
(often with the part number printed on it!), a battery (CR14xx or
CR18xx, i forget the exact type), and a 32.768Khz clock crystal.
DS12887 and DS12887A blocks have a DS12885 inside but are otherwise the
same as above.
DS12C887/DS12C887A have a DS12C885 inside but are otherwise the same as
above.
If the GRiD is accessing the 0x40-0x7F or 0xC0-0xFF expecting it to
read/write from 0x00-0x3f, a ds12885/7/7a won't work (at least not
without an added external circuit with a NAND gate between the /AS pin
and the A7 pin. If it wants to store something else at location 0x32, a
DS12C885/7/7A won't work.
In the first case you'll have to re-battery a real 1287 chip, or "make
your own module" out of a ds1285 chip by bending up four of the pins
(GND pin 16, VBAT pin 20, X1 pin 2, X2 pin 3), connecting a 3v lithium
coin cell battery (a cr2032 in a holder works fine, though its a bit
large) to VBAT(+) and GND(-), and a 32.768Khz clock crystal to X1 and
X2. Then plug the remaining pins into the original socket. If needed,
bend /RCLR pin 21 up as well, and don't connect it to anything.
--
Jonathan Gevaryahu
jgevaryahu at gmail.com
jgevaryahu at hotmail.com
More information about the vcf-midatlantic
mailing list