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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [stella] bzoneRepos question, Fred Quimby | Thread | Re: [stella] bzoneRepos question, Thomas Jentzsch |
Re: [stella] Attachments in the arc, Russ Perry Jr | Date | Re: [stella] bzoneRepos question, Thomas Jentzsch |
Month |