[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Need a really good ram unit test program



This is AWESOME feedback David, thank you!  I love any excuse to play Ultima IV, especially when I can say I'm playing Ultima IV... For science!

To your point, I recently (back in Feb) found that my interrupts were incorrectly implemented when I was adding mouse support.  I believe my current implementation is correct, provided that the IRQ does not alter the MMU switches.  I think that the interrupts work, because various mouse-based programs are working that do not use polling.  Among things I've tested: Dazzle Draw, Apple // Desktop, GEOS, Chipwits.

I saw a great conversation involving Mr. Mahon and Oliver Schmidt a long time ago discussing the MMU and the reset vector, but I implemented that behavior (well, I tied the softswitch resets to the reset vector more directly).  If I can't get Ultima IV to crash repeatedly, then I might have to suck it up and write some actual assembler code.

-B


On Friday, April 20, 2012 8:25:10 AM UTC-5, David Schmenk wrote:
> On Thursday, April 19, 2012 9:32:34 PM UTC-7, BLuRry wrote:
> > Not to test memory, but really what I need is the ability to test the behavior of the MMU and all the softswitches related to it.  I keep getting random crashes in JACE in games that use AUX memory, and sometimes Prodos as well.  Though it's speculative, I think the most prudent thing to do is assert what is proper MMU behavior with a software-based test and compare results to a running physical machine.  Since there are some switches (for LC) that require being accessed TWICE before they allow writes, these are the sorts of things that should be tested in all, or at least most, possible combination.
> > 
> > Specifically, I get the impression that aux ram is being switched back to main ram and the program counter is not picking up the right opcode at the right time, or from the right place.  But its only a hunch.  It could be a similar issue but with language card banks.
> > 
> > Before undertaking such a labor of pain.. er... love, I wanted to see if anyone knew of any good diagnostic programs that tested language card ram and aux ram -- I might get what I need from something off the shelf.  
> > 
> > Any advice or tips greatly appreciated!
> > 
> > -Brendan
> 
> Hi Brendan-
> 
> Can you isolate the failure to ether AUX RAM of LC RAM access?  The soft switches for AUX RAM are pretty straight forward.  When writing Appalm, Ultima IV gave me fits with its LC access (more from a performance standpoint than functionality).  It keeps its graphics assets in the second bank of the LC and ping-pongs constantly between the two banks.  I would think if you can run Ultima IV, your LC code should be pretty solid.
> 
> Sometimes writing a simple test to try out the combinations one at a time is useful.  I had to do this for the LC mode where LC RAM is write enabled, but reads from ROM.  ProDOS does some clever tricks to figure out how the LC is currently configured (no softswitches to read) before calling into the guts of ProDOS in the LC.
> 
> My second thought involves interrupts.  Is JACE emulating interrupts?  I have run into issues with the unenhanced IIe and interrupt interaction with AUX memory usage.
> 
> Sorry I don't have anything more formal.
> 
> Dave...