La routine de protection pour l'original disquette est vraiment bizarre, il y a plusieurs bouts non utilisés et notamment le test de la protection.
Dans le code Basic nous avons le droit par exemple :
400 POKE &9015,&66:CALL &9000,329 -> 329=&0149 = Lecture piste 1, secteur &49 (ou &48 ça dépend du programme mais contenu identique pour les 2 secteurs)
420 POKE &9015,&4E:CALL &9000,577 -> 577=&0241 = Ecriture en Piste 2, secteur &41
Le code ASM :
#9000 : DD 7E 00......LD A,(IX+&00)
#9003 : DD 56 01......LD D,(IX+&01)
#9006 : 1E 00.........LD E,&00
#9008 : 21 00 93......LD HL,&9300 ; adresse &9300
#900B : F5............PUSH AF
#900C : 0E 07.........LD C,&07 ; ROM 7
#900E : CD 0F B9......CALL &B90F ; sélectionne la ROM 7 (AMSDOS)
#9011 : F1............POP AF
#9012 : C5............PUSH BC
#9013 : 4F............LD C,A
#9014 : CD 66 C6......CALL &C666 ; CALL &C666 (lecture) ou CALL &C64E (écriture)
#9017 : C1............POP BC
#9018 : CD 18 B9......CALL &B918 ; sélectionne la ROM précédemment sélectionnée
#901B : C9............RET
;test protection (non utilisé)
#901C : 3A 00 93......LD A,(&9300) ; Met dans A, la valeur en &9300
#901F : FE 2C.........CP &2C ; est-ce qu'on a &2C ?
#9021 : C8............RET Z ; OUI, alors RETOUR
#9022 : C7............RST &00 ; NON, alors RESET