+InsaneMultitasker Posted August 24, 2020 Share Posted August 24, 2020 1 hour ago, retroclouds said: ok, I solved this stupid, stupid bug that took me too much time ? The problem was that R15 did not contain >8C02 at the time the TI-Disk Controller DSR was entered. >8C02 is the VDP port address. Might be a check to add to classic99; verify that R15 contains value >8C02 when the TI Disk Controller is entered That brings back memories. When I adapted Jeff Brown's interrupt method in TIMXT terminal emulator, I encountered the same gotcha. Within the DSRLNK routine, I added code to save R15 and change its contents to >8C02 prior to calling the ROM routine; afterwards I restored R15. What I didn't see you mention is that the workspace in question is GPLWS >83E0. The standard DSRLNK routines have their own workspace however, they use a LWPI >83E0 just before entering routine in ROM. Depending on the calling workspace and version of DSRLNK, you may also find other values munged, including R14 and/or R13. 2 Quote Link to comment Share on other sites More sharing options...
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.