I have never worked with a real 7800 so I can't give you definitive answers but I will take some guesses... It may be possible to reset the DLL by some tricky manipulation of the registers but you really shouldn't need to. I don't think they intended for someone to do a DL on every scanline, you usually assign DL's to groups of 8 or 16 scanlines. This is really the way the system is setup to work. As for the timing, the Maria Specs document from atari-history.com has different timings then the ones you showed which are from the 7800 Software Guide. The ones in the Maria Specs actually make more sense: Short Header: 8 cycles Long Header: 10 cycles That comes out to 2 cycles per byte. Graphics, per byte: 3 cycles Indirect Map Fetch: 3 cycles (plus 1 or 2 graphics fetches) The Maria Spec doesn't list the Character Map Access sperately, so I am guessing the the 6 and 9 cycles specified in the Software Guide already include the Character Map Access. This makes sense: Direct graphics read: 3 cycles Indirect/1 Byte: (Character read) 3 cycles + (Graphics read) 3 cycles = 6 cycles Indirect/2 Bytes: (Character read) 3 cycles + (2 Graphics reads) 6 cycles = 9 cycles. Hopefully someone with a real 7800 development environment can test this. Dan > -----Original Message----- > From: atari7800-bounce@xxxxxxxxxxxxx > [mailto:atari7800-bounce@xxxxxxxxxxxxx] On Behalf Of Andy Mucho > Sent: Tuesday, September 14, 2004 5:23 AM > To: atari7800@xxxxxxxxxxxxx > Subject: [atari7800] Some questions.. > > > Newbie hat firmly in place, so bare with me :) > > I've started tinkering with the 7800 now I've got some time > on my hands, and it's a lovely machine, but I've got a few > questions, that I could probably answer myself if I could run > on a real 7800, but I can't ;) I've just bought a PAL 7800, > but now need to obtain something to program the bugger with > and missed out on the CC2 by a mile, but that and my path to > making a dev kit are another story.. > > Firstly.. > Is there anyway at all I can force a DLL to restart from a > new address, even through using DLIs ? For some little tests > I've reached the point where I've got DLs for every scanline, > and I've reached the limit of the DLL not being able to be > longer than 512 bytes.. Is there anyway I can force the DLL > to restart ? Switching the DMA off, point it to new one, then > back on, or something ? Ideally being able to have 2 DLLs, > one for the top half of the screen, one for the bottom ? > > Also, CharMap access.. I'm confused with the timings ? > Am I correct in understanding that for example: > > 2 byte wide chars of 20 characters: > 12 Cycles - 5 byte header > 20 * 3 Cycles - Character Map Access > 9 * 20 Cycles - Character Data fetch > --- > 252 Cycles > > 1 byte wide chars of 40 characters: > 12 Cycles - 5 byte Header > 40 * 3 Cycles - Character Map Access > 6 * 40 Cycles - Character Data fetch > --- > 372 Cycles > > These figure just don't seem right to me ? Though I guess > they are, but I'm just looking for clarification.. > > I've been looking through emulator sources but even then the > timings seem to be inconsistent ? > > In general sprite usage I'm in love with this machine and the > way it renders > :) > > One last thing.. I recall seeing somewhere on Erics page that > he found the timings for Direct Graphic read from RAM were 2 > cycles instead of the documented 3 cycles ? I can't find this > now, but I'm wondering if this is correct ? Does this apply > only to the internal RAM, or does it apply to cart RAM in the > case of a SuperCart with RAM ? Just curious.. > > Regards > AndyM00 > > PS: On freelists.org trying to find the address to send mail > to the list, when you've not received yet any is a bit tricky > ;) Nowhere does it simply say atari7800@xxxxxxxxxxxxx! I'm > guessing this is the right address.. > > >