RE: [stella] bzoneRepos question

Subject: RE: [stella] bzoneRepos question
From: "Fred Quimby" <c9r@xxxxxxxxxxx>
Date: Wed, 8 Jun 2005 02:55:38 -0400
I should be move specific... the routine you posted was invented by Robert 
M. (sp?) and it's similar to bzone code in that it has the dual-purpose sbc 
#15 loop.

I think the jump is due to an illegal HMOVE call.  This behavior has been 
accurately implemented on emulators, so no need to worry about real hardware 
doing anything different.

It looks like values under 15 will actually store to RESPx at cycle 21.  
Then you rts, and I assume you STA WSYNC after that until cycle 76, then you 
hit STA HMOVE, but the store occurs 56 (I think) cycles after the HMPx, 
considered an "illegal HMOVE" as per 
http://www.qotile.net/minidig/code/hmove.txt which will cause some weird 
behavior with certain values of HMPx.

Putting in the NOP adds two cycles, making the HMOVE occur 54 cycles away, a 
legal HMOVE, fixing the problem.  So either use the NOP, or the no-table 
code.  If you're doing this outside the kernel, I'd definitely use the no 
table code, as it does essentially the same thing but uses 6 fewer bytes.


Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://stella.biglist.com

Current Thread