Mémoire de masseBibliothèque TICE - Sélection d'archives ouvertes EduTice : publications dans les bulletins de l'EPI. | ||||||||||||||||||
SommaireII) Copier : programmes BASIC sur cassette III) Copier : programmes BASIC sur disquette IV) Compatibilité des programmes BASIC V) Acte 1 : copie cassette vers disquette VI) Acte 2 : dé-protection de programmes BASIC VII) Listing de toutes les couleurs VIII) Programme BASIC sur cassette trop long IX) Amélioration des programmes X) Améliorations diverses des programmes BASIC XII) Acte 3 : fichiers binaires | ||||||||||||||||||
Du MO5 au PC Liens MO5.com : Thomson | ||||||||||||||||||
Bidouille du système Thomson
| ||||||||||||||||||
I) Supports magnétiquesActuellement nous pouvons disposer de 8 supports magnétiques différents pour stocker des informations Thomson. Tous ces supports sont logiquement équivalents, mais physiquement incompatibles. Cassette TO7Lentes, peu sûres et difficiles à régler (la cartouche de réglage n'est toujours pas diffusée). Dommage que ce format ait été repris pour les TO8 et TO9. Cassette MO5Plus rapides et moins encombrées d'informations inutiles. Compatibles avec les cassettes MO6 1200 bauds. Cassette MO6 (2400 bauds) :Encore un nouveau format. Est-ce vraiment nécessaire ? Disquettes 5 pouces, simple densitéCompatibles TO7 et MO5, utilisables en LOGO. Capacité insuffisante : 78k. Vendus 3 000 francs il y a deux ans (1984), on trouve actuellement des lecteurs à 990 francs. Disquettes 5 pouces, double densitéSpécial Thomson : 2 fois 160 k. Chaque face est considérée comme une disquette séparée. L'ordinateur utilise le drive comme si c'était un double lecteur "0:" et "1:" contenant deux disquettes. Les manipulations pour
retrouver un fichier sont doublées. Le TO9 persiste avec ce système. Il n'a qu'un avantage : lorsque vous plantez (c'est relativement fréquent), vous ne perdez qu'une moitié de disquette ! Disquettes 3 pouces 1/2TO9 et TO8. Les TO7, MO5 et MO6 peuvent les utiliser avec un contrôleur spécial. Peu fiables, simple face sur TO9, double face deux fois 320 k sur TO9+ et les autres appareils. MicrodriveCompatibles TO7, MO5 et TO9+, DOS spécial en mémoire vive, donc incompatibles DOS disquette, TO9 et nanoréseau. Disquettes MS-DOS NanoréseauCompatibles TO7, MO5 et GWBASIC (MS-DOS), mais non compatibles TO9. Le MS-DOS est à ce jour l'avenir de la micro-informatique, Thomson s'en est volontairement exclu et risque de le payer très cher. | ||||||||||||||||||
II) Copier : programmes BASIC sur cassetteDans la légalité, au moins (loi du 3 juillet 1985). Unique copie de sécurité, mais peut-on être sûr avec le DOS Thomson. Catalogue cassette : DIR"CASS:" n'existe pas. Pour repérer les fichiers, on peut :
Ceci permet de vérifier le bon état physique de la bande, sans I/0 erreur. Copier : il n'existe pas plus de BACKUP avec cassette. 2) Utiliser un lecteur de disquettes pour le transfert.
Puis, dans un deuxième temps, de disquette vers cassette :
3) Avec uniquement un magnétophone : charger en mémoire centrale, puis changer de cassette et garer vers la cassette. Pour un transfert mixte MO 5 vers TO 7 ou le contraire, utiliser soit la compatibilité des disquettes, DOS Thomson ou nanoréseau, soit les programmes picoréseau du CNDP. Par exemple : disquette DOS Thomson ou nanoréseau :
Picoréseau : avec un TO 7 (par exemple programme CMO5 du CNDP) : Ou dans l'autre sens : Pour des copies cassette vers disquette, il est commode d'utiliser la cartouche assembleur ou l'ordre COPIER de la gestion de fichiers du TO9. | ||||||||||||||||||
III) Copier : programmes BASIC sur disquette![]() Les cas cassette TO7-cassette MO5 supposent ici l'utilisation d'un TO7 avec le programme CMO5. ![]() | ||||||||||||||||||
IV) Compatibilité des programmes BASICGlobalement les BASICs des trois appareils, du nanoréseau et le GWBASIC (MS-DOS) sont compatibles. Le programmeur devra connaître ces quatre styles et ce qui les distingue, les différences entre TO7 et MO5 et aussi entre DOS et non DOS. Les instructions manquantes sur MO5 sont : – AUTO (uniquement avec le DOS. Ne se trouve pas dans les programmes), Les codes ESC sont différents sauf pour les couleurs de forme saturées,
On espère toujours un DOS MO5 qui, à la place de la tortue graphique DRAW, contiendrait toutes ces instructions. Les instructions manquantes sur TO 7 – Les couleurs 8 à 15 ne sont pas directement utilisables, Compatibilité DOSPar exemple, l'instruction CIRCLE du DOS ou du BASIC 128 peut être remplacée par un simple sous-programme basic, assez lent, ou assembleur (voir Microtom no 2). IF PEEK(0)=32 THEN DKFLG=PEEK(&H6080) ELSE DKFLG=PEEK(&H2080) IF DKFLG THEN CIRCLE(A,B),R ELSE FOR THETA=0 TO 6.3 STEP 0.1:PSET(A+R*COS(THETA),B+R*SIN(THETA)):NEXT THETA Tester le type d'appareil : (ulE-routine GETCH du moniteur)IF PEEK(&HFIAF)=132 THEN MICRO=1 'TO7 Moniteur T9000 IF PEEK(&HFlAF)=32 THEN MICRO=2 'TO7 IF PEEK(&HF1AF)=214 THEN MICRO=10 'TO7-70 IF PEEK(&HFIAF)=95 THEN MICRO=20 'TO8 IF PEEK(&HFIAF)=4 THEN MICRO=50 'TO9 IF PEEK(&HFlAF)=151 THEN MICRO=100 'MO5 IF PEEK(&HFIAF)=223 THEN MICRO=200 'MO6 Écrire le type de TO7 :IF PEEK(0)<>32 AND PEEK(7)<>77 THEN PRINT"ce n'est pas un TO7":GOTO … IF PEEK(&H65AC)=&H7F THEN MICRO=I: PRINT"TO7 8k" IF PEEK(&H65AC)=&HBF THEN MICRO=2: PRINT"TO7 mémoire 16k IF PEEK(&H65AC)=&HDF THEN MICRO=10: PRINT"TO7-70" IF PEEK(&HFlAF)=95 THEN MICRO=20: PRINT"TO8 émulant TO7-70" IF PEEK(&HF1AF)=4 THEN MICRO=50: PRINT"TO9 émulant TO7-70" Signaler une incompatibilité : IF PEEK(0)<>32 THEN PRINT"Programme inadapté au MO5 :modifier ON PEN" :END IF PEEK(0)=32 AND PEEK(7)=49 THEN PRINT"Basic TO9 interdit. Introduire une disquette DOS et charger le Basic TO 7 (no 4). DOS ou nanoréseau :IF PEEK(0)=32 THEN IDDISK!=&HEOOO:DKFLG=&H6080:TRACK=&H6052 ELSE IDDISK!=&HAOOO:DKFLG=&H2080:TRACK=&H2052 IF PEEK(DKFLG)=0 THEN PSTE=O:PRINT"Magnétophone" IF PEEK(IDDISK!)=68 THEN PSTE=-1:PRINT"Disquette DOS Thomson" IF PEEK(IDDISK!)=81 THEN PSTE=-2:PRINT"Micro-drive QDD" IF PEEK(IDDISK!)=82 THEN PSTE=PEEK(TRACK):PRINT"Nanoréseau poste"; PSTE Périphérique par défaut : IF PEEK(0)=32 THEN PERI=&H218D ELSE PERI=&H6200 IF PERI=2 AND DKFLG=-1 THEN PRINT"DEVICE CASS:" IF PERI>127 AND DKFLG=-1 THEN PRINT"lecteur de disquette"; PERI AND 127;":" | ||||||||||||||||||
V) Acte 1 : copie cassette vers disquetteProgrammes BASIC. Pour effectuer une copie de sauvegarde d'une cassette I.P.T. ou la recopier sur disquette voua devez charger le programme avec un simple LOAD"CASS:". Ne pas lancer l'exécution, mais le LISTer. LOAD, RUN au MERGE :Attention au passage du mode d'accès séquentiel (cassette) au mode direct (disquette). Si l'on trouve des instructions de la forme : RUN"" ; LOAD"",R ; RUN"CASS:" ou LOAD"CASS:",R Sur la cassette, le programme suivant va être chargé. Il faut retrouver son nom, PROG2 par exemple, et remplacer dans le premier programme le 200 RUN"" par : 200 LOAD"PROG2",R Et vérifier qu'un ON ERROR blinde l'accès aux disquettes : IF ERL=200 THEN PRINT"Erreur"ERR"au Chargement de PROG2":PRINT"Vérifier la disquette et taper une touche"; R$=INPUT$(1):IF R$=CH R$(3) THEN END ELSE RESUME 200 Erreurs possibles : 61 PP : programme protégé, LOADM : Le programme est un programme machine. Les ennuis commencent (même s erreurs que LOAD). CLEAR : En début de programme toujours remettre en place le haut de la mémoire en testant le type d'appareil : IF PEEK(0)=32 THEN CLEAR 300,&HDFFF ELSE CLEAR 300,&H9FFF CLEAR plus sophistiqué : 10 IF PEEK(0)<>32 THEN CLEAR 300,&H9FFF,0:MICRO=100:GOTO 40 'MO5 20 IF PEEK(7)<77 THEN CLEAR 5000,&HDFFF,0,& HGFFF:MICRO=50:GOTO40 'Basic 128 30 CLEAR 300,PEEK(&H65AC)*256+PEEK(&H65AD)+1,0' divers TO 7 40 … Cette instruction génère souvent les erreurs : OM erreur au chargement d'un programme : soit le programme ne correspond pas à la configuration (présence du DOS), soit un CLEAR antérieur est encore actif. Taper en mode direct: OM ou OS erreur à l'exécution d'un programme : si l'on trouve un ordre CLEAR, vérifier la correspondance avec votre type d'appareil, et éventuellement introduire un CLEAR compatible. "CASS: ", MOTOR ON ou OFF, SKIPF : en général à supprimerParfois remplacer "CASS:" par "0:" en DOS isolé ou "1:" sur nanoréseau. PERIBI$="1:" 200 LOAD PERI$+P$ 10000 IF (ERR=62 OR ERR=134) AND ERL=200 THEN RESUME 11000 11000 LOAD PERIBI$+P$:GOTO 210 | ||||||||||||||||||
Gérer les erreurs : ON ERROR et RESUMETrop de programmes I.P.T. contiennent un ON ERROR appelant un RESUME inconditionnel sans test générant une boucle, sans fin, absurde. Supprimer ces deux instructions dangereuses qui empêchent de retrouver la cause d'erreur. 10 ON ERROR GOTO 1000 1000 RESUME 70 Si le programme contient : 10 ON ERROR GOTO 1000 200 OPEN"I" #1,"FICONJ" 500 OPEN"O",#2,"LPRT:(80)" 1000 PRINT"L'imprimante n'est pas branchée":RESUNE 70 À remplacer, en gérant les accès aux périphériques et en pensant à la compatibilité avec le nanoréseau, par : 20 IF PSTE>0 THEN IM$="SPOO:" ELSE IM$="LPRT:(80) 500 CLOSE#2:OPEN"0",#2,IM$ On peut aussi écrire : 1010 IF ERL=110 THEN PRINT"L'imprimante n'est pas branchée":IM$="SCRN: " : RESUME 500 Ou terminer par : 1100 IF ERR>100 THEN PRINT"Erreur nanoréseau":GOTO 1200 1110 IF ERR>=50 THEN PRINT"Erreur fichier" 1200 PRINT"erreur"ERR"ligne"ERL:END Copie d'écran sur imprimante :Pour les copies d'écran, rendre compatible avec le nanoréseau : 500 IF PSTE>0 THEN PICTURE PRINT ELSE SCREEN PRINT Pour une imprimante Manesman avec TO7: 100 CLEAR,&HDF39:LOADM"GRAFICH" 500 IF PSTE>0 THEN PICTURE PRINT ELSE EXEC &HDF3A PEEK et POKE :En général, les adresses page 0 sont 6000 sur TO7 et 2000 sur MO5, la RAM moniteur est vers E700 sur TO7 et A700 sur MO5 et le haut de la mémoire est 7FFF, BFFF, DFFF suivant les types de TO7 et 9FFF sur MO5. Lorsque l'on trouve des PEEK ou POKE il faut comprendre leur utilité, les rendre compatibles ou les supprimer. Citons deux exemples où TO7 et MO5 n'utilisent pas les mêmes registres : IF PEEK(0)=32 THEN POKE &H6073,1 ELSE POKE &H2019,PEEK(&H2019) OR 8 BUZZER IN IF PEEK(0)=32 THEN POKE &H6073,0 ELSE POKE &H2019,PEEK(&H2019) AND &HF7 Pour les MAJUSCULES écrire : IF PEEK(0)=32 THEN POKE &H2019,PEEK(&H2019) AND 127 ELSE POKE &HE7C3, PEEK(&HE7C3) AND 247'à trouver sur TO9 Et les MINUSCULES : IF PEEK(0)=32 THEN POKE &H2019,PEEK(&H2019) OR 1 ELSE POKE &HE7C3, PEEK(&HE7C3) OR 8 Les couleurs et la mémoire écranOn s'éclate sur TO9 et il est impossible de transférer les programmes spécifiques. Sinon trois choix sont possibles. IF PEEK(0)=32 and PEEK(7)<>49 THEN NBCOUL=8 ELSE NBCOUL=16 COLOR C MOD NBCOUL 3) Pour les demi-teintes placer les sous-programmes suivant : 10 IF PEEK(0)<>32 THEN OI=1 ELSE IF PEEK(7)=49 THEN OI=4 ELSE OI=2-(PEEK(&H65AD)=&HDF) Pour la couleur de forme remplacer COLOR 8+C par GOSUB 2000 2000 ON OI GOTO 2001,2002,2003,2001 2001 COLOR 8+C:RETURN'MO5 ou BASIC 128 2002 COLOR C:RETURN'ancien TO 7 2003 PRINT CHR$(27) CHR$(112+C);:RETURN 'TO 7-70 De même , pour la couleur de fond remplacer COLOR, 8+C par GOSUB 2100 : 2100 ON OI GOTO 2101,2102,2103,2101 2101 COLOR, 8+C: RETURN 2102 COLOR C:RETURN 2103 PRINT CHR$(27) CHR$(120+C);:RETURN Attention, après modification, les couleurs doivent rester cohérentes. Dans un programme I.P.T., l'instruction SCREEN 0,0,0, à remplacer par SCREEN 7,0,0, indique les zones sensibles. Que veut cacher le programmeur ? 10 IF PEEK(O)=32 THEN STAD=&H4000:PRC=&HE7C3 ELSE STAD=O:PRC=&HA7C0 20 AD=STAD+X*8+Y*320 'Groupe de Points Yème ligne Xème colonne 30 POKE AD, FORME 40 POKE PRC,PEEK(PRC) AND 254'sélection banque couleur 50 POKE AD,COULEUR 60 POKE PRC,PEEK(PRC) OR 1 'retour à la forme Sur MO5 le calcul de la couleur est relativement simple : COULEUR=16*CFORXE+CFOND, Sur TO7 il faut se rappeler que le codage a d'abord été fait sur 3 bits puis les demi-teintes ont été rajoutées sur TO7-70 alors que les bits 6 et 7 étaient à 1 : FORME=CFORME AND 7:DEMIFORXE=CFORME AND 8: EMIFORME=1+(DEMIFORME=8) FOND=CFOND AND 7:DEMIFOND=CFOND AND 8:DEMIFOND=1+(DEMIFOND=8) COULEUR=DEMIFOND*128+DEMIFORXE*64+FORME*8+FOND Enregistrement d'imageOn peut manipuler un seul enregistrement de forme TO7 et les couleurs correspondantes aux deux appareils : 10 IF PEEK(0)=32 THEN DECAL=O:PRC=&HE7C3 ELSE DECAL=-&H4000: PRC=&HA7C3 20 LOADM"IMAFORME",DECAL 30 POKE PRC,PEEK(PRC) AND 254 40 IF PEEK(0)=32 THEN LOADM"IMACOUL.TO7" ELSE LOADM "IMACOUL.MO5 50 POKE PRC,PEEK(PRC) OR 1 Sur nanoréseau il est impossible de charger directement l'enregistrement couleur, car le DOS utilise le haut de la mémoire de forme de 1F5D à 1FFF (ou 5F5D…) pour les consignes NET$ et les pointeurs. | ||||||||||||||||||
VI) Acte 2 : dé-protection de programmes BASICUn DRAPEAU : 0=faux lorsque le programme est listable. Protection MO5 : drapeau &H217FL'exécution de LIST passe par l'adresse &H21FB située en RAM et contenant un JUMP en &HC324. En mode direct on ignore le travail fait par le BASIC à partir de cette adresse. Effectuer soit un RTS (retour de sous-programme) Méthode : Petit journal I.P.T. Fourberies de Microtom : Ces méthodes échouent sur certains programmes. Essayer de déplomber avec un TO7, sinon manipulations style TO 9. On peut parfois surmonter ainsi une IO error du magnétophone. Protection TO 7 : drapeau &H61A2On utilise le fait que l'ordre EXEC (RUN programme binaire) n'est pas protégé et que WEND n'est pas utilisé. Protection TO 9 basic 128 : drapeau &X6179Valider les lignes suivantes : Ces manipulations sont assez longues. Utiliser PROTECT que l'on charge avant le programme protégé. Le texte des calculs restant en mémoire écran On retrouve la partie de programme située en banque 1. Travail analogue dans les autres banques pour les programmes de plus de 16 k (en utilisant la banque 1 pour la variante du programme PROTECT). | ||||||||||||||||||
VII) Listing de toutes les couleursUn programme listable, mais l'écran change de couleurs : on trouve des CONSOLE, des ATTRB, etc.
Pour trouver ces codes et les remplacer par un, deux ou trois espaces, MERGEr à la fin du programme les lignes suivantes. (ne pas utiliser le BASIC 128) 60000 DEB=PEEK(DEB)*256+PEEK(DEB+1) 60010 FIN=PEEK(DEB)*256+PEEK(DEB+1) 60020 IF FIN=O THEN END 60030 FOR I=DEB+4 TO FIN-2 60040 IF PEEK(I)=27 THEN POKE I,32:POKE I+1,32 60050 IF PEEK(I)=31 THEN POKE I,32:POKE I+1,32:POKE I+2,32 60060 IF PEEK(I)<31 THEN POKE 1,32 60070 NEXT 60080 DEB=FIN: GOTO 60010 Puis taper RUN 60000 | ||||||||||||||||||
VIII) Programme BASIC sur cassette trop longUn certain nombre de programmes basic utilisent plus de 22 Ko et ne peuvent loger avec le DOS : c'est parfois une forme de protection (exemple : AUTOBAS d'Informatique Pour Tous). Quatre possibilités : | ||||||||||||||||||
IX) Amélioration des programmesÉcranToute utilisation de l'informatique doit viser transparence et confort d'utilisation. CurseurAllumé : LOCATE X,Y,1 ou PRINT CHR$(17); Attribut Accents Ligne 24 : (25e ligne) | ||||||||||||||||||
ClavierL'accès clavier doit être le plus transparent possible : exactement le contraire des programmes Informatique Pour Tous qui commencent par SCREEN 0,0,0:LOCATE 0,0,0 et où il faut taper une touche sans que cela soit précisé. C'est se moquer de nos élèves : pour corriger, avant la boucle INKEY$ écrire un message et initialiser INKEY$ avec un premier INKEY$ fictif. 100 PRINT"Pour commencer taper sur une touche"; Ces deux dernières lignes sont avantageusement remplacées par : R$=INPUT$(1), mais le CNT C n'est plus actif. Bonne occasion de le contrôler et de remettre les attributs en place : Si possible, remplacer INPUT par un sous-programme testant les caractères un par un, permet un contrôle strict, des réponses plus rapides et en numérique évite des « Redo from start », mal compris des élèves. Pour saisir un seul caractère, utiliser INPUT$(1) à la place de INPUT. R$=INPUT$(1) Ne jamais utiliser des INPUT multiples : INPUT A,B. Ne pas demander à l'utilisateur de se mettre en majuscule ou minuscule, mais l'imposer en utilisant par exemple : Éviter les consignes trop strictes de la forme « pour commencer taper sur C », remplacer par « une touche » (quelconque). Précéder toute lecture d'un message. Pour les non-initiés préciser lorsque l'on doit terminer par Entrée: Dire clairement si l'accès est au crayon optique et/ou au clavier. Tester éventuellement les deux possibilités. | ||||||||||||||||||
X) Améliorations diverses des programmesBoucle d'attenteAttention aux longueurs. Un des problèmes de l'informatique, surtout en basic, est la lenteur. Certains programmeurs en rajoute, en abusant du graphisme, en multipliant la musique ou des : FOR I=1 TO 1000 :NEXT. Dans les boucles d'attente, permettre à l'utilisateur, des sorties plus rapides, en testant clavier et/ou crayon optique. Attention la vitesse d'exécution varie en fonction des appareils : Modifier de même les sous-programmes TIME$ de temporisation Michel Oury qui utilise le TIMER du TO7, incompatibles avec les TO9 et MO5. (1/10e de seconde à remplacer par PLAY"L1P") Ordinateur que fais-tu ?Ne pas laisser tourner un programme longtemps sans affichage. Signaler les appels aux périphériques (attention à la sélection par défaut). Faire précéder : RNDLe basic Thomson n'a pas de fonction RANDOMIZE. Pour rendre RND « aléatoire » il n'est pas nécessaire de demander un nombre, mais utiliser après un affichage une boucle INKEY$ : FOR … NEXTEn basic Microsoft il est interdit de sortir d'une boucle sans passer
par l'instruction NEXT Doit être remplacé par : Si la valeur de I est à réutiliser, la ranger dans un drapeau : En BASIC 128 on peut écrire : Analyse d'erreurLorsque vous découvrez une erreur dans un programme, l'écran est souvent sous SCREEN 0,0,0 (loi de l'ennui maximum). SCREEN 7 est à taper en frappe aveugle On doit alors retrouver un message d'erreur : Si vous ne découvrez pas la raison de l'erreur, supprimer du programme les SCREEN 0,0,0, les ON ERROR et contrôlez le CLEAR. | ||||||||||||||||||
XI) Fichiers séquentielsLe programme utilise-t-il des fichiers ? Instructions : - Travaux pratiques 1 : conjugaison I.P.TLa cassette contient : Puis exécuter 3 fois le programme suivant CASDIS en nommant les fichiers FICONJ1,FICONJ2 et FICONJ3. À la fin de la cassette, on trouve : EDCONJUG.BAS programme de création de fichiers. - Travaux pratiques 2 : Invasion des chiffresTransformation d'un petit fichier de données en DATA : Nous obtenons les lignes suivantes que l'on conserve dans la mémoire écran : Nous chargeons le programme INVAS (listable) LOAD"INVAS" Il reste à modifier le programme INVAS : (transformation des INPUT#1 en READ) SAVE"INVAS" ; les vicieux rajoutent P 25 OPEN "O",#2,"LIGNES.BAS" Puis RUN - Travaux pratiques 3 : PromenadePour utiliser les disquettes, recopier le fichier de donnée (RUN 60050 sous-programme se plaçant à la fin de PROMENAD). La section chargement des données peut être modifiée : Le ON ERROR 20000 permet de gérer l'utilisation du fichier INSPRO Un bon exercice de programmation consiste à supprimer complètement ce fichier et à transformer le sous-programme de modifications de données (lignes 7360-7590) en un programme les implantant directement en mémoire, ligne 7640 : suivre le chaînage à partir de 611C ou 2113 puis POKEr les nombres au format de STR$( ). Il possible de supprimer ce fichier et d'implanter directement les GR$ en mémoire Ces lignes sont créées sous forme fichier ASCII : et remplacer la ligne 14 par : 14 GOSUB 30000 puis terminer avec : En système disquette, il est performant d'utiliser un fichier binaire PRONGR.BIN à créer sur TO7-70, par exemple, après le lancement de PROMENAD par : ou plus précisément : On peut retrouver les GR$ par un simple 14 LOADM" PROMGR" | ||||||||||||||||||
XII) Acte 3 : fichiers binairesSouvent les programmes machines ne sont pas compatibles sauf s'ils sont parfaitement translatables et si la correspondance des adresses a été trouvée. C'est souvent difficile, car les moniteurs TO7 et MO5 n'ont pas la même logique : sauts vectorisés sur TO7-TO9, interruptions sur MO5. CopierPour dupliquer des fichiers binaires sur disquettes, le plus simple est d'utiliser l'ordre COPY : LOADM-SAVEMPour une copie utilisant une cassette il faut charger le fichier en mémoire avec l'instruction LOADM et le sauver avec SAVEM. On la trouve aussi à la fin de l'enregistrement : les cinq derniers octets sont FF, 00, 00, ADEXECI ADEXEC2 suivis du reste du buffer précédent. - Première méthodeOn peut DUMPer la cassette ou la disquette (voir programme DUMPCASS ou SCRUTCAS Théophile). - Deuxième méthodePour trouver ADDEB et ADFIN on peut aussi vider la mémoire puis en tester le début et la fin : Avant l'enregistrement du programme binaire on notera dans le chargeur basic ces trois adresses pour éviter de recommencer ce travail. - Travaux pratiques 4 : TennisDans le programme basic ENTETE, on trouve : Le début de l'enregistrement TEN70 est : 00,5E,BO,81,50,20,24,:. Le chargeur BASIC TENNIS s'écrit : Puis changer de bande Pour TO7+16k Pour MO5 : pas de POKE dans le chargeur. SAVEM "TENMO5",&H4150,&HDFFF,&H8500 | ||||||||||||||||||
CONCLUSIONEn espérant que ces quelques trucs plus ou moins faciles vous aideront à comprendre le système. Bien se rappeler que ce qui fait l'intérêt d'un programme est sa documentation. Ne piratez pas : il faut que l'on trouve des logiciels pas chers et de qualité et cesser de payer implicitement pour toutes les copies pirates. | ||||||||||||||||||
Patrice Debart : parcours informatique pédagogique1980-1994 : Responsable de la cellule Création de logiciels du CRDP de Caen : 1984-1994 : Mi-temps responsable académique de télématique 1983 : Achat TO 7 | ||||||||||||||||||
Table des matièresIndex : archives personnelles EPI : Bibliographie EPI : l'informatique en Histoire-Géographie Du MO5 au PC : 25 ans d'informatique pédagogique | ||||||||||||||||||
WikiPédia | ||||||||||||||||||
Téléchargement
Copyright 1986 - © Patrice Debart
|