Reading & write to RTC 12887 ?

General discussions or ideas about hardware.
User avatar
exxos
Site Admin
Site Admin
Posts: 11301
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
YouTube: https://www.youtube.com/user/exxosuk
Contact:

Reading & write to RTC 12887 ?

Post by exxos » Fri Jun 21, 2019 4:13 pm

https://pdfserv.maximintegrated.com/en/ ... 2C887A.pdf

Been sat puzzling over how this chip is actually supposed to work. I have MOT timing selected, but firstly confused over DS. It looks like its just basically a inversion of RW ?

Also I don't get how this multiplexed address / data bus is working. I mean, if I do a read from the chip, what address is it reading from ? Do I do a write to the chip to set the register then do a read and it reads from that address ? Or if I do a write to a address, does it actually write the data somewhere which is already on the bus ? Or is it do 2 reads, first read to select the address register, second to read data ?

I can't honestly make heads or tails of any of it :(
https://www.exxoshost.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxoshost.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.

User avatar
rubber_jonnie
Moderator
Moderator
Posts: 2687
Joined: Thu Aug 17, 2017 7:40 pm
Location: Essex
Contact:

Re: Reading & write to RTC 12887 ?

Post by rubber_jonnie » Fri Jun 21, 2019 4:24 pm

Certainly quite a bit different to a DS1315, which only had data in/out rather than address lines. :(
Collector of old Atari things:
800XL + Ultimate 1MB, 2x 1010 cassette, 1050 + Happy mod, 65XE (128k +APE Warp) & XC12, SIO2SD, 2600jr, 7800 and Lynx II
Atari 520ST (1Meg), 1040STF long button floppy, 2x 1040 STFMs + Gotek, 2x 4160STE with 32Mhz booster, ROM switcher, Mega ST1, Mega ST4, not to mention various bare ST boards for testing including a PAK 68/2 :)
Plus the rest..
Amiga stuff, Mac stuff, Sinclair stuff etc...
www.electronicnothingness.co.uk

stephen_usher
Trusted Guru
Trusted Guru
Posts: 620
Joined: Mon Nov 13, 2017 7:19 pm
Location: Oxford, UK.
Contact:

Re: Reading & write to RTC 12887 ?

Post by stephen_usher » Fri Jun 21, 2019 4:27 pm

Multiplexed, Bidirectional Address/Data Bus. The addresses are presented during
the first portion of the bus cycle and latched into the device by the falling edge of
AS. Write data is latched by the falling edge of DS (Motorola timing) or the rising
edge of R/W (Intel timing). In a read cycle, the device outputs data during the
latter portion of DS (DS and R/W high for Motorola timing, DS low and R/W high for
Intel timing). The read cycle is terminated and the bus returns to a high-
impedance state as DS transitions low in the case of Motorola timing or as DS
transitions high in the case of Intel timing.
It sounds to me to write you put the address on the bus, pulse 'AS' high and then low. Put the data on the bus and then pulse 'DS' high/low (Motorola mode) or pulse 'R/W' (Intel mode).

To read is sounds as if you put the address on the bus, pulse 'AS' and then depending upon whether you're on Intel or Motorola mode, set the 'DS' and 'R/W' lines appropriately and read the bus value, then reset the lines.
Intro retro computers since before they were retro...
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.

User avatar
exxos
Site Admin
Site Admin
Posts: 11301
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
YouTube: https://www.youtube.com/user/exxosuk
Contact:

Re: Reading & write to RTC 12887 ?

Post by exxos » Fri Jun 21, 2019 4:49 pm

It sounds like DS just sets how long to hold the data for, which would be pretty much the same time as AS is held low by the CPU. Though looking at the intel timings, DS is inverse of RW...

INTEL READ
AS LOW
DS LOW
RW HI


INTEL WRITE
AS LOW
DS HI
RW LOW

So in my firmware I just put...

Code: Select all

RTC_CS = ADDR:[FF8964];
RTC_RW = ST_RW;
RTC_AS = CPU_AS;
RTC_DS = !ST_RW;    
RTC_RESET = RESET;

Not sure if that will work, but even so, still confused on how registers are selected for read and write, vs actually writing to a address register etc.

Wonder if there is just a version of this chip which isn't multiplexed, would make life a whole lot easier :roll:
https://www.exxoshost.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxoshost.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.

User avatar
exxos
Site Admin
Site Admin
Posts: 11301
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
YouTube: https://www.youtube.com/user/exxosuk
Contact:

Re: Reading & write to RTC 12887 ?

Post by exxos » Fri Jun 21, 2019 9:15 pm

I found this PDF https://www.maximintegrated.com/en/app- ... vp/id/1145

Not sure it really helps tho :roll:
https://www.exxoshost.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxoshost.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.

