Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!border3.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!news.bbs-scene.org!macgui.com!mressl From: mressl@macgui.com (Marc S Ressl) Newsgroups: comp.sys.apple2 Subject: Re: Apple IIGS bank latching Date: Wed, 7 Mar 2012 02:28:24 +0000 (UTC) Organization: Mac GUI Lines: 72 Message-ID: References: <5764e358-0a03-40dd-8e1a-845ee20f68ee@w29g2000yqw.googlegroups.com> NNTP-Posting-Host: gunshin.wiredns.net Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Trace: technocratmedia-w1.news.bbs-scene.org 1331087304 23366 74.119.145.48 (7 Mar 2012 02:28:24 GMT) X-Complaints-To: abuse@bbs-scene.org NNTP-Posting-Date: Wed, 7 Mar 2012 02:28:24 +0000 (UTC) User-Agent: Mac GUI City Usenet Posting Xref: csiph.com comp.sys.apple2:5228 Daniel Kruszyna wrote: > Marc S Ressl wrote: >> * The New Video "memory linearization" appears to not scramble the >> contents >> of video memory (I'm still having a hard time understanding this, as I >> believed it would). > > When linearization is enabled, e1/2000..9fff is remapped. > > x = linear_address - $2000 > y = x[15]:x[0]:x[14..1] > physical_address = y + $2000 > > in other words: > > linear $2000 maps to physical $2000 > linear $2001 maps to physical $6000 > > $2002 -> $2001 > $2003 -> $6001 > > the pattern continues... > > It just so happens that the mapping between main/aux bank and physical > chips on the board is swapped for addresses $6000..$9fff. These two > hacks together let the VGC access two contiguous bytes of SHR data > simultaneously. > Daniel, thanks a lot for your clearing that up :-). I have been looking for this on the net, and it seems you are the first who covers this. Now, the problem is experiment #7 I posted earlier (omg, I sound like a craZy scientist!!)... here is a snippet: C029:01 2000:12 34 C029:41 2000.2001 This returns "12 34", but I would have expected something different (as the memory map is changed). Is it possible that the monitor is messing with C029? What do you guys think is going on? Btw, I have two more experiments :-) #8 and #9... * #8 Is aux/main memory switching disabled if the language card is disabled? 00/1000:00 01/1000:01 00/0100:AD 35 C0 48 A9 00 8D 35 C0 8D 03 C0 AF 00 10 00 8D 20 01 8D 02 C0 68 8D 35 C0 60 00/0100G 00/0120 * #9 Is it true that the video character generator data is available at $C028? 00/0300:A2 00 DA AD 28 C0 20 DA FD FA E8 D0 F5 60 In case you see something interesting, I have this big petition: could you run this program a couple of times, and make pictures of the screen (til you notice it cycles back to the beginning)? I would expect 256 (characters) * 8 (scan lines) * 8 (languages) interesting bytes… this would make 64 screens. Am I pushing it too much? :-) Thanks a lot to all of you for all the help, and with the best wishes! Marc.-