Now I see why `GFA-DBG.PRG' bombs on start with an exeception. It simply does not have Trap#6 handler installed. I do not understand, as in the manual it declares it uses Trap#6 for internal memory access.

I coded this little routine to install a "hook" on Trap#6 to aid debugging. It is far from perfect, as it does not return in User mode, also return address is not exactly right.

However, `GFA-DBG.PRG' with this handler installed does not bomb on start any longer. I can even run "L" and "D" commands, also "QUIT". Other commands will not work as the handler provides no memory access, it only returns to the caller.

Many thanks.`EasyRider' is excellent. I have disassembled GFA-Debugger with it. Just looking into the code, I do not see the logic yet as Trap#6 seems never installed.

The code makes calls to Malloc/Mfree at various places. At start it requests $2000 bytes, then it smashes register D0, that has the memory base just allocated, with a flag $3F. Than it calls Trap#6 and stores D0=$3F as a reference to this memory block.

I am not able to make much progress, but I have a new observation. I tried to also debug `GFA-DBGA.PRG' which is a companion resident debugger version. And I was surprised to see a TRAP#6 handler installed.

GFA-DBGA.PRG - resident version.png

This gave me a new hope, so I also disassembled `GFA-DBGA.PRG', now trying to compare the results.I am lead to beleive the codes should be almost identical except a few initial branches, in fact they differ a lot more.

Conclusion>>>`GFA-DBG.PRG' - transient version does not install TRAP#6`GFA-DBGA.PRG' - resident version DOES install trap handler

Tomas

You do not have the required permissions to view the files attached to this post.

Comparing both disassemblies further, proved that binaries are corrupt. Furtunately each binary seems corrupt at different place, as the codes are almost identical I can try to patch good parts between them.

Resident debugger version seems corrupt only in one part, while transient one quite many.I enclose disassembly of `GFA-DBGA.PRG' too, so anyone can follow.

gfa-dbga.q.zip

I will then try to re-assemble modified source, what could also come in handy, some kind of monitor program that would allow modifing code while debuging it.

I have patched by hand a portion of `gfa-dbga.q' disassembly, that required some 352 label relocations.That is just a first try, and now I wish to re-assemble back to the executable, so I can test further.I use ER Macro Assembler found on the `EasyRider' disk, altough assembly gives no errors, I am not getting any program generated.

Perhaps I am just missing some command line option?Can anyone please help, perhaps if there is a `handbuch' available somewhere?Many thanks.

Tomas

EasyRider Assembler.png

You do not have the required permissions to view the files attached to this post.

I have now patched `gfa-dbg.prg', transient debugger version, resutling in the binary size same as corrupt original.This is possibly best I could do just by patching between two code variants, and without any reengineering skills.

EDIT image update Jan-12'17Please find updated image, which is almost restored to the original version.