Re: [hatari-devel] New version of WinUAE's cpu core

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


Le 24/11/2014 13:01, Troed Sångberg a écrit :
(The space filling nop in region one might be needed to set d0 to 0 if
later code relies upon it of course)

I don't think region two can be solved (it's 7 words, not bytes as I
wrote earlier) in the same amount of code space, which means a proper
solution would need to jump to another part of memory to execute proper
initialization and then back. The only solution that fits in seven words
relies heavily on assumptions about (a0) not being used for subsequent
code, that we're free to abuse the even memory locations (I'm unsure if
that's valid on more modern Ataris) and that uninitialized means zero or
at least a known static value (which is likely not true). That is - the
following is not a real suggestion, it's just what's needed to get code
to fit in the same space. Maybe it helps someone else coming up with
something better.

lea $fffffa26.w,a0
clr.w (a0)+
move.w #$88,(a0)+
addq.w #1,(a0)+
addq.w #5,(a0)
/Troed


Hi

thanks for your examples.

I think it might be possible to find a place in the TOS area were some bytes are unused, this way we could replace the 2nd code by a jsr somewhere in this region, which leaves more space to put a small bit of code. IIRC, the tos performs a checksum of its region, but there's already some patches to set the corresponding variable to "checksum OK" ?


Nicolas



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/