- Ce sujet contient 50 réponses, 7 participants et a été mis à jour pour la dernière fois par
Kimy, le il y a 12 mois.
-
CréateurSujet
-
12 février 2022 à 22 h 29 min #136799
flaco
- Level 5
- Messages : 221
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 5
- Messages : 221
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 5
- Messages : 221
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 11
- Messages : 1480
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 5
- Messages : 221
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 5
- Messages : 221
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 11
- Messages : 1480
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
20 février 2024 à 22 h 05 min #175778flaco
- Level 5
- Messages : 221
Bonjour,
Après ma déconvenue récente sur mon 500, je suis soulagé ce soir et je vous partage ma joie.
Après un bug et un faux contact sur une soudure du CPLD j’ai enfin fait marcher mon PiStorm’X 600 :
Au menu, il reprend les fonctionnalités du PiStorm’X68K en permettant de désactiver le Pi au profit du 68K, au moyen d’un reset long.
Comme il restait suffisamment de place sur le PCB et dans le CPLD, j’ai ajouté une puce de 2Mo de Fast Ram autoconfig. Ca ne sert pas à grand chose en mode PiStorm (même si elle est bien présente) vu la quantité de RAM par ailleurs, mais lorsque celui-ci est désactivé c’est un bonus non négligeable pour le 68K. A moi Final Fight !
Maintenant il reste à réparer le 500… et le PiStorm’X1K2.
20 février 2024 à 23 h 05 min #175781stephbb75
- Level 11
- Messages : 1480
Salut,
Trop coll tout cela, tu l’a présent sur le discord ?
De pouvoir désactiver le Pistorm peux intéressé certain pour utiliser les originaux parfois.
Moi perso le 600 c’est non, mais je sais que pas mal l’utilise
https://youtube.com/@stephbb75
20 février 2024 à 23 h 24 min #175784flaco
- Level 5
- Messages : 221
Alors je vais déjà nettoyer et commiter les corrections dans les sources avant de l’annoncer là bas.
Je vais aussi transférer ces mêmes corrections dans la version 500 car peu ou prou c’est la même chose (à part que le 68k est optionnel et qu’il faut gérer les signaux 6800 E VPA et VMA) et donc cela devrait aussi fonctionner aussi… même si je n’ai plus de machine fonctionnelle pour le tester pour le moment.
J’ai découvert au passage que emu68 fournit 512K de ranger ram, je n’avais jamais fait attention ! Au départ j’ai cru que c’était un bug de ma logique, mais elle s’est avérée bien fonctionnelle.
Là je viens de le faire tourner plusieurs heures à la suite sans problème, alternant le 68K et le Pi3A. Je constate juste les soucis habituels avec les softs sur disquette qui n’apprécient pas d’être trop accélérés.
Trucs que je n’ai pas testés :
- le RTG car mon câble HDMI bute sur la coque plastique. Peut être que j’y installerai un Pi zéro2 ou alors il faut que je trouve un cordon HDMI coudé pour le faire passer par le modulateur qui est déjà retiré de ma machine.
- l’IDE, lors de mon premier test mon adaptateur ou la carte SD n’étaient pas reconnus aussi je les ai retirés, mais de mémoire j’avais déjà eu des faux contacts dans la nappe, à moins que je les ai fingués sans m’en apercevoir pendant le débuguage où je n’ai pas pensé à les retirer. Je me demande d’ailleurs s’il est sensé marcher en mode PiStorm, car peut être que Emu68 prend sa place pour émuler ses disques ? Néanmoins il devrait au moins marcher en mode 68K.
21 février 2024 à 8 h 18 min #175786stephbb75
- Level 11
- Messages : 1480
Salut,
’ai découvert au passage que emu68 fournit 512K de ranger ram,
Heuuu c’est quoi de la ranger RAM ?
le RTG car mon câble HDMI bute sur la coque plastique…
Moi j’utilise cela sur les 3 Amiga avec Pistorm :
https://fr.aliexpress.com/item/1005006437300837.html
(1er liens trouvé !!!) et cela fonctionne très bien.l’IDE, lors de mon premier test mon adaptateur ou la carte SD n’étaient pas reconnus…
Utilise un DOM cela fonctionne vraiment très bien, prend peut de place !
https://fr.aliexpress.com/item/1005003548648501.html
Pareil, 1er liens trouvéJe me demande d’ailleurs s’il est sensé marcher en mode PiStorm
Non cela fonctionne très bien avec le Pistorm, sur mon 1200 j’ai un DOM et j’y accède très bien depuis Emu68.
Sur le 600 cela fonctionne aussi même si je n’ai pas testé personnellement.car peut être que Emu68 prend sa place pour émuler ses disques ?
Non, il n’utilise pas le même device et emplacement physique.
https://youtube.com/@stephbb75
21 février 2024 à 10 h 46 min #175789StaffZarnal
- Level 22
- Messages : 7913
Heuuu c’est quoi de la ranger RAM ?
De la Slow.
A1200 Commodore mutant " FrankenAmiga" + 68040 + 8MO + SD 8go - A1200 ESCOM. HD 20MO. Mon meilleur et seul A500 : WinUae. CPC 6128-CPC 464.
21 février 2024 à 10 h 56 min #175791Kimy
- Level 17
- Messages : 3523
J’ai une question un peu HS, mais comme vous parlez de RAM…
Qu’est-ce donc que cette « autre mémoire » sur le « xT Turbo – 28 Mhz, 11 MB, Boot Selector et MapROM pour A600 »:
11 MB de RAM (8 MB de FAST RAM, 1,5 de SLOW et 1,5 MB d’autre mémoire).
Serait-ce également de la « Slow » ?
Une mémoire directement connectée au CPU par le Zorro II ?
Merci
Source: https://www.micromiga.com/produit/xt-turbo-28mhz-11mb-bootselector-et-maprom-pour-a600/
21 février 2024 à 13 h 44 min #175797flaco
- Level 5
- Messages : 221
Qu’est-ce donc que cette « autre mémoire » sur le « xT Turbo – 28 Mhz, 11 MB, Boot Selector et MapROM pour A600 »:
Outre la zone autoconfig de 8Mo de l’adresse 200000 à 9fffff, la zone trapdoor (ou ranger ram) de 1.5Mo entre c00000 et d7ffff, il est aussi possible de mapper une mémoire entre a80000 et beffff. Pour utiliser cette dernière il faut l’ajouter manuellement avec une commande qui appelle la fonction addmem de la rom avec la plage d’adresse à ajouter.
Je n’aime pas utiliser le mot slow ram car dans les faits avec ces extensions l’accès est direct par le CPU sans être ralenti par le chipset. La seule vraie slow ram est celle de la trapdoor du 500 sur les systèmes qui ne sont pas modifiés pour la transformer en chip.
21 février 2024 à 18 h 19 min #175830Kimy
- Level 17
- Messages : 3523
[…] il est aussi possible de mapper une mémoire entre a80000 et beffff. Pour utiliser cette dernière, il faut l’ajouter manuellement avec une commande qui appelle la fonction addmem de la rom avec la plage d’adresse à ajouter.
Donc, ça serait cette RAM qui est nommée « autre mémoire ».
J’ai bien compris ?
21 février 2024 à 20 h 34 min #175835flaco
- Level 5
- Messages : 221
J’ai bien compris ?
A mon sens oui ;)
-
AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.