Tag: ceomag164

  • Visitons la Rom Monitoring (7e et dernière partie)

    Paru mag 164 page 6 https://www.oric.org/ceomag_download/index.php?action=&id=&exppath=/2003/ceomag/12_december

    par André C. et Claude S.Z

    Partie finale de la Rom (en FFC7-FFFF).a)

    Table de conversion Clavier/Ascii FFC7: 10 4C La touche ‘L’ de caractère Ascii normal #4C devient #10 normalement inutilisé (CTRL/P qui inverse le b2 de 026A). Le seul effet visible en pratique est qu’après un CTRL/T (mode minuscules) l’appui sur SHIFT+L n’afficherien alors que SHIFT+K par exemple affiche bien un ‘K’. Cette différence avec la Rom v1.1 ressemble bien à une bogue. Modification des vecteurs d’interruption

    b) Le vecteur d’interruption NMI, situé en FFFA-FFFB envoie normalement à l’adresse 0247 où se trouve l’adresse de la routine F8B2 (Warm Start qui correspond aussi aubouton Reset). Maintenant le détour par la page 2 a été supprimé : Le vecteur envoie directement en F8B2, supprimant ainsi tout détournement ou inhibition de ce Reset. En FFFA-FFFB les octets 4702 ont été remplacés par B2F8.c) Le vecteur d’interruption de Reset Système, situé en FFFC-FFFD renvoie normalement à l’adresse F88F où se trouve la routine Cold Start.

    Maintenant il envoie en F89A où se trouve la nouvelle routine simplifiée.En FFFC-FFFD les octets 8FF8 ont été remplacés par 9AF8.d) Le vecteur d’interruption IRQ, situé en FFFE-FFFF envoie normalement à l’adresse 0244 où se trouve celle de la routine EE22. Maintenant le détour par la page 2 a été supprimé : Le vecteur envoie directement en EE22, supprimant ainsi tout détournement. En FFFE-FFFF les octets 4402 ont été remplacés par 22EE. Le même type de prévention a été appliqué en C4B 4(001A, imprimer chaîne AY), C5E8 (023B, prendre un caractère au clavier), CCF4 (023E, vecteur imprimante), EE31 (024A, retour IRQ), F907 (0238, afficher caractère) et FA0 1 (0238, afficher caractère). BANC D’ESSAI A l’utilisation, cette Rom présente le très grand avantage de permettre une maîtrise quasi complète de la situation.

    Les outils de débogage qui ont été ajoutés (DUMP, DES, HDKMOD, CLEAN, SEARCH, MOVE et MON) font merveille. Et comme ils sont inscrits dans la Rom, ils sont disponible sen permanence. De ce point de vue la Rom Monitoring est un excellent outil de développement. La perte de certains caractères,notamment les minuscules peut être facilement contournée par leur chargement en Ram après le boot. Vous pouvez facilement récupérer le fichier nécessaire en exécutant un SAVE”MINUSC.CHS”,A#B708,E#B770 sur un Oric normal. Mais cette Rom a quand même quelques petits défauts.

    Citons en premier lieu, le non blocage du lancement AUTO lorsqu’il s’agit non plus de développer, mais de transférervos cassettes favorites sur disquette. Certes, on peut utiliser le Reset sous l’Oric et accéder à tout ce qu’il y a en mémoire. Mais ce n’est pas très pratique. Il est vrai que certaines protections reposent sur l’obligation d’exécuter le programme et nous avons fait l’expérience que les Roms ‘qui bloquent tout’ ne sont pas non plus d’un usage universel. Notez aussi que l’exécution d’un programme peut parfois détruire les vecteurs du Dos, rendant impossible la sauvegarde sur disquette… A propos de Dos, la Rom Monitoring n’est malheureusement pas compatible avec Sedoric et il faut se rabattre sur un autre Dos pour sauvegarder son travail. Enfin, l’affichage des adresses de début et de fin est très pratique, notamment parce qu’il se produit à la fin, au moment où il faut appuyer sur le Reset.

    Mais cet affichage présente l’inconvénient de polluer l’écran qui fait partie du programme qu’on cherche à récupérer. Il n’y a pas de solution simple, à part peut-être l’ouverture d’une fenêtre temporaire avec restitution ultérieure de l’écran. Mais cela aurait sans doute fait beaucoup de code à caser dans une Rom déjà pleine comme un oeuf !

    TRANSFERT K7 VERS DISQUETTE

    Si vous avez un problème pour transférer une de vos anciennes K7 sur disquette, nous vous invitons à relire notre article de synthèse paru dans le Ceo-Mag n°138, pages 6 à 9.Au fil de nos articles, nous vous avons parlé de plusieurs Roms susceptibles de vous aider : La Rom ‘Renifleuse’ (Ceo-Mag n°77, pages 3 et 4), dans laquelle les caractères minuscules ont été sacrifiés pour installer une routine qui affiche les adresses de début et de fin de fichier. Un Reset permet ensuite de sauver sur disquette en utilisant les adresses indiquées.La Rom ‘Déplombeuse’ (Ceo-Mag n°139, pages 6 à 8),dans laquelle le démarrage Auto a été neutralisé, ainsi que laroutine de ëvérification’ de la Ram (cette routine écrit des #AA puis des #55 qui écrasent tout), largement utilisée dans nombre de dispositifs ‘anti-copie’.La Rom ‘Suceuse’ (Ceo-Mag n°140, pages 7 à 10), qui a les mêmes propriétés que la ‘Déplombeuse’, mais en plus la commande EDIT a été remplacée par la commande SUCE, capable de lire octet après octet tout ce qu’il y a sur une K7 et de le copier en RAM sans chercher à savoir quoi que ce soit. B’te, mais efficace ! Enfin la Rom ‘Monitoring’ qui a fait l’objet de toute cette série d’articles, tant son contenu était riche.

    CONCLUSION

    Nous nous doutons bien que la plupart d’entre vous ont décroché depuis belle lurette, découragés par cette avalanche de code machine. Portant, le Ceo-Mag n’a pas pour unique but de distraire ses lecteurs. Comme l’ont remarqué beaucoup d’entre vous, le Ceo-Mag c’est la mémoire de l’Oric. Un hommage a été rendu à Jean-Jacques Jung, auteur de la Rom Monitoring. Espérons qu’un jour ou l’autre, certains pourront y puiser l’une ou l’autre des bonnes routines de Jean-Jacques. En attendant, n’hésitez pas à l’utiliser, même sans connaître le détail de ses rouages…

  • Les Chips 65xxx

    http://www.westerndesigncenter.com/

    Cet article est issu du mag 164 juillet page 7 & 8 (2003) : https://www.oric.org/ftp/ceo/ceomag/downloads///2003/ceomag/12_december/164-07-08.pdf

    D’après un e-mail de Fabrice F., rédigé à propos d’une commande groupée.

    – Processeur W65C02S (il tourne jusqu’à 14 Mhz !) : La version CMos du 6502. Moins consommatrice enénergie et jeu d’instruction étendu. Disponible en boîtier carré PLCC 44 broches pour les pros du hard ouen boîtier DIP 40 broches pour rentrer directement dans les Oric.

    – Processeur W65C816S (14 Mhz aussi) : La version 16 bits du 6502. Registres 8 ou 16 bits, modes d’adressages supplémentaires, jeu étendu, 16 Mo adressable, etc. Disponible en boîtier carré PLCC 44 broches pour les pros ou en boîtier DIP 40 broches. Mais attention, le brochage n’est pas complètement compatible avec l’Oric ! Si quelqu’un sait comment modifier l’Oric pour qu’il accepte un 65816, pensez à moi : J’en commande quelques-uns uns au cas où j’en fusillerais pendant mes essais !

    – Microcontrôleur W65C134S (8 MHz): Contient un W65C02S, plus 4Ko de Rom, 192 octets de Ram, 4timers 16 bits, 56 broches d’entrées-sorties, interface bus série, interface série asynchrone, contrôleurd ‘interruptions, chien de garde, signaux de sélection de boîtiers externes… Disponible en boîtier carré PLCC 68 broches pour les pros ou en boîtier QFP 80 broches pour les super-pros…

    – Microcontrôleur W65C265S (8 MHz): Contient un W65C816S (16 bits), plus 8Ko de rom, 576 octets de Ram, 64 broches d’entrées-sorties, 2 générateurs de son, 8 timers 16 bits, 4 interfaces série asynchrones,contrôleur d’interruptions, chien de garde, signaux de sélection de boîtiers externes… Disponible en boîtier carré PLCC 84 broches pour les pros ou en boîtier QFP 100 broches pour les super-pros…

    VIA W65C22S (il marche jusqu’à 10 MHz): La version CMOS du VIA 6522. Disponible en boîtier carré PLCC 44 broches ou en boîtier DIP 40 broches pour entrer directement dans les Oric.

  • Carte contrôleur Microdisc et Eprom 2764

    Cet article est issu du mag 164 juillet page 7 & 8 (2003) : https://www.oric.org/ftp/ceo/ceomag/downloads/2003/ceomag/12_december/164-07-08.pdf

    De Luc B. : J’ai décidé de me lancer dans la réalisation du contrôleur de disquette et suis preneur du plan du circuit imprimé.

    Réponse de André C. : Tu as bien-s ̊r vu les superbes articles deThierry dans le Ceo-Mag. Je t’encourage à lui écrire. Il aide déjà quelqu’un d’autre à réaliser une carte contrôleur. Et comme vous ‘tes tous les deux des gens sympas, je pense que vous allez vous entendre facilement. Je ne sais pas quelles facilités tu as pour réaliser un circuit imprimé à partir de ses tympons. Tu peux voir ça avec lui. En cas de besoin, j’ai une copie de ces typons: le fichier fait 1Mo et je pourrais te l’envoyer soit par la poste soit par e-mail. Pour la Rom de la carte contrôleur, je pourrais te la ́ shooter ª, mais je n’en ai pas d’avance. Il est encore possible de trouver dans le commerce des 2764 et des 27C64. Je crois que Thierry a utilisé une 27C64 et qu’il a eu quelques difficultés. Demande-lui s’il a essayé une 2764 avec son prototype. En principe cela devrait ‘tre mieux,car sa carte est une copie de la carte Microdisc d’origine qui utilise une 2764. Mais il a peut-être modifié quelques réglages pour utiliser sa 27C64. Dans mon contrôleur Microdisc, les 27C64 ne marchent pas,c’est pourquoi je pense qu’il a adapté quelque chose. Pour l’Eprom 2764, plutôt que d’en acheter uneneuve (dans les 30F et difficile à trouver), regarde si dans ton coin il n’y a pas un magasin d’occasion informatique ou un réparateur. Tu pourras probablement en trouver pour une bouchée de pain, car cela n’intéresse plus personne.

    Réponse de Thierry B. : Ok pour vous faire profiter de monexpérience sur la réalisation de la carte contrôleur :

    1) Je confirme qu’il s’agit d’une réplique de la carte contrôleur Microdisc mais sur un circuit imprimé simplifié donc réalisable par tout amateur en électronique.

    2) Luc, je peux t’adresser mes typons originaux si tu as du matériel pour insoler des plaques pré-sensibilisées.

    3) J’ai utilisé une 27C64-200 donc temps d’accès 200ns avec ma carte. J’ai ajusté quelques composants,tout cela est détaillé dans l’article publié dans le Ceo-Mag.

    4) Je n’ai pas essayé une vraie 2764. Effectivement cela devrait mieux marcher.

    5) Mais si on ne peut pas utiliser de 27C64, on doit pouvoir utiliser une 27C128-200 ou 27C256-200…

    Suite de Thierry [à propos de la nécessité d’utiliser un Amplibus avec sa carte équipée d’un 27C64] : Ma carte contrôleur fonctionne bien avec l’Amplibus simplifié, mais seulement lorsque le signal Phi2 n’est pas amplifié ! Lorsque Phi2 est amplifié, il est parasité. Je suppose qu’il s’agit d’un problème électromagnétique lié à la conception de la carte mais je n’ai pas eu le temps d’étudier le problème. Ma carte contrôleur fonctionne avec tous mes Oric, d’origine ou améliorés.

    Nouveau problème d’André : Je viens de tenter de transformer une carte contrôleur Microdisc en carte contrôleur Cumana (pour voir si c’est possible et comment Áa marche). Pour ce faire, j’ai shooté le fichier Cumana.rom distribué avec Euphoric dans une 27C64. Dans les Microdisc il y a des 2764, mais j’avais seulement une 27C64 CMOS sous la main. Résultat, j’ai réussi à booter une disquette Cumana une foispar hasard au premier essai et plus jamais par la suite, même avec un Amplibus. Et c’est un coup de pot, sinon, j’aurais pensé que c’était une idée merdique! Comme je sub-odorais que ça devait marcher et que d’autre part mon Jasmin 2 ne boote qu’avec un seul de mes Atmos et pas avec les autres, j’ai été chercher cet Atmos et j’ai testé. Ca marche dans 80% des cas. Fabrice a tourné plusieurs fois autour de l’idée depondre une nouvelle version de l’Eprom de la carte contrôleur du Microdisc, pour en corriger les bogues et la rendre compatible avec tous systèmes Oric. Que ferons-nous sans 2764 ?

    Le point de vue de Fabrice F. : Je pense que les problèmes de compatibilité rencontrés entre certains Oric et certains Microdisc viennent essentiellement du mécanisme utilisé pour s’accommoder des temps d’accès des vieilles Eproms (j’ai aussi rencontré des cartes mères Oric modifiées bizarrement pour amplifier le signal Phi2 et qui posaient problème). Je voudrais insister sur ce problème de temps d’accès : les Eproms 2764 utilisées à l’époque étaient particulièrement lentes. Celle qui équipe mon microdisc est à 450ns !. Si l’Oric avait une horloge équilibrée, c’est à dire des créneaux haut et bas de 500ns chacun, ça pourrait passer (tout juste)… Mais vous savez que l’horloge de l’Oric estrépartie différemment de sorte que l’Ula ait la Ram à sa disposition pendant les 2/3 du temps, et le Cpu pendant le 1/3 restant. Ce qui veut dire que le créneau de l’horloge qui donne l’usage du bus au Cpu ne Carte contrôleur Microdisc et Eprom 2764 Par Fabrice F., Thierry B., Luc B. et André C.8dure que 330ns environ… Du coup, les concepteurs du Microdisc ont construit un signal Phi2 décalé de façon à anticiper les accès à l’Eprom ! C’est le décalage de ce signal qui est délicat : Il peut facilement déborder sur l’utilisation du bus par l’Ula (sur le créneau d’avant ou sur le créneau suivant… d’o ̆ collision)ou n’être pas assez décalé pour donner suffisamment de temps à l’Eprom. Lorsque j’avais utilisé une eprom 16Ko dans un Microdisc pour y installer un Telemon modifié, il avait fallu que j’ajuste la résistance variable si je me souviens bien… Mais en plus, le décalage ne dépend pas que du temps d’accès de l’Eprom utilisée : Lorsque j’ai fait des essais avec des processeurs 65C02 certifiés pour marcher à 2, 3 et 4 MHz, je n’ai pas réussi à ajuster la résistance variable pour faire marcher le Microdisc avec le Cpu certifié 4 MHz. Tout ça parce que même en ayant un signal d’horloge d’entrée qui reste toujours le même (Phi1), les temps des créneaux de l’horloge Phi2 changent en fonction du processeur (c’est lui qui fabrique ce signal). Bref, pas glop… Thierry, à mon avis, il serait bon de supprimer ce circuit d’avance d’horloge dans ta nouvelle carte contrôleur, maintenant que les Eproms ont des temps d’accès de 250ns dans le piredes cas (et plus couramment 200, 150 ou 120ns ou même moins sur des grosses capacités) : La carte serait beaucoup plus simple et s’accommoderait mieux des différents processeurs et des différentes Eproms…C’était ma contribution à 2 centimes (d’euros) 🙂

    Réponse d’André : Fabrice, j’espère que tu peux attendre un peu pour tes 2 centimes d’euros. Pas cher d’ailleurs l’avis de l’expert, mais chut, il risque d’augmenter ses tarifs… Nous avons tendance à ne pas assez prendre en compte le genre de considérations, que tu as judicieusement rappelé. D’ailleurs, je crois me souvenir qu’il existe différentes manières d’amplifier Phi2 et que selon le dispositif utilisé on introduit un décalage différent dans le signal. Comme il est difficile de remonter le temps perdu, il me semble que la carte contrôleur se cale sur le créneau suivant, c’est à dire retarde jusqu’à la période suivante (rôle deRV1). Sachant que les SAV ont bricolé de toutes les manières les cartes mères pour qu’elles ́acceptentªle Microdisc (lui-même aussi bricolé), il n’est pas étonnant d’une part que certains ́couplesª dépareillés ne marchent pas (et comment retrouver l’ancien conjoint?) et d’autre part que le changement d’une ancienne Eprom pour une plus rapide entraîne à nouveau des problèmes trop difficiles à résoudre avec RV1 [et tu as également raison pour les problèmes liés au changement de microprocesseur]. Pour l’Eprom 16K que tuavais mis dans ton Microdisc, si tu ne l’as pas ́recycléeª, peux-tu regarder si c’était une 27128 ou un e27C128? J’ai vérifié de mon coté et mon Eprom marquée ́Bicedisª que j’avais shootée avec ton fichier pour faire cohabiter le Microdisc avec un émulateur de Telestrat sur Atmos (avec bascule entre Microdisc classique et émulation Telestrat par interrupteurs) est une 27C256 à 200ms. Et ça marchait