Le code est absolument relogeable, mais il ne fonctionne qu'en page 0 (POKE &5800,0). Il s'adapte au PC-1500/PC-2 et PC-1500A.
Il s'appelle par CALL et contrôle ses arguments. La syntaxe est:
var$="sssseeee>dddd" pour une copie de la zone ssss à eeee-1 en page 0 à la zone dddd en page 1.
de même, var$="sssseeee<dddd" fera la copie de ssss à eeee-1 en page 1 à la zone dddd en page 0.
Le symbole > indique une copie de page 0 vers page 1, tandis que < indique une copie de page 1 vers page 0.
L'adresse spécifiée par eeee est l'adresse de fin+1 octet. Donc pour la valeur &0100 copiera jusqu'à l'adresse &00FF.
Par exemple, on suppose le programme de copie est installé en &2F00, pour copier de l'adresse &00C5 à &00FF depuis la page vers l'adresse &2C80 en page 1, faire:
Code : Tout sélectionner
E$="00C50100>2C80"
CALL &2F00,E$Code : Tout sélectionner
A$="2ADA2C77<1854"
CALL &2F00,A$Et maintenant le programme:
Code : Tout sélectionner
FD 1A FD 1A FD 98 C3 E4 B7 10 8B 03 68 10 E0 BE
ED 95 83 03 68 24 E0 28 BE ED 95 91 09 2A FD A8
BE ED 95 91 11 28 BE ED 95 91 17 2A FD A8 45 B7
3C 8B 04 B7 3E C9 E4 B9 02 D5 AE 78 01 B5 10 F9
A3 78 64 AE 78 00 BE ED 95 91 37 28 BE ED 95 91
3D 2A FD A8 B5 4D FD 58 FD CA 58 7B 5A 10 6A 36
F5 88 03 FD 1A FD 2A FD 0A 24 FB 00 2A A4 80 28
FD BE FD A8 A4 89 04 6E A0 81 02 6A A0 62 24 FD
C8 28 BE 7B 10 FD 8A B7 9F 89 10 FD 2A 24 FB B1
A0 2A A4 B1 00 28 99 26 26 99 29 FD 2A BE D0 2B
FD 1A FD 81 E2
FD 98 A5 78 00 18 A5 78 01 BD 01 1A 34 1E 58 7B
5A 60 F5 88 03 FD 1A FD 88 A5 78 00 08 A5 78 01
0A 34 0E A4 2A 48 7B 4A 60 F5 88 03 A5 78 00 08
4A 00 34 0E FD 0A 9AJe ne suis pas responsable en cas de perte de données ou de programmes ou de dommages éventuels subis par l'utilisation de ce programme !
Messieurs, à vos copies !
Edit: Bug de trouvé si la taille de la zone est comprise entre 160 et 255 octets.
Edit: Version avec les interruptions désactivées pendant la copie en pages commutées.



