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

Re: More RamFactor observations



Other findings:

The "extra" ports are just duplicates of 0-3.  I suppose they didn't have a need to hook up an unused address line so bit 2 of the i/o port address is a don't-care.

Also, it's either the case that the //gs gets a very different set of routines or (and this is more likely) that I have no idea how to dump the c8 rom portion of the card from the monitor and I'm actually mooking at motherboard rom.

-B

On Sunday, August 19, 2012 1:35:28 AM UTC-5, BLuRry wrote:
> On Sunday, August 19, 2012 12:09:37 AM UTC-5, BLuRry wrote:
> 
> > I was able to fire up my RamFactor and perform some more verification to see why my emulated attempt was not working.
> 
> > 
> 
> > 
> 
> > 
> 
> > Firstly, there are more I/O ports active than stated in the documentation.  But I can't figure out what they do except that they are not necessarily constant.
> 
> > 
> 
> > 
> 
> > 
> 
> > Secondly, the c0xf register switches firmware banks but it will always read FF.  I hadn't implemented this correctly.
> 
> > 
> 
> > 
> 
> > 
> 
> > Lastly, I noticed the pointer is not incrementing properly.  Is there a reliable reference for the exact bus behavior of each opcode and addressing mode?  I need to ensure that every opcode is properly simulating an I/O read or write when it should.  The RamFactor manual warns of this behavior but is unfortunately very unspecific.
> 
> > 
> 
> > 
> 
> > 
> 
> > -B
> 
> 
> 
> Ok, I found the instructions -- all of which are "fetch-modify-store" instructions that don't use processor registers (e.g. ROL, ROR, ASL, LSR, INC, DEC).  I made a very small test to compare to the real thing and now the slinky counter increments for those instructions.
> 
> 
> 
> But I still have no idea how it computes the ram size or why the diagnostic is failing.
> 
> 
> 
> Getting closer though!