kieranhj wrote: ↑March 31st, 2018, 10:00 pm
Thank you for providing the save state - this was very helpful. I have identified a memory scribble which comes down to an error I made whilst porting the shakeloose function in topctrl.asm. The original code uses the same label names to identify variables and functions in places, using the syntax of the particular Apple II assembler Jordan used. My assembler does not permit that but I missed this occurance so the two have been confused, thus writing over the function in some cases.
(I guess "scribble" means an accidental overwrite?)
I think I found what you mean:
The jarabove function:
Apple II:
https://github.com/kieranhj/pop-beeb/bl ... RL.S#L1284
BBC:
https://github.com/kieranhj/pop-beeb/bl ... .asm#L1504
The jarabove variable:
Apple II:
https://github.com/kieranhj/pop-beeb/bl ... EEQ.S#L471
BBC:
https://github.com/kieranhj/pop-beeb/bl ... r.asm#L196 (commented out)
Interestingly, the "jarabove" label is defined as ".jarabove", but referenced as "bne jarabove", without the dot.
Actually, it seems that all labels and variables are defined with a dot. But defines and macros are definat without it.
EDIT: I see you already fixed this on a new branch:
https://github.com/kieranhj/pop-beeb/co ... 8ce8401f7a
If the colon prefix is not allowed in your assembler, then you could have used some other character instead, instead of just deleting it.
Or maybe you didn't know about the possible name clash before you deleted colons?