Page 9 sur 31

Re: Interface VG5000 - carte SD

Publié : 30 août 2019 15:10
par hlide
Bonne question. Je ne vois pas de connecteur JTAG sur la carte. Est-ce à dire que le MAX est programmé en extérieur avant d'être inséré ?

J'ai eu l'occasion d'utiliser l'ISE (pour un Spartan 6) et le Vivado (pour un Zynq-7020) de Xilinx ansi que le Quartus (pour MiSTer) d'Altera mais dans l'ensemble je n'avais pas besoin de passer par une solution JTAG. Honnêtement, je n'ai pas vu vraiment de différence.

Re: Interface VG5000 - carte SD

Publié : 30 août 2019 15:20
par __sam__
Sur certaines cartes de développement, on programme via la prise USB et le "debuggeur" présent sur la carte.

Re: Interface VG5000 - carte SD

Publié : 30 août 2019 15:52
par hlide
Pour le premier je passais par l'USB. Le second je crois aussi. Pour MiSTer, c'est plutôt par un fichier RBF placé dans un SD.

Re: Interface VG5000 - carte SD

Publié : 30 août 2019 17:25
par Fred_72
Je le programme à part en jtag via une petite carte (la série S permet la programmation jtag) et un usbblaster (qqs € sur ebay). Ici il sert au décodage d'adresses, la commutation des banques mémoire et le transfert des coordonnées de la souris (via 3 demux). Donc son programme n'est pas trop compliqué.
C'est une carte de dev, donc j'ai vu large (128 LEs) pour pouvoir tester différentes solutions au cas ou.

Je ne suis pas spécialiste du vhdl, je préfère le schématic :D
J'ai eu l'occasion d'utiliser du xilink et de l'altera (donc ise et quartus). Je préfère quartus dont l'ide est plus intuitive. Avec ise, on cherche tout le temps quel logiciel il faut utiliser pour faire telle ou telle partie.
mais bon après, c'est comme les logiciels de CAO, chacun est habitué à son logiciel et le trouve tellement plus simple qu'un autre ...

Pour commencer avec ces bestioles, il est plus simple de choisir un fpga car il n'a pas de cycles max d'écriture (le prog est en SRAM).

Re: Interface VG5000 - carte SD

Publié : 01 sept. 2019 18:29
par Fred_72
Voici une première mouture du système. C'est encore une version alpha, soyez indulgents :D
Pour le tester, il faut lancer l'émulateur dcvg5k en mode 48k.
puis taper:
CLEAR 50,&"7FFF"
POKE &"47F5",0
POKE &"47F6",128
ensuite il faut appuyer sur F9 pour accéder à la fenêtre de mise au point.
Puis charger les programmes en mémoire avec le bouton charger un fichier (à peu près à mi-hauteur) en n'oubliant pas de définir l'adresse avant.
en 8000h, le prog DOS_vg5k
en C000h le prog SSD16K
ensuite vous pouvez quitter cette fenêtre et il ne reste plus qu'à essayer.
J'ai mis 2 petits progs blitz et le 1er prog de citadelle mais vous pouvez écrire un petit prog basic et l'enregistrer.
Toutes les commandes sont opérationnelles sauf les SAVEF et LOADF
Bien entendu, la taille du SSD n'est que de 16K soit 32 secteurs (donc max ça peut descendre à 992). Le système ne fait pas encore de vérification de débordement donc ne soyez pas trop gourmands.
Les commandes doivent être précédées de DISK ou ..
SSDVG5K.zip
(4.98 Kio) Téléchargé 132 fois

Re: Interface VG5000 - carte SD

Publié : 01 sept. 2019 18:45
par Daniel
Excellent, c'est un bon début !
Il est peut-être trop tôt aujourd'hui, mais quand le projet sera terminé j'intégrerai l'émulation de la carte SD à l'émulateur dcvg5k.

ssdvg5k.png
ssdvg5k.png (11.34 Kio) Consulté 4143 fois

Re: Interface VG5000 - carte SD

Publié : 01 sept. 2019 20:12
par Markerror
Je viens de tester la bête, ça fonctionne !

J'ai essayé par contre une commande qui en théorie ne sert à rien, faire un DISK LOAD "fichier" depuis un programme.
Le programme écrase celui en mémoire mais le système retourne une erreur de syntaxe.
Si le système ne permet pas de faire de merge, ça serait utile du coup de retourner plutôt un message "commande interdite" ou autre.

