[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How many variations of Dos 3.3 RWTS are there?



On Friday, March 15, 2013 12:18:16 PM UTC-5, Antoine Vignau wrote:
> If the code is well written, the RWTS is called through a jump to $3D9 with IOB table pointer in A and Y.
> 
> 
> 
> If not, as you wrote, that will be difficult to handle because some may have rewritten the RWTS completely (for instance, in Ultima IV, A and Y registers for the IOB table pointer were swapped)
> 
> 
> 
> What you can try is replace the weird RWTS with a standard one and see if the program loads,
> 
> Antoine

Not a bad idea.  I have a crazy (possibly awesome) idea to use heuristics to detect RWTS behavior within an emulator.  Basically any disk I/O access should result in a traceback to the most recently executed instructions to determine where the entry point is and where the track/sector numbers were located.  There is only so much you can do during the actual disk access but I would expect the entry points and parameter passing to change quite a bit.

If I were to take it to this extreme, I wouldn't do it any time soon though -- I've got way too much else going on to even think about where to start on that.

-B