Date : Fri, 05 Feb 2016 17:35:50 +0000
From : jgh@... (J.G.Harston)
Subject: Emulation
Steve Fewell wrote:
> It looks like &0356 should contain values between 0 and 4. In your
> code fragment (below), 0 would JMP to &CC02, 1 would JMP to &CC32, 2
> would JMP to &CC7A, 3 would JMP to &CC92 and 4 would JMP to &CCE6
> So a value of &0E definitely seems incorrect to me.
That makes me suspect that:
CB64 LDY &C440,X ;screen display memory index table
CB67 STY &0356 ;memory map type
is wrong, that the emulation of LDY abs,X is wrong. Supported by earlier
code being:
CB54 LDA #&07 ;else A=7
CB56 ASL ;A=A*2
CB57 TAY ;Y=A
so Y=&0E at that point. If LDY abs,X is being implemented as LDX abs,X
then &0356 is being set to &0E instead of the memory map type.
--
J.G.Harston - jgh@... - mdfs.net/jgh