- Ce sujet contient 36 réponses, 6 participants et a été mis à jour pour la dernière fois par
stephbb75, le il y a 5 mois et 4 semaines.
-
CréateurSujet
-
12 février 2022 à 22 h 29 min #136799
flaco
- Level 4
- Messages : 148
bonjour,
Pour info j’ai commencé à parler de mon dernier projet sur de Discord Pistorm, section hardware.
Si certains ont les compétences pour assembler le leur et voudront tester, ils seront les bienvenus dès que j’aurai pu le publier.
Github du projet : https://github.com/f1ac0/PistormX
Stay tuned !
-
CréateurSujet
-
AuteurRéponses
-
25 mai 2023 à 23 h 33 min #162159
flaco
- Level 4
- Messages : 148
Pour information je viens d’ajouter la seconde version de la carte PiStorm’X 1K2, plus courte, et plus traditionnelle avec le Pi accessible dans la trapdoor.
Pour le DIY si on ne tient pas à refermer la trapdoor elle autorise d’utiliser un pin socket traditionnel plutôt que de devoir trouver un socket de hauteur réduite avec entrée par le bas. Les rallonges de carte SD dont la partie rigide est trop longue ne devraient cependant pas y passer lorsque un utilise un tel socket et que le Pi tient dans la trapdoor.
3 juin 2023 à 12 h 53 min #162539flaco
- Level 4
- Messages : 148
sur un 2000 le DMA ne fonctionne pas, sais tu ci c’est hard ou soft ? Et cela pourrais fonctionner avec ta version ?
Ce qui devait arriver arriva, et j’ai pris un moment pour faire un firmware pour la carte PiStorm’X avec le support des signaux d’arbitrage du bus, qui devraient idéalement pouvoir faire fonctionner les périphériques DMA !
C’est dans mon git, mais donc c’est pas testé puisque je n’ai pas d’A2000 ni de carte d’extension.
se ne serais pas ce qu’il appel « bus master » en fait le transfert DMA
Effectivement c’est lié et c’est un bon résumé de ma précédente explication : pour pouvoir faire des accès directs à la mémoire où à d’autres périphériques (DMA) le périphérique en question doit pouvoir devenir « maître du bus » (bus master) !
3 juin 2023 à 14 h 14 min #162572stephbb75
- Level 9
- Messages : 868
Salut,
Ce qui devait arriver arriva, et j’ai pris un moment pour faire un firmware pour la carte PiStorm’X avec le support des signaux d’arbitrage du bus, qui devraient idéalement pouvoir faire fonctionner les périphériques DMA !
Et bas c’est cool
Plus qu’a tester, le firmware fonctionnerais sur un Pistrom « standard » ?Bon, va falloir que je te lance sur les carte qui remplace les périf SCSI toi
https://youtube.com/@stephbb75
3 juin 2023 à 15 h 27 min #162579flaco
- Level 4
- Messages : 148
C’est que tu es vachement exigeant dis donc. Ce que j’ai commité ce matin c’est pour la carte PiStorm’X première du nom. La logique est différente et les composants aussi donc on ne peut pas utiliserces fichiers tels quels sur la carte PiStorm originale.
J’ai écris une erreur dans mon message du 23 mai : sur la carte CPU PiStorm originale les signaux d’arbitrage du bus sont bien connectés au CPLD via le switches/lever shifters 743384 U7. Les buffers 7416347 ont bien une sortie sur le bus 68000 pilotable par le CPLD : DATA_WR_OE et surtout ADDR_OE. Et dans le code la sortie M68K_BG_n est bloquée au niveau haut sans aucune logique pour prendre en compte BG. Donc ça ne me paraît pas impossible à réaliser pour celle-ci.
Et donc je trouve étrange que personne n’ait rien fait en ce sens si le problème est connu. En plus tu ne dois pas être le seul à utiliser un A2000 vu qu’il y a des gens qui essayent de faire du blé avec des produits comme cela : https://www.tindie.com/products/retrofletch/pistorm-2k-for-a2000-amiga-2000-pistorm2k-black/
C’est soit disant conçu par un certain MadGrizzle. Sauf que manifestement je ne trouve aucune info partagée à son sujet, notamment là https://github.com/madgrizzle. J’ai pu passer à côté, mais sinon je n’aime vraiment pas les gens qui profitent mais sans contribuer en retour ni leur layout ni leur code, et qui pour le support de leurs clients renvoient vers le projet communautaire. Et s’ils n’ont pas fait le nécessaire pour adapter leur produit au système dans lequel il doit être installé alors c’est la cerise sur le gâteau.
3 juin 2023 à 23 h 05 min #162594flaco
- Level 4
- Messages : 148
Voici une tentative d’ajout de l’arbitration du bus dans la logique du Pistorm original.
Je peux donner le fichier svf compilé pour EPM240 à qui veut l’essayer. Il y a quand même un truc que mon Quartus 17 ne génère pas exactement le même bitstream pour le code original généré avec Quartus 20, j’espère que ça n’a pas d’incidence.
diff rtl/pistorm.v rtl-dma/pistorm.v
48c48
< output reg M68K_BG_n,
—
> output M68K_BG_n,
79c79
< M68K_BG_n <= 1’b1;
—
> // M68K_BG_n <= 1’b1;
83a84
> reg [1:0] bg_sync;
87a89
> bg_sync <= {bg_sync[0], bus_granted};
91a94,95
> wire bg_rising = !bg_sync[1] && bg_sync[0];
> wire bg_falling = bg_sync[1] && !bg_sync[0];
193a198,217
> if(bg_rising) begin
> M68K_AS_n <= 1’bz;
> M68K_UDS_n <= 1’bz;
> M68K_LDS_n <= 1’bz;
> LTCH_A_OE_n <= 1’bz;
> LTCH_D_WR_OE_n <= 1’bz;
> M68K_RW <= 1’bz;
> M68K_VMA_n <= 1’bz;
> end
> if(bg_falling) begin
> M68K_AS_n <= 1’b1;
> M68K_UDS_n <= 1’b1;
> M68K_LDS_n <= 1’b1;
> LTCH_A_OE_n <= 1’b1;
> LTCH_D_WR_OE_n <= 1’b1;
> M68K_RW <= 1’b1;
> M68K_VMA_n <= 1’b1;
> end
>
>
205c229
< if (op_req) begin
—
> if (op_req && !bus_granted) begin
277a302,318
>
> // BUS ARBITRATION CONTROL
> wire bus_requested = !M68K_BR_n;
> reg bus_granted = 1’b0;
>
> wire bgset = bus_requested & (state == 3’d1);
> wire bgreset = !bus_requested & M68K_BGACK_n;
> always @(posedge bgset, posedge bgreset) begin
> if(bgreset)
> bus_granted <= 1’b0;
> else
> bus_granted <= 1’b1;
> end
>
> // output M68K_BG,
> // indicates to all other potential bus master devices that the processor will relinquish bus control at the end of the current bus cycle.
> assign M68K_BG_n = bus_requested ? 1’b0:1’b1;De revoir le code original compliqué avec son horloge à 200MHz et (je trouve) pas très net et sans commentaire, ça m’a rappelé pourquoi j’avais dû tout refaire pour le PiStorm’X ;)
3 juin 2023 à 23 h 08 min #162595stephbb75
- Level 9
- Messages : 868
C’est que tu es vachement exigeant dis donc.
HA non, c’est juste une question
J’ai écris une erreur dans mon message du 23 mai :….Et donc je trouve étrange que personne n’ait rien fait en ce sens si le problème est connu.
J’avais pauser la question sur le discord, mais je ne me rappelle plus vraiment de la réponse !
Michal Schulz n’a pas de 2000 je crois bien déjà. et les autres je ne sais pasEn plus tu ne dois pas être le seul à utiliser un A2000
Non c’est sur !
vu qu’il y a des gens qui essayent de faire du blé avec des produits comme cela
Oui, y’en a qui ne doute de rien, qui se foute de tout !
Ma gueule en 1er et les autre crevezDe mémoire c’est un simple Pistorm avec la connectique pour le slot CPU du 2000 (à la place du 68000).
Et de mémoire aussi effectivement il n’y a jamais eu de diffusion du plan.Moi j’utilise un adaptateur CPU (slot CPU vers 68000) puis un Pistrom « classique ».
Je n’ai pas ces PiStorm que tu branche directement sur le port CPU, beaucoup trop cher (mon fils (celle la faut avoir 50 ans pour la comprendre !!!))https://youtube.com/@stephbb75
-
AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.