[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