ATARI 800XL - Pas de message READY

C'est la catégorie reine de l'ordinophile, 8 bits et pas un de plus!
Single board ou bus S-100 acceptés.

Modérateurs : Papy.G, fneck, Carl

Daniel
Messages : 17417
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: ATARI 800XL - Pas de message READY

Message par Daniel »

Le PAL16L8 est un circuit programmable.
Il ne suffit pas de l'acheter, il faut aussi avoir le programmeur adéquat et connaître les informations à écrire.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
gleike
Messages : 1349
Inscription : 16 oct. 2014 11:12
Localisation : Ludres (54710) Meurthe & Moselle

Re: ATARI 800XL - Pas de message READY

Message par gleike »

U3 c'est le PAL 16L8
Tu en as commandé un vierge ou déjà programmé pour un ATARI 800XL ?

[Edit] Grillé par Daniel :)
Bruno33
Messages : 19
Inscription : 18 oct. 2018 19:11

Re: ATARI 800XL - Pas de message READY

Message par Bruno33 »

C'est un produit d'occasion que j'ai acheté, je n'en sais pas plus.
Avatar de l’utilisateur
snsv6502
Messages : 172
Inscription : 12 oct. 2018 21:28
Localisation : Nantes

Re: ATARI 800XL - Pas de message READY

Message par snsv6502 »

Et réparer des pattes, ça ne peut pas se faire ?
:?
A l'arrache, il s'en sort bien le monsieur, avec un dremel et quelques supports "tulipe".
https://www.youtube.com/watch?v=tF1R4X037yg
:D
call-151
atariman

Re: ATARI 800XL - Pas de message READY

Message par atariman »

Il doit être possible de réparer plus rapidement en grillant un GAL 16V8

Les info sont disponibles sur ce site:
https://www.atarimax.com/jindroush.atar ... chmmu.html

Les équations du gal sont sur le site et ca se programme avec un TL866

Ca peut peut être se compiler avec Lattice ispLEVER classique (cocher la case des chip obsoletes)

