atari.html 0100666 0000000 0000000 00000010034 07111326322 011542 0 ustar root root
L'Atari pour l'an 2000
![]() |
![]() Dernière mise à jour le 25 Mai 2000 Bienvenue
sur le site de Laurent et Sébastien Favard. Nous
vous proposons ici, des programmes en libre téléchargement,
quelques articles techniques et surtout notre projet Jaguar.
Contactez-nousVous pouvez, pour toutes informations ou a propos de ce site, nous contacter aux adresses suivantes:Adresse commune: atari@linux.utc.fr Laurent FAVARD à laurent.favard@libertysurf.fr
|
|||||||||
![]() Le port cartouche ATARI Auteur: Sébastien FAVARD
|
INTRODUCTION
Dans des moments aussi froids,
où la neige tombe jour et nuit sous une tempête sibérienne
et que seul reste allumé votre Atari pour vous réchauffer,
je vais vous narrer quelques contes autour du port cartouche... sujet fort
intéressant, et en même temps assez vieux, puisque beaucoup
de personnes en ont déjà parlé. Cependant, quelques
explications rapides seront nécessaires avant d'attaquer le vif
du sujet, c'est-à-dire la réalisation d'une petite carte
se connectant dessus, facilitant son utilisation. De ce fait, les bidouilleurs
pourront plus rapidement, facilement et pour un coût moins élevé,
créer des cartes d'extensions.....
Le port cartouche est assez
spécial, puisqu'il n'a pas été conçu à
la base pour ajouter d'autres cartes d'extensions, mais plutôt comme
la philosophie Atari XL, d'origine console de jeux, afin de connecter des
cartouches (il porte finalement assez bien son nom :-D ), et notamment
la fameuse cartouche de diagnostic. Cependant, certains périphériques
ont réussi à utiliser ce port, comme par exemple ST Replay,
et profite pleinement de cet accès direct au bus du processeur.
PRESENTATION DU PORT
Le connecteur Atari permet d'enficher des circuits imprimés encartables, c'est-à-dire des cartes possédant une sorte de rangé de grosses pistes, afin de se glisser dans cet étrange connecteur. Il suffit de voir par exemple les cartouches de la Jaguar, ou ceux des XL, pour comprendre tout de suite la nature physique de ces cartes. Cependant, les concepteurs de chez Atari ont choisi un connecteur très rare, puisqu'il ne correspond pas aux différents standards actuels de pas de 2,54 mm ou 3,96 mm (séries 8607, 928, 908, 901...). De ce fait, il est assez difficile de créer une rallonge pour ce port cartouche (cf. ST Mag 121). Voilà donc pour la présentation, passons aux choses sérieuses... Le port cartouche est un connecteur encartable de 40 contacts, offrant une large gamme de signaux : - un bus de données
sur 16 bits ;
Port cartouche de l'Atari vue de face.
PRINCIPES D'UTILISATION
Puisque deux Chip Select
sont générés, et que seul un accès en lecture
est possible, sous peine de voir une magnifique erreur de bus survenir
(oh ! quelles jolies bombes), il suffit d'utiliser une des deux sorties
de décodage comme signal de validation de lecture, et l'autre comme
signal pour l'écriture. De ce fait, vous aurez "une" zone adressable
en lecture/écriture. Bien entendu, cela ne résout pas le
problème d'erreur de bus, mais alors il suffit d'utiliser les 8
bits de poids faibles du bus d'adresses comme bus de données pour
l'écriture et le tour est
Imaginons que
vous désirez envoyer une donnée DATA à un circuit
situé sur votre carte connecté au port cartouche, il suffit
de sélectionner le circuit (CS/ plus éventuellement un décodage
partiel des fils d'adresses A15-A8), puis de connecter les 8 fils
d'adresses faibles à ce circuit, et d'offsetter (pas très
français çà....) l'adresse du circuit suivant la donnée
DATA à transmettre, soit :
exemple en ASM (plus explicite qu'en langage évolué) :
d0.b contient la donnée à écrire avec l'octet haut
de d0.w à 0.
Cette instruction
effectue donc une lecture (donc aucune erreur de bus) à l'adresse
représentant le circuit, mais surtout en utilisant a0, soit l'adresse
identifiant une pseudo écriture. De ce fait, d0 est placé
sur les 8 bits de poids faible du bus d'adresses, puisque son octet fort
(de d0.w) est nul. La donnée peut donc ensuite être traitée
par ce circuit. Bien entendu, d1 ne sert à rien, et contiendra une
valeur absolument inutile puisque ne correspondant à "rien", c'est
pour cela que j'appellerai ce registre dummy. Cependant, j'en vois d'ici
ouvrir de grands yeux, et se dire que cela doit poser un problème
puisque le fil A0 du bus d'adresses de votre CPU préféré
n'existe pas.... Que neni, il suffit simplement de prendre en compte UDS/
et LDS/, finalement tout simplement en utilisant UDS/ comme fil A0 !!!
En effet, si vous accédez à une adresse paire, UDS/ = 0 et
si vous accédez à une adresse impaire, UDS/ = 1... donc ceci
est parfaitement compatible avec A0 ! Par contre, tout accès 16
bits ne pourra parfaitement remplir la tâche désirée,
car UDS/ = 0 et LDS/ = 0, ce qui obligera physiquement votre donnée
DATA à posséder le bit 0 à 0 !!!! même si vous
écrivez 15 par exemple ! De toute façon, cela serait stupide,
puisque votre donnée est sur le bus d'adresses, qui se fiche pertinemment
de connaître la taille utilisée du bus de données (qui
dans ce cas n'est pas utilisé sauf pour remplir
LA CARTE I/O 8 BITS
En fait, elle ne fait pratiquement
rien, mais permet de plus facilement connecter des cartes à votre
Atari, puisqu'elle exerce une sortie sur DB25.
Le principe étant posé, vous pouvez même créer
d'autres cartes, en par exemple, utilisant le bus 16 bits en lecture, ajouter
d'autres fils d'adresses...
|
Voyons la liste du matériel
nécessaire :
- petite perceuse
;
Celle-ci possède un bus de
données d'entrée/sortie sur 8 bits, deux fils d'adresses
et deux signaux de validation de lecture / écriture (cf. les CS/
du port cartouche). D'autre part, une tension d'alimentation +5V est prétiré
et des masses sont proposées un peu partout... En effet, cela permet
de posséder une meilleure isolation entre les signaux, si vous décidez,
par exemple, de mettre un câble d'1m80 entre votre ordinateur et
votre carte électronique ! Ne rigolez pas, mais le kit de Roine
par exemple ne permet pas ce genre de distance, et cela pose d'énormes
SPECIFICATIONS FONCTIONELLES
CIRCUIT IMPRIME
Maintenant terminons sur la liste des composants nécessaires pour réaliser le montage : - un DB25 non
coudé (fiche mâle conseillé pour laisser la fiche femelle
à la carte d'extension) (15 Frs) ;
Soit un coût global de 40
Frs, sans compter le tirage de la carte. Essayez de le faire sur un petit
morceau d'époxy (plaque), car si vous utilisez une carte format
simple Europe par exemple (l'on peut mettre 6 cartes I/O dessus !), le
coût sera d'environ 60 Frs, donc d'un rapport de 10 Frs par carte...
si vous êtes en groupe ;-). Lorsque vous placerez la carte à
l'intérieur du capot, faites suffisamment ressortir la partie connectique
encartable afin que vous puissiez bien l'enficher dans le connecteur port
cartouche ! Sinon, lorsque vous essaierez de fixer cette "clef" sur votre
port d'extension, si vous ne sentez pas beaucoup de résistance lorsque
vous l'enficher, mettez de la soudure sur la partie connectique de la carte
afin que celle-ci soit "écrasée" (pas trop tout de même)
à l'intérieur du connecteur Atari. Ceci évitera une
éventuelle mobilité accidentelle de la carte et donc de causer
un défaut durant son utilisation voire même une erreur de
bus. En fait, cela dépend toujours du type de plaque que vous utiliserez
pour votre tirage, puisque les épaisseurs sont variables.
Pour en revenir au circuit imprimé,
afin de ne pas se tromper de sens pour les circuits intégrés,
il suffit de les souder de façon à ce que leur patte 1 (haut
à gauche des circuits) soit sur la pastille en forme carré
! Pour ce qui est du DB25, enfichez la carte I/O entre les broches du connecteur,
puis souder les. Si la taille de la carte est un peu juste, vous pouvez
mettre des fils afin d'augmenter la distance. De plus, deux vias (percées)
proche de U2 devront être percées comme pour les pastilles
des composants. Alors, il vous faudra mettre un morceau de patte de condensateurs
de votre carte, afin de faire la liaison entre les deux faces (exactement
le même principe que pour les composants, sauf que vous devez mettre
une patte d'un circuit virtuel en fait). D'une fàçon similaire,
mettez un strap (patte de résistance ou condensateur) entre la patte
1 du buffer de droite (U1) et le via juste en dessous près du connecteur
cartouche. Bien entendu, vous serez obliger de souder l'extrémité
du strap sur la patte de votre circuit. Pour terminer, à gauche,
près du connecteur DB25, se situent 10 autres vias nécessaires
pour relier les masses entre elles, donc utilisez de même 10 autres
morceaux de pattes de condensateurs, résistances (ou autres)...
Ceci vous évite de placer des fils entre les broches reliées
à la masse et permet d'éventuelles modifications comme ajout
de fils d'adresses...
Attention, cette image n'est forcément
pas à l'échelle réelle, ce qui vous oblige soit à
refaire le routag( solution pénible), ou alors utilisez un bon logiciel
de dessin, afin de remettre cette image à la taille réelle
(pour l'impression). Il suffit de considérer comme point de repère
des pastilles en rangées verticalles. Alors, débrouillez
vous pour que la distance entre deux centres de pastilles verticales soit
de 2.54mm ! Les pastilles, sur le dessin sont réalisées par
des "carrés" de 3*3 pixels noirs, ce qui vous facilitera la tâche...
Pour toutes questions, vous pouvez
me contacter à mon adresse
e-mail, favard@linux.utc.fr
|
Ajoutez cette page à vos signets
et revenez bientôt ici.
|
![]() ![]() In this page are available
somes free programss with sources codes, in ZIP file format.
Descriptions
ContactYou can contact me at laurent.favard@libertysurf.fr ou atari@linux.utc.fr . |
|
![]() ![]() Ici sont disponibles
mes programmes libre, donc avec codes sources, sous forme de fichiers ZIP.
Descriptions
Contactez-moiVous pouvez me contacter à l'adresse laurent.favard@libertysurf.fr ou atari@linux.utc.fr . |
![]() Le DSP 56001 du Falcon à 50 Mhz Auteur: Sébastien FAVARD
|
INTRODUCTION
Bien que bon nombre de cartes
accélératrices boostent votre Falcon à des fréquences
de plus en plus impressionnantes, beaucoup d'entre nous ne peuvent se permettre
de tels investissements... Je vais vous présenter une petite modification,
fort simple, de votre moineau, pour que son très sympathique DSP
puisse
s'envoler vers des fréquences jusqu'alors jamais atteinte pour un
prix approximatif de moins de
100
Frs...
En effet, votre DSP peut être boosté au delà des 32 MHz, tout au moins à 50 MHz ! (voir par exemple les CENTurbo...). Les performances sont alors accrues en conséquence, puisque par exemple l'utilisation du petit programme Frac! de Brainstorm, démontre que celui-ci effectue (en 16 couleurs) 500 itérations d'une Mandelbrot en 36 secondes, au lieu de 54. Le gain du circuit de traitement du signal est de 56,25% (25 Mips au lieu de 16 Mips) !!! Au niveau de l'intervention à effectuer, celle-ci est extrêmement simple et ne nécessite que 3 soudures sur la carte mère ! Les possesseurs de cartes accélératrices de type Afterburner seront ravis de découvrir, que pour une somme modique, ils peuvent encore accélérer leur machine, afin d'améliorer leurs performances coté DSP, et d'arriver à des puissances de calculs hallucinantes ! Tout d'abord, je tiens à
préciser que bien que l'opération soit extrêmement
simple, je ne peut être tenu responsable d'un quelconque
MATERIELS NECESSAIRES POUR
L'OPERATION
- un fer à souder
avec un peu d'étain (de la soudure) ;
Coût global de l'intervention
Le principal achat est l'oscillateur,
qui coûte de l'ordre de 50 Frs. Cependant, si vous installez un dissipateur
thermique, vous devrez compter
CONFIGURATION CARTE MERE -
OSCILLATEUR
Tout d'abord, repérez l'emplacement
de l'oscillateur à quartz noté U37. Il se situe à
droite du ventilateur, entre deux trous assez gros. Vous pouvez facilement
le trouver, car il est métallisé et se trouve à coté
d'un imposant circuit, noté par U36 (le DMA). L'oscillateur permet
de générer un signal d'horloge d'une fréquence de
32MHz attaquant les circuits DMA (U36) et DSP (U38) du Falcon. Voyons tout
d'abord les significations des pattes de votre oscillateur à 50MHz.
Quelques remarques sur le brochage,
pour les non initiés. Le brochage est noté suivant le support
de 14 broches (DIP 14) bien que l'oscillateur ne comporte physiquement
que 4 pattes. L'alimentation du circuit est effectuée grâce
aux pattes 7 et 14. En ce qui concerne la broche 1, il n'est pas nécessaire
de la connecter. Finalement, le signal généré, de
50MHz se trouve sur la patte 8. Pour ce qui est du "point" à gauche
de l'oscillateur, il n'est pas sur tous les circuits, puisque ce repère
est redondant par rapport à l'angle droit du support (toujours à
gauche) permettant d'identifier la patte 1 de l'oscillateur.
Passons maintenant à l'emplacement U37 qui contient un oscillateur sur sa partie haute. Tout d'abord, présentons le brochage de cet emplacement de taille compatible avec le support 14 broches que vous allez utiliser... ![]() Emplacement physique U37 contenant l'oscillateur 32MHz aux emplacements 1,4,11 & 14. En ce qui concerne l'alimentation
de l'oscillateur, les emplacements 4 et 7 sont reliés à la
masse et le 14 au potentiel +5V. Nous voyons facilement, que la carte mère
de notre bébé peut supporter des oscillateurs de tailles
pour support de 8 ou 14 broches (dans les deux cas, le
|
INETRVENTIONS
Commençons la manipulation,
en coupant la connexion (coté soudure : pas celle ou se situe l'oscillateur
U37 !) entre les emplacements 8 et 11 en faisant attention de ne pas couper
profondément la carte mère, car celle-ci comporte plusieurs
couches internes. Pour ceux qui n'arrivent pas identifier la piste, vous
pouvez trouver les pattes de votre oscillateur entre deux trous de la carte
mère, et proche de la résistance R176. N'oubliez surtout
pas, que puisque vous êtes sur l'autre face, les emplacements sont
inversés !!! Donc ne coupez pas une autre piste par mégarde
! Mais rassurez-vous, car du point de vue oscillateur U37, seul les pattes
11 et 8 sont reliées, donc dès que vous avez trouvé
l'emplacement, vous ne pouvez plus vous tromper. A présent, votre
DSP ne possède plus de fréquence d'horloge. Maintenant, revenons
au coté composants, où les dernières opérations
vont être effectuées. Tout d'abord, prenez votre support DIP
de 14 broches, en coupant toutes les pattes sauf les deux correspondantes
aux emplacements des deux picots, c'est à dire les pattes 7 et 8.
Puis, enfoncez les deux picots dans ces deux emplacements en faisant attention
à la hauteur de ceux-ci afin d'obtenir le résultat présenté
sur le schéma ci-dessous. Après avoir trouvé la bonne
hauteur, c'est à dire en reposant complètement le support
DIP sur l'oscillateur 32MHz (U37) et sur les deux picots, soudez les picots
de chaque coté de la carte mère afin d'assurer une meilleur
rigidité. De plus, faites bien attention aux soudures, pour que
celles-ci ne soient pas en contact avec d'autres pistes à proximités
! A partir de maintenant, vous venez de récupérer le signal
du DSP et la masse nécessaire à l'alimentation de votre second
oscillateur, ce qui fait qu'il ne manque plus qu'à récupérer
un potentiel +5V pour terminer l'opération (la patte 1 de l'oscillateur
n'est pas utilisée).
Principe de fixation du nouvel oscillateur. Maintenant, la modification touche
à sa fin, prenez votre fil et dénudez l'une des deux extrémités.
Après avoir étamé votre fil, soudez le à la
patte 14 (quasi coupée) de votre support DIP (c'est à dire
correspondant à l'alimentation +5V). Placez le support sur les deux
picots, puis
Retirez votre support, et préparez l'autre extrémité de votre fil destiné à récupérer le potentiel +5V de L72. Puis finalement, placez de nouveau votre support et soudez votre fil ! Voilà, il ne reste plus qu'à fixer du ruban adhésif entre le support et l'oscillateur 32MHz. Il ne reste plus qu'à allumer votre moineau afin de tester le bon fonctionnement de votre montage. En ce qui concerne l'échauffement
de votre DSP, puisque celui-ci tourne plus vite, il peut être nécessaire
de fixer un dissipateur thermique. Si vous obtenez un échauffement
important, achetez un dissipateur thermique ainsi qu'un peu de colle thermoconducteur
(et pas une autre !) pour pouvoir le fixer sur votre DSP. Je ne peux qu'encourager
une telle intervention, qui bien que augmente sensiblement le coût
de l'opération, vous assure que le DSP ne surchauffera pas et donc
que celui-ci ne risquera pas d'être détérioré
! Bien entendu, certains retorqueront, par
Normalement, cette intervention
étant relativement mineure, aucun problème ne doit survenir.
Cependant, soyez méthodique, et à chaque étape de
votre manipulation, vérifiez bien les connexions afin de ne pas
provoquer de courts-circuits. D'autre part, faites attention lorsque vous
couperez la connexion entre les deux horloges, afin de ne pas détériorer
d'autres couches de votre carte mère. Si vous êtes attentif
et soigneux, aucun problème ne doit survenir. Au cas ou votre Falcon
refuserait de fonctionner, retirez votre oscillateur du support et placez
coté soudure de la carte mère, un fil, ou mieux, une patte
d'une résistance entre les emplacements 8 et 11, afin de relier
de nouveau les deux horloges ! Si votre Falcon persiste toujours à
ne pas décoler, c'est que vous avez du détériorer
un autre élément, alors vérifiez bien toutes vos soudures...
RAPPEL SUR L'UTILISATION DES APPAREILS - Le voltmètre : celui-ci doit être utilisé en test de continuité (avec un "beep"), ou en ohmmètre, qui s'il affiche une résistance proche de 0 Ohm, indique que les deux points sont reliés. Il faut l'utiliser pour vérifier que les connexions entre les points destinés aux horloges des DMA et DSP soient bien déconnectées. De plus, vous pouvez l'utiliser pour vérifier que toutes vos soudures ne font pas contact avec d'autres pistes ! - Le fer à souder : celui-ci est indispensable pour souder le fil et donc étamer les extrémités (faîtes une fine couche de soudure sur celles-ci) ainsi que pour souder les deux picots. A chaque fois que vous souder, prenez peu de soudure, et chauffez bien le fil ou les pattes en faisant couler l'étain. Ici aucun montage de test, il suffit de brancher une manette Jaguar sur une des prises étendues de votre Falcon ou STE. La programmation de ces manettes va etre un peu plus compliquée que la méthode précédente, mais comme vous le verrez, cela reste raisonnable. En effet, pour lire des valeurs quelconques il faut procéder comme suit: SUBSTITUTION DE MATERIELS - La pince à dénuder : vous pouvez utiliser un ciseau et couper superficiellement la gaine du fil électrique, puis retirer cette partie. - Le voltmètre : soyez rigoureux et prenez votre temps pour souder et couper la piste. De ce fait, vous ne risquez quasiment aucun faux contact, ou court-circuit. Finalement, un moyen naturel, est l'utilisation de bons yeux pour vérifier que la piste est coupée ! - Les 2 picots : prenez un
autre support DIP (par exemple, un 8 broches) que vous couperez afin de
récupérer deux picots.
Pour toutes questions, vous pouvez
me contacter à mon adresse
e-mail, favard@linux.utc.fr
|
![]()
|
Last update May 25, 2000
Welcome to my home page
Contactez-moi à:laurent.favard@libertysurf.fr Ce site a été entierement réalisé sous RedHat Linux avec Netscape Communicator. |
||||
![]() No X pictures here !!!
Retrouver la liberté sur
votre PC !
|
Sommaire
Contactez-moiSébastien FAVARD à favard@sipc03.utc.fr pour toutes informations ou a propos de ce site.Un autre monde pour vos machines...
|
This page is under construction.
We expect to present this part of our site
as soon as it will be ready.
Ajoutez cette page à vos signets
et revenez bientôt ici.
Add this page to your bookmark
and come back later
jaghard.html 0100644 0000000 0000000 00000002404 07112324313 012037 0 ustar root root
This page is under construction.
We expect to present this part of our site
as soon as it will be ready.
Ajoutez cette page à vos signets
et revenez bientôt ici.
Add this page to your bookmark
and come back later
jaginstall.html 0100666 0000000 0000000 00000030611 07111234710 012574 0 ustar root root
|
![]() How to install the Jaguar Kit Updated/Mise à jour , May 25, 2000 Introduction This description is the same for BJL kit. So if
you have already installed this one, you just need to change
Bastian Schick http://rgpc72.gp.fht-esslingen.de/students/elw5basc/
Cette description est la même que pour l'installation
du Kit BJL. Si vous avez déjà installlè ce kit, vous
Copyright
All pictures of Jaguar are property of Mattias
Domin, Matthias.Domin@t-online.de,
which allow me to use
Atari Lynx page: http://home.t-online.de/home/Matthias.Domin/lynx_eng.htm
First part: JagOS Eprom installation This is on your own risk ! Don't blame me if anything goes wrong!
You need:
1)
Ouvrez la console Jaguar , enlever le blindage metallique puis localisez
l'emplacement de la ROM, proche
2)
3)
4)
5)
6)
7)
Soudez le fils précédent sur la broche centrale
du l'interrupteur à deux positions (commutateur). Ensuite soudez
8) Switch you Jaguar ON to test. In one position nothing should happen, in the other, it should boot normally. Allumez la Jaguar pour faire un premier test. Dans une position de l'interrupteur
rien ne se passera (Ecran noir),
Normal boot-screen: ![]()
9)
10)
11)
12)
13)
14)
15)
THAT'S ALL
First part: Reset button installation This modification can be VERY usefull for reboot
easily your Jaguar Console, instead of to switch it off and on.
Third part: Display rate 50/60 Hz switch This modification is REQUIRED to get a correct dispaly with JagOS. In addition, if you want to play with somes games which want 60 Hz, like 'Dragon's lair', this button will be very usefull. I extract this follow from a classic FAQ Jaguar. "The 50Hz/60Hz frame rate is set by soldering
pads on the bottom of the Jaguar PCB. On an NTSC Jaguar, they're
located on the bottom of
60Hz 50Hz
"PAL Jaguars sold in Europe have the R140 pads
connected with a zero ohm SMD resistor, which can be removed with a soldering
iron. It is
Contact Please contact us at atari@linux.utc.fr for more informations. |
![]() Milan motherboard
|
![]() ![]() ![]() Jaguar Project development Kit Update, May 25, 2000
Remember a little At the last French Atari show in 1997 (Bercy,
Paris), was done a little demonstration of a BOOTROM, able to
Since, now a first working solution is now available. Objectifs The purpose of this project, is to give a hardware
and sofwtare solution to uplaod any programs
An ISA extension board will be used nextly as soon as possible, in order to get a nice transfer speed rate. Because somes KIT already does exists, "previous"
programs designed for Jaguar Server
JagOS
Original Atari ROM is disabled by our EPROM, which
contains JagOS, our own small operating monitor.
ABeside this basic function, JagOS support somes
systems calls like TOS for instance, to give somes services
JagStudio JagStudio is a full GEM application which permit
you to communicate with the Jaguar.
This program work with MagiC 5 or TOS.(Two specific release) Features:
Jtoolbox is a programming librairy which contains
all required code to drive the Jaguar. JagStudio is
Extension board This board will be an ISA type extension and should
be used with Milan or PC computers. Not available
Please check this dedicated page to our extension board to get more informations. Required configuration
Note: You need Aads only if you want to modify and compile yourself JagStudio. Kit Installation
have a look to this installation
userguides online in English and in French, which contains
pcitures. These pictures came from Mattias Domin ( Matthias.Domin@t-online.de),
which allow me to use them. This installation is exactly the same like
for the BJL kit.que pour le kit BJL.
Jaguar link 42 Bastian Schick http://rgpc72.gp.fht-esslingen.de/students/elw5basc/
About Jaguar, read this FAQ Read this Jaguar Frequently Asked Questions. Contact
For any informations, please contact us at atari@linux.utc.fr Or to our personnal e-mail:
|
||||||
![]() Milan motherboard
|
![]() ![]() ![]() Projet de kit de développement Jaguar Mise à jour le 25 Mai 2000 Souvenez-vous... Au dernier salon Atari de décembre 1997
à Bercy, fut présenté une démonstration d'un
BOOTROM, capable de
Depuis le temps s'est écoulé et une première solution opérationnelle est enfin disponible. Objectifs Le but de ce projet est de proposer une solution
logicielle et matérielle permettant le téléchargement
de
Plus tard, une carte ISA sera proposée
comme support principal de communication entre l'ordinateur et la
Enfin, il a été tenu compte de l'existance
d'autres kit Jaguar, c'est pourquoi des programmes mis au point
JagOS
La ROM Atari est court-circuitée par notre
EPROM, qui contient JagOS, notre propre moniteur d'exploitation.
A coté de cela, il offre des appels systèmes,
comme le TOS par exemple, pour permettre aux programmes
JagStudio JagStudio est un logiciel fonctionnant sous GEM,
qui permet de dialoguer avec la Jaguar. Sa
Actuellement, celui-ci est décliné
en deux versions, une fonctionnant sous MagiC 5 et une autre
Fonctionnalités:
Accès aux aides au format ST-Guide de JagOS et JToolBox. Pour écrire JagStudio, le plus simple etait
de s'appuyer sur une boite à outils, afin de séparer les
programmes
Carte d'extension Cette carte fera partie du kit dans le futur.
Elle sera de type ISA et donc destiné au Milan ou au PC.
Pour plus d'informations, consultez la page dédiée à cette carte d'extension. Configuration nécessaire
Note: Aads est utile uniquement si vous souhaitez modifier et compiler JagStudio vous même. Installation du Kit
Consultez cette notice d'installation
en Anglais et Français en ligne, agrémentée
de photos. Les photos publiées sont de
Jaguar FAQ Lisez cette FAQ en Anglais pour des questions a propos de la Jaguar. Liens Jaguar 42 Bastian Schick http://rgpc72.gp.fht-esslingen.de/students/elw5basc/
Contactez-nous
Pour tout renseignements supplémentaires n'hésitez pas à nous contacter à atari@linux.utc.fr Vous pouvez également nous joindre respectivement à:
|
||||||
Les
ports "Joysticks" étendus du STE et Falcon
Auteur: Laurent FAVARD
|
INTRODUCTION
Le Falcon est equipé
en standard de deux prises manettes dites étendues, tout droit héritées
du STE. Elles ne furent pourtant jamais utilisées, ou bien alors
très peu. Ces deux prises offrent pourtant bien des avantages car
elles sont chacune equipées
de deux entrées analogiques X et Y et permettent de plus
de
connecter des joysticks de type Jaguar.
Dans cet article, nous allons
voir ensemble comment utiliser d'une manière simple,
ces prises joystick étendues, avec des exemples en C à l'appui.
Certains de nos lecteurs pourront peut-etre découvrir des possibilités
d'utilisation, voyant la un moyen simple d'utiliser une manette Jaguar,
ou bien d'utiliser les entrées
analogiques.
LES ENTREES ANALOGIQUES
Chaque prise étendue
comporte deux entrées X et Y analogiques, qui sans
entrer
dans des détails d'électronique, acceptent en entrée
non pas des valeurs "binaires",
telle la présence ou non d'une tension, mais acceptent une grandeur
électrique
continue.
L'électronique du STE
et du Falcon mesure cette grandeur et nous en retourne directement un multiple,
à la différence d'un bit à 0 ou 1, comme pour les
entrées
d'un Joystick
classique. Il ne reste alors plus qu'à lire les valeurs qui nous
interressent directement dans des registres.
Ce principe de gestion de Joysticks
et
le meme que nous retrouvons, par exemple, dans le monde PC. Il ne présente
Pour autant, cela ne présente
pas une grande gene, si on s'attache à filter ces
oscillations soit de manière logicielle soit de manières
cablée.
Le montage de test analogique
Afin d'illustrer notre expérimentation,
nous allons réaliser un montage pour
que chacun puisse se rendre compte par lui meme du fonctionnement.
La figure 1, montre un schéma
de branchement de deux potentiomètres sur les entrées
X et Y, ainsi que du matériel nécessaire à la réalisation.
Peut on faire plus simple
?
figure 1:
Le principe du montage est
de permettre ensuite, vous l'aurez deviné, de faire
varier
les valeurs X et Y, en faisant tourner les deux potentiomètres.
La programmation des entrées analogiques La programmation des entrées
analogiques est ce qu'il y a de plus simple. Pour
connaitre à tout moment l'état des potentiomètres,
quatre adresses systèmes, présentées
en figure 2, sont à disposition. Pour pouvoir y accéder,
vous devrer en revanche
faire un appel système afin de passer en mode superviseur, sinon
figure 2:
Avec la déclaration suivante
en langage C, nous disposons directement de variables contenant
les valeurs qui nous interressent:
#define
XDIR0 *((unsigned char *)0x00FF9211L)
Ansi, pour connaitre l'état de la valeur 'Paddle X0', on écrira en C ou en assembleur les lignes suivantes: "C": ValueX0
= XDIR0; /* Lecture de l'état de l'entrée X0 */
Programme d'exemple analogique Le programme ci-dessous montre maintenant en langage C comment réaliser l'accès aux registres des entrées analogiques, mais reste transposable en assembleur. D'abord nous mettons le 680x0 en mode Superviseur, puis nous effectuons les lectures des quatre adresses, enfin nous replacons le 680x0 en mode utilisateur. Pour effectuer un essai, brancher votre montage sur la prise étendue 0 ou 1. /*
#include <stdio.h>
#define
XDIR0 *((unsigned char *)0x00FF9211L)
int main(void)
Il ne vous reste plus qu'à
réaliser un programme plus complet afin d'utiliser
au
mieux cet exemple.
|
LES
ENTREES NUMERIQUES
Les entrées numériques
ont un fonctionnement relativement différent. En effet,
La programmation des entrées Numériques Ici aucun montage de test, il suffit de brancher une manette Jaguar sur une des prises étendues de votre Falcon ou STE. La programmation de ces manettes va etre un peu plus compliquée que la méthode précédente, mais comme vous le verrez, cela reste raisonnable. En effet, pour lire des valeurs quelconques il faut procéder comme suit: Tout d'abord, effectuez une
écriture à l'adresse 0x00FF9202, o- l'on va y
Les figures 3 et 4, présente
quatre tableaux qui décrivent l'ensemble des masques
figure 3:
figure 4:
Exemple: Pour lire l'état des boutons UP/DOWN/LEFT/RIGHT de la manette 0, il faut tout d'abord écrire en 0x00FF9202 la valeur de masque 0xFFFE, puis lire à l'adresse 0x00FF9202 un mot de 16 bits. Ce mot contiendra alors dans les bits 8 à 11 l'état des boutons de direction du Joypad. Autre exemple: Pour lire l'état du bouton FIRE-0 et PAUSE de la manette 1, nous devons tout d'abord écrire en 0x00FF9202 la valeur de masque 0xFFEF, puis lire en 0x00FF9200 le mot qui contiendra l'état de nos deux boutons sur les bits 2 et 3. Comme pour les entrées
analogiques, il faudra veiller à effectuer ces accès en mode
Superviseur.
Programme d'exemple numériques Le programme suivant montre
à son tour comment utiliser une manette Jaguar.
/*
#include <stdio.h>
#define
JOYLOW *((unsigned int *)0x00FF9200L)
int main(void)
/* Avant
d'effectuer des lectures, passer en Superviseur */
/* Direction
Joypad 1 */
Direction0
= ~Direction0 & 0x0F00;
LE PROGRAMME JOYSTICK
Vous retrouverez les listings des
programmes pécédents
prets à l'emploi avec en plus, un exemple supplémentaire
dénomé JOYSTICK,
spécialement écrit pour vous, avec son code source. Celui-ci
est bien plus complet,
puisqu'il
gère, totalement cette fois, les manettes Jaguar. Il fonctionne
sous GEM, de préférence
sur un écran couleur RVB ou VGA, ainsi que sous Magic5.13 ou
TOS.
Il n'acceptera de s'exécuter que sur Falcon et STE, puisque seul
ces machines supportent
les prises étendues (Sinon, c'est des bombes assurées !).
Pour la partie Analogique,
ce programme effectuera un test des deux prises, en
dépla?ant un point central vert, ainsi que deux repères en
axes x et y, sur un cadran
dédié à chaque prise. Les valeur lues sont directement
affichées dans des champs
textes en héxadécimal. Vous pouvez ainsi brancher, par exemple,
deux exemplaires
de ce montage simultanément.
Pour la partie numérique, le programme reproduit deux manettes Jaguar, qui reflète chacune l'état des boutons de chaque Joypad. Vous pouvez donc également connecter deux manettes simultanément sur vos deux prises étendues. Conclusion Maintenant que nous avons vu l'utilisation des entrées analogiques et des manettes Jaguar, nous pouvons envisager bon nombre d'applications comme, par exemple, brancher un capteur de température pour effectuer des mesures, utiliser une manette Jaguar comme choix supplémentaire dans les jeux Falcon et STE... Mais c'est à vous de voir ! Je tiens pourtant à
vous faire remarquer, qu'après avoir parcouru l'ensemble
de
ma documentation système, je suis étonné qu'il n'existe
pas d'appel système
propres
pour gérer ces fonctionnalités...C'est pourquoi, nous avons
été obligés d'adresser
directement les registres de la machine, ce qui est à proscrire
a tout prix, si on souhaite
etre compatible (Nous vivons à l'heure de l'Hadès et Milan...).
Mais dans notre cas, c'est différent, étant donnée
l'abscence d'appels
officiels
Atari.
Pour toutes questions d'ordre logiciel,
vous pouvez me contacter à mon adresse
e-mail,
|
Entrez dans un autre monde
|
Vous pouvez
trouver ou retrouver ici des articles écrit par Sébastien
ou Laurent. Choisissez un sujet ou télécharger le fichier
ZIP pour le consulter en autonome sur votre Atari..
Ces articles sont la propriété de leur auteur respectif, en revanche, vous pouvez les imprimer et les copier pour votre usage personnel. Toutes utilisations commerciales est strictement interdites. |