On Sat 13 Oct 2012 at 13:06:03 +0200, Micha? Pleban wrote: > OK, this is actually not true. I tried initializing the CRTC in a BASIC > program which gave me strange results. But when we perform directly a > SYS 35859 (which changes the five CRTC registers I wrote about before), > the graphics display is correctly turned on. So the suspicion was > correct - writing #$02 into CRTC register #$0C should turn on the > graphics display. I've done an implementation in VICE based on what we know so far. Further hardware analysis will no doubt refine it. See below for a patch that applies to a current VICE from the svn repository. I can't check anything in yet, because VICE is in feature freeze due to a release, Real Soon Now(tm). I was wondering about the weird choice to enable the graphics by setting the screen start address offset to $0200 (the register that is written to contains the high byte). This doesn't even bring the start value outside the normal range of screen addresses, so hi-res detection can't work by observing the MA lines and triggering on an extra-high value. It could only work by snooping writes to E880 and E881 both. It occurred to me that the value ($02), as written, differs from the normal value ($10) in another bit: the invert bit. In a 8296 this is apparently not wired up like that; Just now looking at the schematics of the board, on sheet 4 left-top I see that MA12 goes to a jumper (number is unreadable) which is normally not connected, before going on into RAM addressing. Another jumper (JU8, it seems) pulls the line to ground. These presumably being the jumpers that go to the HRE board... So, in fact, it seems more likely that the $10 bit controls the hi-res. Why the screen start address is increased, I'm not sure yet, since in my software version I need to subtract that offset again to ease my calculations. > I think these are enough information to re-implement the HRE in VICE - > as it turns out, the board usage is pretty straightforward. I will try > to post ROMs on Zimmers later today. Thanks for sending me the ROMs directly, since they were not moved out of the incoming directory yet. For people without the ROMs, here is a little basic program that can test the HRE, without even switching out of 80 column mode. This gives a slightly strange memory mapping but it shouln't really hinder using the graphics. 10 c = 59520 : rem crtc address 20 poke c, 12: poke c+1, 2 100 a=40960 101 fori = a to a+2048: poke i,255: next 110 for i = 0 to 512 120 poke a+i,i and 255: poke a+i+1024,i and 255 130 next 300 for i = 0 to 9000: next 310 poke c, 12: poke c+1, 16 ready. (you can cut & paste that into VICE these days!) And here is the diff: http://www.falu.nl/~rhialto/vice-hre.diff Run "xpet -model 8296 -pethre" and maybe with "-rom9 324992-02.bin -romA 324993-02.bin" Switching on the hires prints some diagnostics, but just a limited number of them. Not sure yet if I should worry about that. -Olaf. -- ___ Olaf 'Rhialto' Seibert -- There's no point being grown-up if you \X/ rhialto/at/xs4all.nl -- can't be childish sometimes. -The 4th Doctor Message was sent through the cbm-hackers mailing listReceived on 2012-10-18 19:00:40
Archive generated by hypermail 2.2.0.