Kristoffer Eriksson
<5357>
· Text 1224 · w6 · kommentar
1985-08-19 20:18
Ärende: HJÄLP !!!
När man gör INPUT/PRINT/GET/PUT via IO på en diskett-fil har det ingen
annan effekt än att register A sätts till 255 och carry-flaggan blir
sann, vilket signalerar att du får sköta de sakerna själv genom att
skriva/läsa i filens buffert, och använda blockskrivning och -läsning.
Det finns en rutin som fungerar lika på alla enheter (den tar alltså
hand om INPUT osv när det gäller disk-enheter), men det finns inget
enkelt sätt att hitta den. Det går förstås om man letar igenom minnet
på rätt sätt.
Här kommer ett sätt att hitta adressen tillden rutinen. Jag har aldrig
provat den, men fungerar det så bör det göra en del saker mycket enklare.
Jag skriver det här i BASIC. Använd resultatet i variabeln A i stället
för IO. Lägg märke till att det inte är någon idé att ta fram den här
adressen i förväg eftersom den är olika på olika maskiner.
A=PEEK2(33)
A=PEEK2(A+6)
A=PEEK2(A+174)
A=PEEK2(A+25)
A=A+2
Så där!