[Coco] "Reading" non-readable bytes with PEEK vs ZBUG
Robert Gault
robert.gault at worldnet.att.net
Thu Jan 24 20:10:14 EST 2008
Darren A. wrote:
><snip>
> --
>
> Robert, I think Roger's point is that the LOADM code in ROM verifies each byte loaded by reading it back from memory after storing it. If the verify fails, LOADM aborts with an I/O error. In the case of the MMU register, if the data loaded from the bin file is $38, it can read back as $78, and the load fails.
>
> This is why I earlier posted the self-patching code that can be inserted at the front of a bin file to modify the operation of LOADM while it is executing.
>
> Darren
>
>
Ah, that makes more sense. There are three approaches for that problem.
1) Make the BEQ in the LOADM routine a BRA (DOS1.1 $D008 DOS1.0 $CF2C).
(Requires knowing whether DOS1.0 or DOS1.1 is present.) 2) LOADM your
own LOADM routine which does not bother with verification. 3) Do what
Roger is doing, use MMU values that will be verified because they match
the floating bit misreads.
A possible problem with 3) is it will use different memory with more
than 512K RAM present.
More information about the Coco
mailing list