RE: Question about writing to 1541

From: Baltissen, GJPAA (Ruud) (
Date: 2005-04-22 15:40:46

Hallo Spiro,

> Of course it is the end. I am comparing the switching from 
> write to read mode, which is different. Thus, I am not
> comparing apples with pears, but apples with apples. ;-)

OK, I really hope I know what you mean by now :)
The only difference I see is that one switch is done directly and the other
by calling a subroutine. The only two reasons I can think of are that 1)
someone forgot that there existed a routine for this at all and 2) to save
time. But the last argument is contradicted by calling the routine $F5F2 at
$F5D9. This routine takes a lot of time. Another details that strengthens
1): when going through the sources, I encountered several routines that are
only called from one place. It is possible that (one of) the programmer(s)
thought that he/someone else would use it later again.

> They are just there to make sure all 325 (GCR) byte are
> written to the disk. 

The first 69 bytes are written from $FCE9 to $FCF5. 
The next 256 bytes are written from $FCF7 to $FD02. 
Then several $55 bytes are written from $FD04 to $FD10. 
Then a check is done to see if it was the last sector: $FD12 to $FD1C. If it
was not the last sector, the routine branches to $FCB1.
If it was the last sector indeed, then your two BVC's come in view, not

BTW, I have to correct one of my statements: only ONE extra $55 byte is
written after the last sector. The first BVC is the 'acknowledgement' of the
last $55 written by the routine in $FD04/$FD10.

> What I want to say: The "write" routine inside the DC only writes 324
> (GCR) byte (possibly, plus some bits), not all 325 byte. 

I disagree with you as can be seen above.

> From my oversations, IMHO, the 1541 write routine for writing 
> a block is wrong, but it does not do any harm.

IMHO the way you see it is wrong :) No offence meant. It seems that there is
only one solution:


    / __|__
   / /  |_/     Groetjes, Ruud
   \ \__|_\
    \___|       URL:


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.

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 its 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.

       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail pre-2.1.8.