Discovery...

Ask anything your want about Megadrive/Genesis programming.

Moderator: BigEvilCorporation

Fonzie
Genny lover
Posts: 323
Joined: Tue Aug 29, 2006 11:17 am
Contact:

Post by Fonzie » Tue Jun 19, 2007 6:33 pm

I remember kaneda telling me that the DMA banking was 128KB...
I think 128KB is more probable than 64KB because the "DMA autoincrement address" might be 16bit and not 15bit, this do 64Kwords = 128KB.

Stef
Very interested
Posts: 3131
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Post by Stef » Tue Jun 19, 2007 7:01 pm

Fonzie wrote:I remember kaneda telling me that the DMA banking was 128KB...
I think 128KB is more probable than 64KB because the "DMA autoincrement address" might be 16bit and not 15bit, this do 64Kwords = 128KB.
Yep, that make sense. Tµee, is your address 128Kb boundary ?

KanedaFr
Administrateur
Posts: 1139
Joined: Tue Aug 29, 2006 10:56 am
Contact:

Post by KanedaFr » Tue Jun 19, 2007 8:40 pm

ah ah yes!
I remember!! I lost so many hours before Charles came to rescue me on segadev list ;)

I was stuk trying to load a full 320x240 bitmap on screen (I know, I know, pretty stupid but it was a first try!! 4 years ago)
Charles wrote:
> > From: Charles MacDonald
> >Subject: Re: DMA transfert again
> > > I'm back with the DMA transfert....
> > > there is something i don't understand....
> >
> >If you look at the 68000 address space as being divided into 128K
> >segments, you can only do DMA from within a segment to VRAM/CRAM/VSRAM.
> >For example, if you wanted to copy 32K of data starting at $01C000, it
> >would wrap back to $000000 as the 128K limit would be reached.
>
>
>so...if i DMA data from block not between
>0x000000=>0x01FFFF OR
>0x020000=>0x03FFFF OR
>0x040000=>0x05FFFF OR
>...
>something will go wrong ?
>
>
> >This limit is because the VDP seems to only increment the lower 16 bits
> >of the DMA source address while performing DMA. These bits select a word
> >address, so you have a range of 128K total. You'd have to manually
> >re-write the remaining bits in reg22. Sorry to say I didn't mention this
> >in my doc.


I don't remember if I don't put a check on KMod about that...at least I planned to do so...

TmEE co.(TM)
Very interested
Posts: 2440
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Post by TmEE co.(TM) » Wed Jun 20, 2007 10:37 am

Yes Yes, it is 128K not 64K, why isn't it documented I wonder ?

As for Z80 and DMA, SEGA manual says this:
The 68K is stopped during memory to VRAM/CRAM/VSRAM DMA, but the Z80 continues to
run as long as it does not attempt access to the 68K memory space.
I guess everyone has misunderstood this, Z80 will not CRASH, but just HALTs until DMA is complete.
Mida sa loed ? Nagunii aru ei saa ;)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen

Post Reply