Forums before death by AOL, social media and spammers... "We can't have nice things"
|    comp.sys.apple2    |    Discussion about Apple II micros    |    56,720 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 55,668 of 56,720    |
|    Charlie to Anthony Ortiz    |
|    Re: Write valid time on bus    |
|    02 Aug 22 16:29:41    |
      From: charlieDOTd@verEYEzon.net              On 8/2/2022 11:31 AM, Anthony Ortiz wrote:       > Hey guys, I've been going over some of the timings for writing data from a       peripheral card on to the Apple IIe bus and just when I think I have it, I get       confused again. This is for an accelerator I'm working on that replaces the       6502, and it seems to        be working for all reads but some errors on the writes so I want to make sure       I have it right. I'm using a IIgs for testing but want to make this work       across the range of Apple IIs if possible.       >       > In the DMA tech note for the IIe it says that the data bus is valid until       Phase 0 falls, and even presents a write scenario where you can gate your       write using the 7M signal and hold it *until* Phase 0 falls, but in Sather's       IIe book pages 4-7 and 4-8        it states a couple of times that write is held valid for some time *after*       Phase 2 falls, and Phase 2 falls in worst-case 65ns after Phase 0 falls, which       means I have to hold the write for some time after Phase 0 falls. I know I       must be reading this        wrong so would someone enlighten me?       >       > I'd like my peripheral-card read/write to work across the Apple II range so       I'm wondering if anyone has any timing data on when it's safe to start       fiddling with the Address and Data buses and R/W line and when they need to be       held stable and valid.              I've struggled with Apple II timing myself so I feel your pain.       I know next to nothing about how accelerators work but...              Since you are using a IIgs for testing you should be aware that phase 2       on the 65816 in not the same as phase 2 on a 6502 (see Apple IIgs tech       note #68). I believe the phase 2 clock on the 6502 is the same as the       phase 0 clock on the Apple peripheral bus. The phase 2 clock on the       65816 actually varies its period.              You mentioned DMA so I'm thinking that's the timing you are going for.       The IIgs hardware reference says (in reference to cards that work on       other Apple II models) that they will *probably* work if they assert and       remove the /DMA signal within 200 nanoseconds of the rising edge of       phase 0. It also says that normally the IIgs should be running at 1.024       MHz when performing DMAs. There are exceptions to this if you are only       accessing fast ram or rom.       Also with the IIgs you need to set the DMA bank register.              If you are using a logic device (FPGA, etc.), here is a link to Alex       Freed's verilog code for DMA timing on an Apple IIe which may help:              https://sourceforge.net/p/jatcb/code/HEAD/tree/dma.v              Lastly, I like to synchronize all the clocks on the card whether or not        I'm using the 7Mz Apple clock as the system clock or a clock on the card.              Charlie              --- SoupGate-Win32 v1.05        * Origin: you cannot sedate... all the things you hate (1:229/2)    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca