Login
Back to forumSee the full topicGo to last reply

Posted By

gmontag451
on 2022-08-26
05:10:46
 Re: Plus/4 $FF28 Bug (TEDMON Bug?)

Sorry, emojis apparently truncate your post. Here's the rest:
I just discovered the $FF28 bug the hard way! Two days of sifting through my program looking for mistakes...

This site's Plus/4 Encyclopedia says "The cause needs to be better documented" so I can offer at least my reproducible situation: I load a BASIC program which also has a ML program attached to it. I enter the monitor and assemble a single opcode to the program and exit. When I SAVE or print, locations $3058 and $3059 change to $28 and $FF ($FF28 in LO/HI format, which appear as a left parenthesis and pi in the program listing.)

If I assemble code outside of the protected area following the BASIC program the error does not occur. Additionally making changes to the protected area using the monitor's FILL or > commands, or by a BASIC POKE don't trigger the bug. So it seems that the issue has something to do with using the Assembler on code which resides within the area claimed by the program listing.

The Encyclopedia says that the bug occurs when saving files, but I can confirm it also happens when printing. Possibly any serial access will trigger it, although there may be other triggers as well.

As explained in the encyclopedia, typing > 79 00 before exiting the monitor will prevent the issue. The BASIC equivalent of POKE 121,0 also works.

Does a similar issue exist with the C16 or C128 since they both also use TEDMON? I wonder if there are any replacement ROMS such as JiffyDOS which correct this bug?


The Encyclopedia entry



Back to top


Copyright © Plus/4 World Team, 2001-2024. Support Plus/4 World on Patreon