Hallo Rhialto, Spiro, Thanks for answering. I know how it generally works, just like the story Rhialto works. Unfortunately I'm a hairsplitter in this case and I need the details. > The original IRQ routine calls $F2B0. At $F2E9 it checks $0020. I don't know > where this variable is intialised. Following both possibilities $F2F9 or > $F99C I have no idea where the JMP instruction at $0600 is executed. > As you see JOBSZP+x ($00+x) is filled with a code. Where is this code > examined and acted upon? The above part describes the part in the code where I stuck. To be exactly: I stuck at $F2E9. After some studying yesterday evening, my intuition says the program resumes at $F2F9. The subroutine at $F393 transforms $E0 into $60 for the variable JOB/$45. At $F3F7 JOB is cheked on #$60, true, so it "execute memory" subroutine at $F36E is called. This routine adds 3 to JOBN/$3F. Remember: > STA JOBSZP+3 ; transmit ^ | JOBN contains the value 3 so the result is 6. This ends up executing the program at $0600. If this is correct, then the main question is: --- What is the initial value of DRVST / $20 as this seems the key of my problem ??? --- For Spiro: > You can read german, don't you? Das solltest du jetzt schon wissen :) > and send the relevant parts, Please do, especially those regarding DRVST. Many thanks. ___ / __|__ / / |_/ Groetjes, Ruud \ \__|_\ \___| http://Ruud.C64.org Message was sent through the cbm-hackers mailing list
Archive generated by hypermail 2.1.1.