User avatar
exxos
Site Admin
Site Admin
Posts: 11301
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
YouTube: https://www.youtube.com/user/exxosuk
Contact:

Re: Reading & write to RTC 12887 ?

Post by exxos » Fri Jun 21, 2019 9:27 pm

hmmm, I think "AS" on the RTC is literally address select, and data otherwise... I've been mistaking it for "AS" on the CPU which isn't "AS" on the RTC :roll:

EDIT:

yep.

http://www.waveguide.se/?article=ds1685 ... torola-bus

The problem with the DS1685 is that is it not made for the Motorola bus. It's got a multiplexed Intel-like bus. The usual RD, WR and CS signals are there but there is also an ALE signal. The ALE serves as an address strobe input. A falling edge on the ALE causes the DS1685 to latch an 8-bit address from the data lines. Keeping the ALE high while reading and writing changes the data at the selected address.

Then it seems "DS" is just a inversion of "AS".
https://www.exxoshost.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxoshost.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.

stephen_usher
Trusted Guru
Trusted Guru
Posts: 620
Joined: Mon Nov 13, 2017 7:19 pm
Location: Oxford, UK.
Contact:

Re: Reading & write to RTC 12887 ?

Post by stephen_usher » Fri Jun 21, 2019 9:39 pm

exxos wrote:
Fri Jun 21, 2019 9:27 pm
Then it seems "DS" is just a inversion of "AS".
I'm not sure that's quite the case. It depends upon whether the chip is in Motorola or Intel mode from how I read the documents.

But yes, 'AS' tells the chip to read an address and 'DS' to read/write data, along with 'R/W'.

Oh, and yes, acronym collisions can be a killer!
Intro retro computers since before they were retro...
ZX81->Spectrum->Memotech MTX->Sinclair QL->520STM->BBC Micro->TT030->PCs & Sun Workstations.
Added code to the MiNT kernel (still there the last time I checked) + put together MiNTOS.
Collection now with added Macs, Amigas, Suns and Acorns.

User avatar
exxos
Site Admin
Site Admin
Posts: 11301
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
YouTube: https://www.youtube.com/user/exxosuk
Contact:

Re: Reading & write to RTC 12887 ?

Post by exxos » Fri Jun 21, 2019 9:45 pm

Its wired for MOT timing. It says DS sets the time it drives the bus. So makes sense when AS is high, its loading the address, so we don't want it to drive data on the bus, so DS is kept low.

So when AS goes high, we basically select data access, and DS sets how long we want the RTC to output data.

Access would have to be done with 2 68000 bus cycles.. but not sure yet how the RTC will behave if it doesn't see CS low the whole time... I'm making the assumption (in my head for the moment) that the address will stay latch even when the RTC is not selected.. it does seem to suggest that in the pdf...
https://www.exxoshost.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxoshost.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.

User avatar
exxos
Site Admin
Site Admin
Posts: 11301
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
YouTube: https://www.youtube.com/user/exxosuk
Contact:

Re: Reading & write to RTC 12887 ?

Post by exxos » Fri Jun 21, 2019 9:58 pm

The problem I see is, my RTC board is only wired into the databus.. There would be no way to keep CS low and do both address and data bus cycles in 1 single 68000 cycle :roll: .

I think it would be simpler to wire the RTC AD pins to the 68000 address bus, and have a multiplexer chip which can switch out the address bus for the databus. This way it could all be done in a single 68000 cycle, and each RTC address would be mapped into a 68000 register, which may help make software side of things easier. But then I would need a new PCB :roll:

EDIT:

Saying that, the Falcon has it wired to the databus it seems.. So it must work with 2x 68000 bus cycles... :shrug:


EDIT2:
9.jpg
9.jpg (29.83 KiB) Viewed 1107 times
The Falcon CPU must read the address register and dump it on the databus... then read or write to the data register...
https://www.exxoshost.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxoshost.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.

User avatar
exxos
Site Admin
Site Admin
Posts: 11301
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
YouTube: https://www.youtube.com/user/exxosuk
Contact:

Re: Reading & write to RTC 12887 ?

Post by exxos » Fri Jun 21, 2019 10:30 pm

6.jpg
6.jpg (57.92 KiB) Viewed 1101 times

So CS going high doesn't clear the selected address I think...

So the 68000 would put the address on the databus, CS = low, DS=low, but can't figure out what RW is supposed to be doing at that point :roll:

I mean the first bus cycle would select the register, then read or write data to it on the second bus cycle... but its unclear what RW is supposed to be during the register select cycle :stars:

Looking at the intel timings, RW is high in both register select cycles.. so assume thats the way to do it...
https://www.exxoshost.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxoshost.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.

Post Reply

Return to “HARDWARE DISCUSSIONS”