1541-IDE - troubles with interrupt

ruud.baltissen_at_apg.nl
Date: 2009-01-21 08:18:49

Hallo allemaal,


As said I used the extra RAM trick to find out if the BAM sector was
loaded. In this case, no. This meant that the original 1541 routines see
the external RAM in one or another way. So I started to observe BUFTAB
and BUFTAB+1, $99 and $100, very often used to read from/write to
buffers in the form of (BUFTAB,X), ($99,X). My expectation was that
BUFTAB+1 would point to buffer 8, the external RAM that I use for the
BAM. During the copy process buffer 3 was used ($0600) but the very last
moment it switched to buffer 1, $0400. Now the weird thing: buffer 1 was
filled with the BAM. What routine filled this buffer ???

To manipulate the BAM I needed two zeropage address in able to perform
"lda/sta (BamPtr),Y". I took two addresses normally used by the GCR
routines, which I don't need anymore. Observing BamPtr+1 I noticed it
changed from 11 (= buffer 8) to 0. OK, that is not the 4 I expected but
I copy BamPtr+1 to my 7-segments LEDs somewhere in the copy routine. So
it is very good possible that BamPtr+1 contained other values in
between. What ever changed it, it was not any of my routines because I
set it at only one point. I choosed another location for BamPtr and the
same happened.

Not having that much time anymore, I have a family too, I decided to
embed my own routines between SEI and CLI. Bingo, all the copy commands
I gave worked perfect and BamPtr didn't change anymore. The big
question: what is the interrupt doing to my routines, or vica versa,
that causes copy not to work? And why don't I have any problems with
normally loading or saving files?

Next step is to find out if I can isolate the routine that is the
troubleshooter by discarding the inserted SEI/CLI combinations one by
one.

Until the next update....


--
     ___
    / __|__
   / /  |_/     Groetjes, Ruud
   \ \__|_\
    \___|       URL: Ruud.C64.org

 


De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd voor de 
geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken wij u contact op te 
nemen met de afzender per kerende e-mail. Verder verzoeken wij u in dat geval dit 
e-mailbericht te vernietigen en de inhoud ervan aan niemand openbaar te maken. 
Wij aanvaarden geen aansprakelijkheid voor onjuiste, onvolledige dan wel ontijdige 
overbrenging van de inhoud van een verzonden e-mailbericht, noch voor daarbij 
overgebrachte virussen.

APG Algemene Pensioen Groep NV is gevestigd te Heerlen en is ingeschreven in het handelsregister van de Kamer van Koophandel Limburg onder nummer 14099617


The information contained in this e-mail is confidential and may be privileged. 
It may be read, copied and used only by the intended recipient. 
If you have received it in error, please contact the sender immediately by 
return e-mail; please delete in this case the e-mail and do not disclose it's 
contents to any person. We don't accept liability for any errors, omissions, 
delays of receipt or viruses in the contents of this message which arise as a 
result of e-mail transmission.

APG Algemene Pensioen Groep NV is registered in the trade register of the Chamber of Commerce Limburg, The Netherlands, registration number: 14099617



       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail pre-2.1.8.