C68 and IOP.PINF
Posted: Fri Feb 19, 2021 9:23 am
Hi,
to check if the pointer environment is loaded, I try to use Trap #3, D0 key $70 (IOP.PINF) with C68. In priciple, this should be doable with either qdos3() as a general Trap #3 function with D0=$70, D3=0 and A0=0 preset, or directly with iop_pinf() from the C68 library.
But in both cases I get a return (D0) value of -1 (ERR_NC) if the PE is loaded, and -15 (ERR_BP) if not. And D1 which is supposed to hold a four byte ASCII string with the version, contains crap. Not even the same crap for qdos3() and iop_pinf(). Surely not what the PE wants to tell. Also I tried some timeout values (D3) other than 0 to maybe get rid of the ERR_NC, but that didn't help.
I have tried native C68 in the latest and an older version, also the original Jonathan Hudson XTC68. Targets were Minerva on Q68 and Qemulator.
I vaguely remember that qdos3() was buggy at some time, but then at least iop_pinf() should work.
It's likely my own fault as I get older, but I have checked my parameters several times and all seems right. Any idea?
Peter
to check if the pointer environment is loaded, I try to use Trap #3, D0 key $70 (IOP.PINF) with C68. In priciple, this should be doable with either qdos3() as a general Trap #3 function with D0=$70, D3=0 and A0=0 preset, or directly with iop_pinf() from the C68 library.
But in both cases I get a return (D0) value of -1 (ERR_NC) if the PE is loaded, and -15 (ERR_BP) if not. And D1 which is supposed to hold a four byte ASCII string with the version, contains crap. Not even the same crap for qdos3() and iop_pinf(). Surely not what the PE wants to tell. Also I tried some timeout values (D3) other than 0 to maybe get rid of the ERR_NC, but that didn't help.
I have tried native C68 in the latest and an older version, also the original Jonathan Hudson XTC68. Targets were Minerva on Q68 and Qemulator.
I vaguely remember that qdos3() was buggy at some time, but then at least iop_pinf() should work.
It's likely my own fault as I get older, but I have checked my parameters several times and all seems right. Any idea?
Peter