Pour le reste, c'est un vrai plaisir de de bricoler des fichiers sans avoir à manipuler une cassette (physique ou virtuelle !).

Re: Interface VG5000 - carte SD

Publié : 01 sept. 2019 22:21
par Mokona
Cool.

Un petit script pour automatiser ça pour les utilisateurs de MAME

Code : Tout sélectionner

go $101c
HL=7FFF
go 2ad4
w@47f5 = $8000
load dos_vg5k.bin,$8000
load ssd16k.bin,$C000
go
Avec une ligne de commande pour charger ça :

Code : Tout sélectionner

mame64 vg5k -ramsize 48k -maximize -natural -debugscript ssd.mame.load -debug
(a priori, le debugger de Mame n'aime pas charger des fichiers qui ne sont pas en minuscules... je l'ai donc renommé)

L'astuce du script est que j'arrête le debuggeur au moment où la ROM a trouvé l'adresse max, et je la modifie pour être $7FFF, ce qui fait l'équivalent d'un CLEAR 50,&"7FFF". Ensuite, je modifie l'adresse du jump, ce qui remplace les POKE, puis les deux fichiers sont chargés aux bons endroits.

Re: Interface VG5000 - carte SD

Publié : 02 sept. 2019 12:24
par Fred_72
Ok, je vois d'où viens le soucis du load dans le prog: le pointeur de texte HL ne bouge pas et donc le système reprend l'exécution là où il s'était arrêté.
Il y a encore certainement pas mal de bugs mais ce n'est qu'une version alpha. La route est encore longue... :D

Re: Interface VG5000 - carte SD

Publié : 11 sept. 2019 18:56
par Fred_72
Sur les conseils de Daniel et Mokona, j'ai modifié la structure du système de fichier puis repris le code afin d'intégrer une meilleure gestion des chaînes. Désormais grâce aux cours de Mokona, les commandes peuvent prendre des paramètres composés (A$+"01", etc.).
J'arrive au délicat problème de gestion des banques mémoires (surtout la lecture/écriture dans une banque parallèle). C'est peut-être pour ça que le Vxdos se limitait à 16K. Il faut aussi gérer la pile pour ne pas la perdre en route.

En parallèle, j'ai terminé le routage du PCB de la cartouche. Elle fait la taille d'une cartouche VU0031. Encore quelques vérifications et je pourrai faire fabriquer le PCB. Le modèle 3D de la cartouche est déjà établi ce qui permettra de l'adapter parfaitement au PCB.
pcb_carte.jpg
pcb_carte.jpg (231.77 Kio) Consulté 4056 fois

Bref, ça avance... :)

Re: Interface VG5000 - carte SD

Publié : 11 sept. 2019 19:03
par Mokona
Ça prend forme!

Re: Interface VG5000 - carte SD

Publié : 11 sept. 2019 21:36
par Carl
en effet ! :-)

Carl

Re: Interface VG5000 - carte SD

Publié : 25 sept. 2019 17:59
par Fred_72
quelques nouvelles...

Le PCB est parti à la production.
J'ai avancé sur la partie SD. Pour l'instant ça marche, j'arrive à lire et écrire sur la carte dans un fichier existant. Les commandes DIR et FORMAT sont opérationnelles ainsi que la gestion des erreurs liées à la carte SD.
Par contre j'ai pas mal de soucis avec la commutation de banque RAM/ROM ce qui m'a obligé à modifier la ROM basic pour placer mon point d'entrée et à mettre des bout de codes dans les buffers en RAM [$4800 à $4900] pour le retour. De plus je sens que ça va poser problème pour l'intégration du hook. Bref ce n'est pas très propre aussi je vais plutôt utiliser le haut de la mémoire à partir de $E000. ça fait 8K de perdu pour la ram mais il reste quand même 40K et ça va simplifier pas mal de chose (Rom inchangée, pile, commutation ram/rom, points d'entrée et de sortie). On verra bien si c'est gênant pour la suite.

Re: Interface VG5000 - carte SD

Publié : 25 sept. 2019 20:03
par gotcha
Fred_72 a écrit : 25 sept. 2019 17:59 Le PCB est parti à la production.
Petite question un peu hors sujet: où fais tu produire le PCB ? S'il y a des composants CMS sur la carte, celui qui produit la carte peut-il les souder directement ?

Re: Interface VG5000 - carte SD

Publié : 25 sept. 2019 20:57
par Fred_72
Je fais appel à JLCPCB.
Je ne pense pas qu'ils fassent la soudure.