1

Alors, dans la série "je m'essaye à l'électronique et comme d'habitude ça marche pas"
je reviens régulièrement sur ce fantasme de faire mon propre petit ordinateur, et j'ai donc trouvé récemment un SBC qui permet de faire une réplique d'Apple 1 simplifié via un port série simulé par un arduino nano.
c'était à faire soit même et avec un prix raisonnable par rapport a tout ce que j'avais vu jusqu'à maintenant (< 100€)
donc je me suis lancé, j'ai commandé un PCB, et les différents composants
j'ai tout assemblé, soudé, et ça marche "presque"



après un peu de debugging grâce a mon analyseur logique tout neuf (j'adore ce truc trilove )
j'ai compris que tout fonctionnais bien coté processeur/pia/ram/rom, et que le soucis ce situait entre l'arduino et l'interface du PIA
bizarrement, dès l'instant ou j'ai commencer a brancher mon analyseur logique un peu partout, ça s'est stabilisé et ça fonctionnais bien !
donc après quelques essai j'ai fini par trouvé ou ça déconnais, mais alors je sais toujours pas pourquoi, ni comment fixer le truc
Donc voila la page du projet
tebl/RC6502-Apple-1-ReplicaGitHubAn expandable SBC-version of the Apple 1 computer, easy to get started with and lot of cool stuff that can be added to it! - tebl/RC6502-Apple-1-Replica

avec le schéma électrique https://raw.githubusercontent.com/tebl/RC6502-Apple-1-Replica/master/RC6502%20Apple%201%20SBC/export/RC6502%20Apple%201%20SBC.pdf

pour résumer, le PIA est connecté à un MCP23S17 qui permet d'avoir 2 ports 8bits (un pour le clavier et un pour la sortie vidéo) et de pouvoir lire/écrire ces ports via une liaison SPI connecté à l'arduino, qui fait le lien avec un port série standard via l'usb
l'arduino s'occupe aussi de gérer via une connexion direct au PIA, le coté "la vidéo est prête a recevoir un caractère" ou "le clavier a un nouveau caractère" pour que le programme coté 6502 puisse lire/écrire les données qui vont bien via le pia 6821
pour la sortie vidéo cela ce fait via la pin OUT_DA qui est écrite par le 6502 au PIA pour indiquer qu'un caractère vidéo est dispo, et c'est cette sortie avec laquelle j'ai un soucis justement,
tel quel, je reçoit des caractère en permanence, comme ci y'avais quelque chose qui oscillait en boucle sur cette pin
mais lorsque j'essaye de débugger ça, je branche donc mon analyseur logique ou même un oscilloscope sur OUT_DA, et la bam ! tout ce stabilise et ça fonctionne comme ça devrait !
donc je peu même pas voir pourquoi ça déconne vu que dès que je branche un truc dessus, ça fonctionne.
on m'a fait remarqué sur twitter que j'utilisais des chip 74LS et 74HC, la ou sur le schéma il faut des 74HCT, ça peut jouer ?
j'ai vérifié toute les masses elle sont bien reliée entre elle, j'ai vérifié pas mal de connexion et ça m'a l'air bon
je comprend pas d'ou ça peu venir, une idée ? smile
avatar

2

Godzil a été invité sur ce sujet.


Zerosquare a été invité sur ce sujet.
avatar

3

Est-ce que juste brancher la masse de ton analyseur logique résous le problème?

Si oui tu as un problème de masse quelque part.


Sinon mélanger des LS et Hc n’est pas une bonne idée les niveaux de sortie et d’entre ne sont pas les meme entre les deux techno, il vaut mieux rester entre sur un seul des deux, dans ton cas il faut que tu choisisse ce qui est 100% compatible avec les autres composants dont tu ne peux pas choisir la techno.

HCT est par contre compatible avec les LS.

C’est ton 6502 dont on ne vois aucun marquage sur le photo?

C’est un 6502 ou 65C02?

La schématique utilise des HCT, je pense que les HCT sont les plus compatible avec les deux type de 6502 sur le marché..
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

4

pareil, je dirais pb de masse, de capa de découplages (signal trop perturbé) ou de qualité de l'alim
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

5

pencil Godzil

Ton PIA 6821 est une version TTL, ça ne va pas marcher avec un 74HC qui est du CMOS. C'est pour ça que le schéma d'origine utilise des 74HCT, qui sont compatibles avec les deux.
Tu peux essayer d'ajouter une résistance (essaie quelque chose entre 10 et 100 kΩ pour commencer) entre OUT_DA et le +5V pour voir si ça résout le problème. Mais le mieux serait de remplacer par des 74HCT.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

6

merci pour les réponses !
et remplacer mon 74HC par un 74LS ça irais ? ou alors je remplace même les 74LS ?
fait chier, j'aurais du mettre des supports pour tout les composants cheeky
avatar

7

apparemment ici le gars a utiliser des HCT et une LS
moi a la place j'ai 2 LS et une HC (dans le même ordre)
EtusSw6VoAA4FhB?format=jpg

je vais me commander ça https://www.ebay.fr/itm/SN74LS00N-QUAD-2-INPUT-NAND-GATE-CI-DIP-14-TEXAS-INSTRUMENTS/154290353377?hash=item23ec6bf4e1:g:SS8AAOSw-mJfp~Bk
avatar

8

Faut toujours mettre des supports pour ce genre de projets, c'est quand on en met pas qu'on le regrette tongue

Vu que le schéma mélange composants TTL et CMOS, à ta place je me prendrais pas la tête, je mettrai du 74HCT partout comme indiqué sur le schéma. Ça coûte pas grand-chose et au moins tu seras sûr qu'il n'y aura pas de problème. Le fait que ça marche ailleurs ne prouve pas grand-chose, ça peut fonctionner de façon intermittente.

Pour virer les circuits intégrés soudés, conseil : avec une pince coupante fine, coupe les broches à ras du plastique du boîtier. Ensuite tu peux dessouder les broches une par une, en chauffant avec le fer par le dessus et en tirant doucement avec une pince plate (comme ça y'a pas de risque d'abîmer le PCB). Après tu n'as plus qu'à enlever l'excès de soudure dans les trous (à la pompe ou à la tresse), nettoyer à l'alcool, et ressouder un support pour mettre le circuit de remplacement.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

9

merci pour le conseil de dé-soudage happy

sinon c'est bizarre parceque sur le schéma le 74HC00 que j'utilise n'est pas raccordé au PIA, juste à la ROM, et cette partie fonctionne bien
les seules raccordé au PIA sont les 74LS justement, donc ...
après trouver des HCT sur ebay c'est galère sad

sinon le PIA que j'utilise est un 2mhz, et le R6502 un 1mhz, mais la clock est bien 1mhz, donc j'imagine que qui peut le plus peut le moins non ?
avatar

10

Oui pas de souci, tu peux utiliser un PIA 2 MHz à 1 MHz.

Sinon ici j'en trouve facilement sur eBay ? Par exemple (expédié depuis la France) :
https://www.ebay.fr/itm/74HCT00-SN74HCT00N-Quad-2-input-nand-gate-DIP-14-Texas-RoHS-lot-de-10/182426432655
https://www.ebay.fr/itm/74HCT04-SN74HCT04N-Hex-Inverters-DIP-14-Texas-RoHS-lot-de-10/171431823178
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

11

bon ben j'ai remplacé par un 74HTC00N et ça ne change rien ..
j'hesite a me faire chier a remplacer les 2x 74LS restant parceque si ça change rien non plus..
avatar

12

A vu de nez les '04 sont aussi besoin d'etre en HCT...

Et je pense aussi pour le '138 (le signal qui va vers le PIA)


Par contre je n'avais pas vu, utiliser un 555 pour une tempo sur le reset, wow c'est overkill grin
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

13

Rien à voir avec l'Apple 1 mais j'ai vu cette photo sur ton fil Twitter :


- tu ne devrais pas faire passer le fil marron par le trou : il y a un risque que l'isolant du fil soit abîmé par les bords métalliques, et que ça finisse par faire un court-circuit (et comme c'est du 230 V, c'est dangereux)

- les fils ne sont pas censés être serrés directement sur les vis (ça finit par se desserrer tout seul, et là aussi c'est dangereux), il faut sertir une cosse à fourche au bout :
ZFPVC-cosse-fourche-pre-isolee-a-sertir-rouge-bleue-jaune-JEDE-distribution.png
On peut en trouver un peu partout, dans les magasins d'électronique bien sûr, mais je pense qu'ils en ont aussi dans les magasins de bricolage. Idem pour la pince à sertir.

Les 3 différentes couleurs correspondent à différentes épaisseurs de fil. Je ne sais pas quelle est celle des fils du Falcon, mais au pire tu peux acheter les 3 versions et faire des essais (ça ne coûte pas très cher).
Il faut aussi faire attention à ce que la largeur de la cosse correspondent à la taille des vis de ton alimentation (normalement c'est indiqué dans la doc de celle-ci).

Ne pas oublier de vérifier que la cosse est bien sertie, c'est important :
https://www.ttieurope.com/content/dam/tti-europe/resources/Literature/SupplierGuides/1473-TE-Connectivity-Good-Crimping-v3Web.pdf
Good In A Pinch: The Physics Of Crimped ConnectionsHackadayI had a friend who was an electronics assembly tech for a big defense contractor. He was a production floor guy who had a chip on his shoulder for the engineers with their fancy book-learnin’…
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

14

PS : quand tu veux relier plusieurs fils ensemble, tu peux faire un raccord propre avec des blocs Wago :
NtrBIr6.jpg

Pour les cosses, vu que j'ai la pince et de quoi contrôler, je peux te préparer des fils avec une cosse au bout et te les envoyer par la poste, ça sera plus simple pour toi...
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

15

Les Wago, y’a que ça de vrai love
avatar
<<< Kernel Extremist©®™ >>>
Feel the power of (int16) !

16

merci pour l'info
j'avais penser aux cosse effectivement, par contre les wago c'est une bonne idée, parceque sur une des bornes j'ai 4 fils à mettre
en plus j'en ai plein au boulot des wago cheeky
avatar

17

Redonne-moi ton adresse en mmsg stp, que je t'envoie les fils avec les cosses smile
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

18

bon hé ben après moult galère à dessouder, j'ai réussi a remplacer tout les 74... par des 74HCT
et ..... ça change rien ....
avatar

19

tu doit avoir un signal marginal, ou alors, un problème de masse flottante entre chaque truc que tu branche.


Comment tu branche et utilise la carte?
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

20

je branche l'arduino nano via le port USB qui fait aussi port série
l'arduino alimente la carte via sa sortie 5V
le problème semble venir de la broche OUT_DA vers D3
cette proche viens du PIA et signal que le PIA a une donnée à afficher envoyé par le 6502
cette broche semble envoyer un signal permanent comme si il y avais toujours des caractères à afficher, alors que le programme dans la rom envoi juste 1 caractère au boot
dès que je relie cette broche a quelque chose (un analyseur logique par exemple), ça fonctionne normalement
j'ai vérifier toute les connexions entres les chips 74... et entre le PIA
est-ce que ça serais pas le condensateur ceramique a la sortie qui va vers OUT_DA ?
normalement il est bien relié et la valeur est correcte
ou alors est-ce que c'est le PIA qui est défectueux ? ou trop rapide ? j'ai mis une version 2mhz, mais normalement ça marche aussi avec 1mhz non ?
avatar

21

Trop rapide, non pas possible, le PIA ne fait que ce que le CPU lui demande, "met la bouche X a Y"

Et il est cadencé par Phi2, qui est l'horloge du système, donc il ne peux pas aller plus vite que celle ci grin



Si tu mesure, avec un voltmètre, la broche 1 de U7, la broche 2 de U7, et OUT_DA, tu as un 1 partout?

Pas sur pourquoi ils ont mis un condo a cet endroit c'est pour supprimer la composante continue, mais je vois pas trop l'intérêt, vu ce qui est connecté derriere.

PB7 peux aussi être fautif vu qu'il peux forcer la ligne (c'est une I/O)

Tu peux toujours essayer d'enlever le chip du support, doucement lever la pate de PB7 et remettre dans el support avec PB7 flottant pour voir ce qui se passe. Si ca ne change rien tu peux toujours remettre la pate a sa place, et faire pareil avec la broche 2 d'U7.

Tu devrait aussi verifier a vite qu'il n'y a pas un court-circuit avec OUT_DA sur le 5V vu ce que tu dit.

Mais en dehors d'un truc flottant je vois pas pourquoi brancher ton analyseur logique changerais quoi que ce soit.

Ca pourrais en effet être C12 mais je ne vois pas quel condensateur c'est sur la carte, mais si c'est un des céramiques "rond plats" ces machins sont habituellement dur a tuer et il me semble qu'il meurent en mode "ouvert" et non court circuit. mais je mettrait pas ma main a couper.

TU peux tester avec un ohm-mettre avec la carte éteinte sur les broches du condo
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

22

T'as essayé avec une alim externe ?
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

23

Alors déja j'ai 4.5v en sortie de l'arduino sur un port usb 2
et j'ai 4.7v en sortie de l'arduino sur un port usb 3
je me base sur 4.7v pour la suite

Godzil (./21) :
Si tu mesure, avec un voltmètre, la broche 1 de U7, la broche 2 de U7, et OUT_DA, tu as un 1 partout?
U7 broche 1 : 3.92v (a mon avis parceque ça oscille entre 0 et 1)
U7 broche 2 : 0v
OUT_DA : 1.86v, sachant que dès le moment ou je mesure entre GND et OUT_DA, la transmission folle cesse (comme quand je branche l'oscillo ou l'analyseur logique)

Godzil (./21) :
Pas sur pourquoi ils ont mis un condo a cet endroit c'est pour supprimer la composante continue, mais je vois pas trop l'intérêt, vu ce qui est connecté derriere.

Godzil (./21) :
Tu devrait aussi verifier a vite qu'il n'y a pas un court-circuit avec OUT_DA sur le 5V vu ce que tu dit.
pas de continuité entre OUT_DA et 5V ou GND


Godzil (./21) :
Ca pourrais en effet être C12 mais je ne vois pas quel condensateur c'est sur la carte, mais si c'est un des céramiques "rond plats" ces machins sont habituellement dur a tuer et il me semble qu'il meurent en mode "ouvert" et non court circuit. mais je mettrait pas ma main a couper.

TU peux tester avec un ohm-mettre avec la carte éteinte sur les broches du condo
alors le condo à l'air mort en effet
il m'en reste d'autre, je vais tenter d'en souder un autre ce weekend
avatar

24

Qu'est-ce qui te fait dire qu'il est mort?


Si L'entrée de U7 oscillait tu verrais une tension mediane en sortie e non 0V. U7 etant un inverseur, il semble marcher correctement.

3.92V en sortie est dans les specs pour le NMOS:
7YUA

VOH min est VSS + 2.4, soit 2.4V, c'est parfaitement dans les specs pour un 1 logique

1.86V par contre est probablement signe que tu as une tension qui oscille.

Tu es sur que ton arduino est bien programmée ?

Je suis pas vraiment sur de pourquoi PB7 et CB2 sont connectés ainsi. Faudrait regarder ce que le 6502 fait avec ce PIA...

L'apple I fait la meme chose, pas sur pourquoi Woz a fait ca

Ok je vois. PB7 est la pour lire l'état de CB2 sans chercher explicitement a lire CB2 et savoir si un caractère a été envoyé et qu'il faut attendre le suivant.

En gros DA dit au circuit d'affichage 'je t'ai envoyé un caractère (Data Acknowledge?) et RDA c'est le "return DA" pour le circuit qui dit "ok bien recu"

Le fait que tu ai une tension mixte entre PB7 et sortie de U7 est pas normal.
Je ne suis pas sur pourquoi ils ont mis ce condo autre que pour generer une impulsion vers l'arduino plutot qu'un signal statique (interruption par front plutot que niveau?)

Tu devrait avoir 0 coté PB7 sur le "long terme" et non 1.87V.

Tu peux alimenter la carte sans l'arduino et mesurer la tension coté PB7?

Si elle est bien de 0, l'arduino fait un truc bizzare.

Si elle est pas de 0, je pense que ton 6821 a un soucis.


Interessant a lire, des infos sur la generation video de l'Apple I: https://www.sbprojects.net/projects/apple1/terminal.php
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

25

Godzil (./24) :
Qu'est-ce qui te fait dire qu'il est mort?
ben tu m'a dit de tester avec l'ohmetre
donc, j'ai testé les 100nF et ça m'affiche 1.8kohm
et j'ai testé le 10nF et ça m'affiche 0 ohm

Godzil (./24) :
Interessant a lire, des infos sur la generation video de l'Apple I: https://www.sbprojects.net/projects/apple1/terminal.php
ah tiens ça m'intéressais de voir comment il avais fait justement, merci pour le lien smile
avatar

26

Oh ok, 0 Ohm c'est pas top c'est sur pour un condo..
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.