|
|||||||||||||||||||||||||||||||||||||||||||
|
Depuis que mon cher Amiga 2000 s'est vu greffer une ROM 3.1 pas plus tard qu'hier, je me suis retrouvé avec deux vieilles ROM 1.3 et 2.05 sur les bras et un problème cornélien à résoudre : que faire pour pouvoir continuer à passer d'un système à l'autre, sans faire appel à un double ou triple changeur de Kickstart, denrée devenue rare de nos jours ? ROM et EPROM L'idée m'est venue de la ROM 3.1 elle-même. Était-ce une ROM de présérie de feu Commodore ? Ce n'était pas une vraie ROM mais une EPROM AMD de type AM27C400, qui est une 4 Mbits x16. Une ROM (Read Only Memory) est une mémoire que par définition on ne peut que lire ; pas possible d'écrire dessus. En outre, son contenu est "grillé" en usine lors de la fabrication, le rendant inaltérable. Les ROM ne sont donc ni effaçables ni reprogrammables par l'utilisateur. A l'inverse, une EPROM (UV Erasable Read Only Memory) est une mémoire que l'on peut programmer à l'envie, pour peu qu'on l'efface avant reprogrammation en appliquant une lumière ultraviolette sur la petite fenêtre en quartz qu'elle comporte. De fait, son contenu peut être modifié, au contraire d'une ROM. Une EPROM est donc une mémoire effaçable et reprogrammable, particulièrement utile en cours de développement puisque réutilisable, mais de coût élevé. Une ROM, elle, voit son contenu figé une bonne fois pour toutes lors de sa fabrication, lorsque le développement du Kickstart est mûr et prêt à être installé dans les machines, mais de coût modique une fois fabriquée en grande série. D'où ma question concernant cette ROM 3.1, qui est en fait une EPROM que Commodore a dû acheter en nombre pour ses premiers prototypes de Kickstart 3.1. Chance pour moi donc : tout le monde pensait jusqu'à présent que les ROM de Commodore étaient conçues exprès pour l'Amiga, donc possédant un brochage hétéroclite incompatible avec tout autre type de mémoire reprogrammable (EPROM, EEPROM...) du commerce. Cette "ROM-EPROM" nous prouve le contraire, car ce circuit de marque AMD est tout ce qu'il y a de plus standard : on peut donc acheter des EPROM vierges et ainsi copier des ROM Kickstart ! Deux ou quatre ROM en une Pour faire des essais, j'ai essayé vainement de me procurer cette EPROM : peine perdue, elle n'est plus fabriquée ! De plus, c'est une EPROM un peu spéciale dont les données sont lues sur 16 bits (68000 oblige) et non pas sur 8 bits comme l'écrasante majorité des EPROM du commerce. Il me fallait donc trouver un modèle équivalent pour mes tests, et je suis tombé sur les EPROM 8 Mbits (M27C800) et 16 Mbits (M27C160) de marque SGS-Thomson, strictement compatibles broche à broche avec l'EPROM AMD 4 Mbits, et possédant également un bus de données sur 16 bits. Leur avantage supplémentaire était leur taille : deux ou quatre fois supérieure à la ROM Kickstart que j'avais en main. Pourquoi donc ne pas caser deux ou quatre ROM Kickstart dans un seul circuit ? Plus besoin de changeur de Kickstart, puis toutes les données sont sur une unique puce enfichée dans le support de la ROM d'origine. En utilisant de telles EPROM, copier les ROM Kickstart déjà en votre possession devient possible, pour les réunir dans une seule et même EPROM comme décrit ci-après, en gardant précieusement dans un coin vos vieilles ROM Kickstart dont la possession atteste de la licence dont vous vous êtes acquittés en les achetant. C'est un peu comme l'utilisation de ROM Macintosh pour un émulateur A-Max : gardez le Mac d'où elles proviennent ! Concept La seule différence entre ces EPROM 8 Mbits et 16 Mbits et la ROM Kickstart d'origine est qu'elles comportent soit une (8 Mbits) soit deux (16 Mbits) lignes d'adresses supplémentaires : A18 et A19. L'Amiga, lui, n'en a cure : elle ne gère que les adresses A1..A17, soit une ROM de 512 ko (4 Mbits) maximum. Les dernières révisions d'Amiga 500, A500+ rev. 8A, semblent avoir été prévues d'origine pour des ROM de taille plus importante, puisque le support de la ROM comporte 42 broches au lieu des 40 habituelles. Il nous suffit donc de sélectionner, à l'aide des signaux A18 et A19, une "banque" de 4 Mbits parmi les deux (8 Mbits) ou quatre (16 Mbits) disponibles dans l'EPROM, et le tour est joué : l'Amiga démarre sur cette ROM Kickstart logée (programmée) dans cette "banque". Réalisation Outre l'EPROM elle-même, très peu de matériel suffit :
Couper ensuite presque à ras les quatre pattes de chaque côté sous le support : les trois précédentes (libres) et A18 (= broche 4, côté gauche) ou A19 (= broche 45, côté droit, 16 Mbits uniquement). De cette façon, il reste 40 broches qui "dépassent" de dessous le support, plus 8 coupées : deux (une de chaque côté) qui reçoivent A18 et A19, et six (trois de chaque côté) en l'air pour l'instant. Travailler maintenant côté face ("pattes") du support, par en dessous. Les diverses soudures à effectuer ci-après sur les broches A18 et A19 se feront sur la patte métallique (déjà coupée presque à ras). Les soudures sur les pattes VCC et VPP se feront le plus près possible du plastique du support : trop bas sur la patte, celle-ci refuserait de s'enficher sur le support de la ROM d'origine. Relier donc, avec une queue de résistance, la broche 1 de l'EPROM (A18 = broche 4 du support) avec ses deux voisines supérieures immédiates (broches 2 et 3 du support). A n'importe laquelle de ces trois broches, désormais interconnectées, souder une résistance de 4,7 K dont l'autre extrémité est reliée par un fil fin à la broche 22 de l'EPROM (VCC = broche 25 du support !) à l'autre bout de l'EPROM. Répéter l'opération ci-dessus pour la broche 2 de l'EPROM (A19 = broche 45 du support) de l'autre côté. Seules les broches 1 et 48 du support restent donc encore non connectées : souder une queue de résistance à ces deux broches (en travers du support) puis à la broche 12 de l'EPROM (VSS = broche 15 du support !) par un fil fin. Les fils fins et les pattes des résistances peuvent passer en sandwich dans l'interstice entre le boîtier de l'EPROM et son support : de cette façon, on ne peut pas directement les toucher ni les casser lors de la manipulation de l'EPROM. Mieux, déposer une goutte de colle type "super-glu" sur les fils pour les immobiliser définitivement contre le plastique du support. Enfin, enfoncer côté pile (trous) du support, dans les deux trous supérieurs de chaque côté, deux picots coupés d'une barrette sécable, qui recevront les cavaliers pour S1 et S2. Les souder à demeure. C'est tout ! La manipulation paraît compliquée, alors que 10 minutes et un peu de minutie suffisent. Programmation Maintenant que l'EPROM est sur son support, il reste encore à "recopier" chacune des ROM Kickstart dans chacune des banques de 4 Mbits de l'EPROM. Pour ce faire, il vous faudra trouver un programmateur d'EPROM qui sache programmer l'AMD AM27C400 (4 Mbits x16). Procéder, pour chacune des deux (8 Mbits) ou quatre (16 Mbits) ROM de la façon suivante :
Seul l'A500+ rev.8A possède un support "long" 42 broches (Cf. paragraphe "Concept") dont les deux broches extrêmes vers la broche 1 sont inutilisées : les 40 broches restantes reçoivent l'EPROM. C'est à cet effet que je vous ai fait couper les broches 4 (=A18, broche 1 de l'EPROM) et 45 (=A19, broche 42 de l'EPROM) du support, pour éviter toute connexion indésirable. Configuration Soit vous changez peu souvent le Kickstart de démarrage, auquel cas l'emploi de cavaliers est plus pratique mais oblige à enlever le couvercle et trifouiller les entrailles de I'Amiga à chaque changement. Soit vous en changez souvent (notamment pour jouer à de vieux jeux qui n'aiment résolument pas le Kickstart 3.1) et il vaut mieux alors utiliser des petits interrupteurs rapportés en face avant, que l'on peut manipuler facilement. Remarque importante : tout changement dans la position de S1 et S2 se répercute en temps réel sur l'EPROM, et l'Amiga n'aimera pas du tout changer de Kickstart en cours d'utilisation ! Il faut donc effectuer une réinitialisation (Ctrl-A-A) et pendant que l'écran est noir, changer immédiatement la position de S1 et S2. Si l'Amiga s'est planté, c'est qu'il a commencé à démarrer avec un Kickstart puis s'est vu couper l'herbe sous le pied en plein milieu ; refaire alors une réinitialisation salutaire. L'électronique nécessaire à synchroniser ce changement de Kickstart avec la réinitialisation comporte deux ridicules bascules D (74LS74) mais cela compliquerait la réalisation pratique : il faudrait monter ce circuit en "gigogne" sur le support DIL 48, ce qui n'est pas aussi simple. A réserver aux électroniciens plus expérimentés donc. Bon amusement !
|