Par contre je ne connais pas ce langage (c'est probablement ABEL)
(je n'utilise que VHDL pour faire mes GAL/CPLD)

https://ia800207.us.archive.org/25/item ... l_text.pdf
nicolho
Messages : 409
Inscription : 10 nov. 2016 16:53

Re: ATARI 800XL - Pas de message READY

Message par nicolho »

nicolho a écrit : 06 nov. 2018 11:51[...] la puce qui fait office d'unité de gestion de la mémoire (MMU), à savoir le circuit logique programmable PLA16L8 (U3)

[...] voici une page qui détaille le brochage du MMU, et même les liens vers le code source qui servirait à en récréer un avec un PAL ou un GAL : https://www.atarimax.com/jindroush.atar ... chmmu.html
Daniel et atariman grillés par moi-même ! :mrgreen: comme dirait gleike... en effet, en signalant le MMU, j'avais déjà évoqué sans attendre cet aspect dans le message sus-cité, mais ils font bien de te mettre la puce :) à l'oreille sur ce que ça implique, je vais juste essayer de préciser encore davantage.

Un PAL (ou GAL et autres SPLD) est une sorte de composant vierge qu'il faut programmer selon ce qu'on veut en faire. Un PAL déjà programmé par Atari pour en faire un MMU de 600XL/800XL/65XE/130XE/800XE s'appelle un CO61618 (c'est la référence marquée dessus) pas forcément simple à trouver à part à le retirer d'un autre de ces modèles.

La bonne nouvelle, c'est donc qu'on peut en programmer un soi-même pour pas trop cher à partir d'un PAL ou GAL, bien qu'anciens mais encore facilement trouvables, il y a même un équivalent neuf, le ATF16V8B de chez Atmel.

Mais la mauvaise nouvelle : d'accord, on a des codes sources, mais les utiliser tels quels peut s'avérer compliqué. Déjà c'est pas clair quel est le langage utilisé pour chacun, et il faut parfois déterrer sur la toile des logiciels constructeurs obsolètes (qui contiendraient le compilateur adapté) et pas toujours compatibles avec nos OS récents..
Puis il faut choisir un modèle de composant qui conviendra dans ce cas, et qui "plaira" également au programmateur multi-standards pas cher (atariman parlait du TL866, voyez c'est pas compliqué d'avoir la politesse de dire qui en a déjà parlé dans les messages précédents).

Au final ce serait plus simple de s'adresser à quelqu'un qui l'a déjà fait, qui a essuyé les plâtres et sait comment mettre les différents éléments requis bout à bout, et pour qui ce devrait être certainement plus facile de comprendre la logique électronique assez simple qui est configurée par ces fichiers, et de la reproduire dans un langage équivalent pour telle puce équivalente dont il connaît et possède déjà les outils de développement...

Enfin le but, c'est de choisir une de ces puces et de générer un binaire compatible pour la programmer, puis de s’assurer (en la testant méthodiquement dans ses diverses combinaisons, l'idéal serait de comparer directement son comportement avec le MMU original d'Atari) qu'elle fait exactement ce qui est prévu avant de la placer sur la carte mère.
Bref, il te faudrait soit t'y mettre et chercher un peu d'aide (ici, ou sur le forum atariage si tu parles anglais) soit demander à quelqu'un de le faire pour toi, apparemment certains membres réguliers ont déjà réalisé et programmé des circuits de ce type, d'ailleurs un tuto "programmation PAL/GAL de A à Z" serait le bienvenu.

Du coup, au cas où ta puce U3 ne serait pas déjà défaillante, pour rejoindre la suggestion de snsv6502, ça paraît une bonne idée d'essayer de faire une réparation (même de fortune) de tes pattes cassées, sans quoi ta machine est malheureusement inutilisable en l'état, je pense (en tout cas évite peut-être de l'allumer avant que ça soit réparé, vu que sans ça, différentes mémoires pourraient faire conflit avec un risque de courts circuits sur le bus..).

Peut-être qu'un bout de cuivre peut remplacer le contact, avec ou sans soudure (dans ce cas mieux vaut ne pas risquer de faire cuire le composant en s'attardant avec le fer), éventuellement envoie nous une bonne photo des dégâts occasionnés, il y aura peut-être des suggestions.
Bruno33
Messages : 19
Inscription : 18 oct. 2018 19:11

Re: ATARI 800XL - Pas de message READY

Message par Bruno33 »

Ce sont les bornes GND et REF qui sont cassés au ras (10 et 11°pattes). Le support de CI est lui intact.
atariman

Re: ATARI 800XL - Pas de message READY

Message par atariman »

Il y a une alternative a la réparation de machine c'est faire un grand trou dans le sable
mettre les machines dans le trou et refermer….

(les autruches font ca très bien avec leur tete)

Un gal n'a rien de difficile a trouver et a programmer, un programmeur de gal lattice ca coute dans les 50 euros
ispLever Classic n'a rien d'un logiciel ancien c'est un logiciel qui fonctionne sur windows 10 et toujours maintenu

http://www.latticesemi.com/ispleverclassic


ispLever Classic intégre PALtoGAL qui transforme le jedec d'un pal dans celui d'un gal


D'ailleur Atmel devenu microchip fabrique toujours des GAL par contre il ne se programme pas sur le TL866


C'est vrai que chercher des solutions ca demande de l'energie...
La benne c'est probablement plus simple...
nicolho
Messages : 409
Inscription : 10 nov. 2016 16:53

Re: ATARI 800XL - Pas de message READY

Message par nicolho »

Oui, ça serait quand même mieux d'avoir VSS que de récupérer la masse par hasard sur autre patte :) Pour /REF, apparemment ça sert surtout pour le MMU désactive les roms et périphériques sur le bus pendant un rafraichissement de RAM, si j'en crois ce message, issue d'une discussion intéressante, où dans le premier message, quelqu'un dit "sur mon 800XL, ça marche bien sans /REF, du coup à quoi ça sert ?" :
http://atariage.com/forums/topic/270479 ... ?p=3895612

Donc une petite chance que la machine puisse quand même tourner, mais vraiment déconseillé sans la masse... La méthode de la vidéo proposée plus haut par snsv6502 pourrait être adaptée : creuser un peu le capot pour pouvoir souder quand même.


Sinon merci atariman d'avoir confirmé la compatibilité d'ISPLever Classic sur windows 10. Pour ma part, j'avais juste dit que c'était parfois le problème avec des logiciels dédiés de ce type (et les PAL, GAL et programmateur faciles à trouver, je l'ai dit, et pour Atmel j'ai même cité le modèle....) et personne n'a suggéré de mettre la machine à la benne, on discute justement des solutions pour la réparer.

Quand je parlais de quelqu'un d'un peu rodé qui pourrait nous renseigner, je pensais exactement à toi, maintenant Bruno ou les personnes intéressées qui nous liraient ne sont peut-être pas aussi dégourdies, et on essaye juste de les encourager en les mettant sur les bonnes pistes.
Vu que tu connais bien le sujet et logiciel ISPLever de Lattice, ton aide et ton expériences seraient précieuses.

C'est intéressant ce convertisseur "PAL to GAL". Maintenant comment Bruno (ou quelqu'un qui débuterait plus ou moins dans ce domaine) pourra-t-il utiliser ce code source ? Tu disais toi-même ne pas être sûr du langage de ces fichiers..
Ce n'est pas indispensable, mais est-ce que quelqu'un le saurait, ou aurait les outils (ou pourrait au moins indiquer les plus appropriés) pour nous sortir le JEDEC de ce code pour PAL ou GAL (pour les non-experts, il s'agit fichier le binaire qui servira au final à le programmer), ou encore pour nous montrer le schéma généré qui correspondrait, histoire d'avoir quelque chose de plus parlant (et décoratif aussi :wink: ) ?

Sinon, ça serait certainement plus simple de faire ça à la main, comme la logique tient en une dizaine de ligne, ça ne doit pas être trop dur, surtout pour traduire dans un langage similaire, mais plus usité actuellement et supporté par ISPLever (ou autre).
Dans les deux cas, si quelqu'un (pour qui se serait du gâteau) se le sent, ça serait super !
atariman

Re: ATARI 800XL - Pas de message READY

Message par atariman »

[message approuvé a posteriori donc il apparaît avec un petit décalage de 4h00]

J'ai commencé la conversion du code qui ne doit mais même pas être du ABEL mais du PALASM
j'ai supposé que:

/ = not
& = and
+ = or
% = ??? aucune idée

j'ai posé la question a quelque amis qui ont utilisé PALASM

voila un début de VHDL (il manque /OS et /CASINH

Code : Tout sélectionner

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;

entity mmugal is
	PORT (
		a       	: in   std_logic_vector(15 downto 11);
		pb7		: in   std_logic;
		rd4		: in   std_logic;
		rd5		: in   std_logic;
		pb0		: in   std_logic;
		ref		: in   std_logic;
		mpd		: in   std_logic;	
		pb1		: in   std_logic;

		s5      	: out  std_logic;
		basic   	: out  std_logic;
		os     	: out  std_logic;
		casinh	: out  std_logic;
		io      	: out  std_logic;
		s4      	: out  std_logic
	);

	attribute LOC : string;

	attribute LOC of a       	: signal is "P5,P4,P3,P2,P1";
	attribute LOC of pb7     	: signal is "P6";
	attribute LOC of rd4     	: signal is "P7";
	attribute LOC of rd5     	: signal is "P8";
	attribute LOC of pb0     	: signal is "P9";
	attribute LOC of ref     	: signal is "P11";
	attribute LOC of mpd     	: signal is "P14";
	attribute LOC of pb1     	: signal is "P18";

	attribute LOC of s5      	: signal is "P12";
	attribute LOC of basic   	: signal is "P13";
	attribute LOC of os      	: signal is "P15";
	attribute LOC of casinh  	: signal is "P16";
	attribute LOC of io      	: signal is "P17";
	attribute LOC of s4      	: signal is "P19";

end;

architecture behavioral of mmugal is
begin

-- /BASIC	= REF & /RD5 & /PB1 & A15 & /A14 & A13
-- /S5		= REF & RD5 & A15 & /A14 & A13
-- /S4		= REF & RD4 & A15 & /A14 & /A13
-- /IO		= REF & A15 & A14 & /A13 & A12 & /A11
-- /OS		= REF & PB0 & A15 & A14 & A13
--		+ REF & PB0 & A15 & A14 & /A12
--		+ REF & PB0 & A15 & A14 & A11 & MPD
--		+ REF % PB0 & /PB7 & /A15 & A14 & /A13 & A12 & /A11
-- /CASINH	= REF & PB0 & A15 & A14 & A13
-- 		+ REF & PB0 & A15 & A14 & /A12
--		+ REF & PB0 & A15 & A14 & /A11 & MPD
--		+ REF % PB0 & /PB7 & /A15 & A14 & /A13 & A12 & /A11
--		+ REF & /RD5 & /PB1 & A15 & /A14 & A13
--		+ REF & A15 & A14 & /A13 & A12 & /A11
--		+ REF & RD5 & A15 & /A14 & A13
--		+ REF & RD4 & A15 & /A14 & /A13

	basic  <= '0' when (ref = '1') and (rd5 = '0') and (pb1 = '0') and (a(15 downto 13) = "101") else  '1';

	s5     <= '0' when (ref = '1') and (rd5 = '1') and (a(15 downto 13) = "101") else '1';

	s4     <= '0' when (ref = '1') and (rd4 = '1') and (a(15 downto 13) = "100") else '1';

	io     <= '0' when (ref = '1') and (a(15 downto 11) = "11010") else '1';

	os     <= '1';

	casinh <= '1';

end behavioral;
Je pense que les equation ont été produit a partir du binaire ou du jedec
elles doivent pouvoir se simplifier

Je vais essayer de completer ce code avec une version simplifiée des equations…
finalement je grillerais un gal et je ferais un essai sur mon Atari 800xl

Attention si vous installez ispLever Classique et Diamond, Lattice a fait une connerie magistrale
le dernier soft installé écrase la license du précédent (non pas le fichier license mais la variable qui sert de pointeur)
le plus simple est de renomer les fichiers license.dat en license-isplever.dat et license-diamond.dat et de recopier le bon fichier
dans license.dat avant d'appeller isplever ou diamond
Avatar de l’utilisateur
hlide
Messages : 3503
Inscription : 29 nov. 2017 10:23

Re: ATARI 800XL - Pas de message READY

Message par hlide »

Font vraiment chier Lattice avec l'obligation de s'inscrire pour accéder au contenu. Je suis censé avoir reçu un email pour valider l'inscription mais je ne le trouve nul part - pas mêmes dans la boite Spam.
Avatar de l’utilisateur
hlide
Messages : 3503
Inscription : 29 nov. 2017 10:23

Re: ATARI 800XL - Pas de message READY

Message par hlide »

Bon j'ai essayé deux adresses emails de fournisseurs différents et même résultat. Pas foutu de gérer un enregistrement correctement. J'en ai connu d'autre.
Xavier_AL

Re: ATARI 800XL - Pas de message READY

Message par Xavier_AL »

Le principale problème si tu es en VPN, c'est que l'inscription se passe bien, mais ton mail et ton psedo sont bannis définitivement du site sans possibilité de validation, ou on te mets en attente de validation de modération... (= Va te faire voir ailleurs!).

Sur certains forums, tu te fait viré après 24h sans préavis.

:oops:
Avatar de l’utilisateur
hlide
Messages : 3503
Inscription : 29 nov. 2017 10:23

Re: ATARI 800XL - Pas de message READY

Message par hlide »

Bon finalement, j'ai eu un email. Allez zou ! Je reviens donc sur la page de téléchargement qui nous intéresse et voici à quoi j'ai droit :
The page you have attempted to retrieve is not available or you do not have access to this resource. If you have just created your account, or you have not used your account in a long time, then please be aware that it may take up to one business day for your account to fully activate.
La page que vous essayez d'atteindre n'est pas disponible ou vous n'avez pas accès à la ressource. Si vous venez juste de créer votre compte, ou que vous n'avez pas utilisé votre compte depuis un long moment, alors soyez conscient que cela peut prendre un jour ouvré pour activer votre compte pleinement.

Mais c'est qu'ils ont le chic de me mettre en rogne pour des conneries pareils. Et encore heureux que l'on ne soit pas un vendredi.
nicolho
Messages : 409
Inscription : 10 nov. 2016 16:53

Re: ATARI 800XL - Pas de message READY

Message par nicolho »

Bon, vous cassez pas, j'ai trouvé le JEDEC compilé, il fallait taper dans un célèbre moteur de recherche"jedec mmu 800xl"..., pas évident je sais, je suis trop un boss ! 8) :D

Comme de par hasard, c'est sur atariage, venant du même membre qui semble bien s'y connaître (j'avais justement mis en lien ce matin son message très instructif concernant le signal /REF du MMU), un certain HiassofT : http://atariage.com/forums/topic/155863 ... ?p=1911484

Je traduis les précisions qu'il nous donne à propos de fichiers source disponibles :
"Attention : la version pour GAL est incorrecte, la version PAL (de Bob Woolley) marche bien.
J'ai mis en pièce jointe le fichier JEDEC prêt à être programmé dans un GAL 16V8
"

[edit] ̶B̶o̶n̶,̶ ̶c̶'̶e̶s̶t̶ ̶v̶r̶a̶i̶ ̶q̶u̶e̶ ̶c̶'̶e̶s̶t̶ ̶u̶n̶ ̶p̶e̶u̶ ̶c̶o̶n̶f̶u̶s̶,̶ ̶l̶e̶ ̶f̶i̶c̶h̶i̶e̶r̶ ̶s̶e̶m̶b̶l̶e̶ ̶c̶r̶é̶é̶ ̶p̶a̶r̶ ̶P̶A̶L̶A̶S̶M̶4̶,̶ ̶m̶a̶i̶s̶ ̶d̶e̶s̶t̶i̶n̶é̶ ̶à̶ ̶u̶n̶ ̶G̶A̶L̶.̶.̶ ̶:̶?̶ ̶i̶l̶ ̶f̶a̶u̶t̶ ̶p̶e̶u̶t̶-̶ê̶t̶r̶e̶ ̶l̶e̶ ̶c̶o̶n̶v̶e̶r̶t̶i̶r̶ ̶?̶?̶ ̶:̶
Finalement, je me rends compte que, grâce à la représentation de la matrice programmable dans le JEDEC, on voit à sa taille qu'elle correspond bien à celle d'un GAL :

Code : Tout sélectionner


PALASM4  PAL ASSEMBLER   - MARKET RELEASE 1.5a (8-20-92)
 (C) - COPYRIGHT ADVANCED MICRO DEVICES INC., 1992


TITLE   :C061618 MMU              AUTHOR :Bob Woolley              
PATTERN :                         COMPANY:                         
REVISION:1.0                      DATE   :                         


PAL16V8
MMU*
QP20*
QF2194*
G0*F0*
L0000 11111111111111111111111111111111*
L0032 11111011101101111111011111111101*
L0064 00000000000000000000000000000000*
L0096 00000000000000000000000000000000*
L0128 00000000000000000000000000000000*
L0160 00000000000000000000000000000000*
L0192 00000000000000000000000000000000*
L0224 00000000000000000000000000000000*
L0256 00000000000000000000000000000000*
L0288 00000000000000000000000000000000*
L0320 00000000000000000000000000000000*
L0352 00000000000000000000000000000000*
L0384 00000000000000000000000000000000*
L0416 00000000000000000000000000000000*
L0448 00000000000000000000000000000000*
L0480 00000000000000000000000000000000*
L0512 11111111111111111111111111111111*
L0544 01101011011101111111111111111101*
L0576 00000000000000000000000000000000*
L0608 00000000000000000000000000000000*
L0640 00000000000000000000000000000000*
L0672 00000000000000000000000000000000*
L0704 00000000000000000000000000000000*
L0736 00000000000000000000000000000000*
L0768 11111111111111111111111111111111*
L0800 11111111111111111111111111111110*
L0832 11111111111111111110111111111111*
L0864 11111011101101111111011111111111*
L0896 11110111101101111111111101111111*
L0928 11110110101101111111111111111111*
L0960 01101011011101111111111111111111*
L0992 00000000000000000000000000000000*
L1024 11111111111111111111111111111111*
L1056 11110111011101111111111111110101*
L1088 10111111011101111111111111110101*
L1120 11011111011101111111110111110101*
L1152 01101011011110111011111111110101*
L1184 00000000000000000000000000000000*
L1216 00000000000000000000000000000000*
L1248 00000000000000000000000000000000*
L1280 00000000000000000000000000000000*
L1312 00000000000000000000000000000000*
L1344 00000000000000000000000000000000*
L1376 00000000000000000000000000000000*
L1408 00000000000000000000000000000000*
L1440 00000000000000000000000000000000*
L1472 00000000000000000000000000000000*
L1504 00000000000000000000000000000000*
L1536 11111111111111111111111111111111*
L1568 11110110101101111111111110111101*
L1600 00000000000000000000000000000000*
L1632 00000000000000000000000000000000*
L1664 00000000000000000000000000000000*
L1696 00000000000000000000000000000000*
L1728 00000000000000000000000000000000*
L1760 00000000000000000000000000000000*
L1792 11111111111111111111111111111111*
L1824 11110111101101111111111101111101*
L1856 00000000000000000000000000000000*
L1888 00000000000000000000000000000000*
L1920 00000000000000000000000000000000*
L1952 00000000000000000000000000000000*
L1984 00000000000000000000000000000000*
L2016 00000000000000000000000000000000*
L2048 01000100000000000000000000000000*
L2080 00000000000000000000000000000000*
L2112 00000000111111111111111111111111*
L2144 11111111111111111111111111111111*
L2176 111111111111111111*
C52AB*
0CC3

Dernière modification par nicolho le 08 nov. 2018 15:45, modifié 2 fois.
Répondre