[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