Interface VG5000 - carte SD
Modérateurs : Papy.G, fneck, Carl
Interface VG5000 - carte SD
En étudiant le schéma du VG5000 on voit que les signaux REM (télécommande), RK7 (lecture cassette) et WK7 (écriture cassette) passent par la nappe reliant la carte mère à la platine magnétophone. A priori ils doivent être au niveau TTL. On retrouve les mêmes signaux que sur le MO5, et les développements d'interface carte SD doivent être facilement transposables. Qu'en pensent les électroniciens
Pour le soft il n'y a aucun souci, les 3 signaux sont accessibles sur le port 0afh du Z80 :
- bit 0 : écriture cassette
- bit 1: télécommande
- bit 7: lecture cassette
On utiliserait les bits 0 et 7 comme DIN et DOUT pour la liaison SPI, et le bit 1 comme horloge.
[Edit]
Attention, les signaux de lecture/écriture cassette ne sont pas RK7 et WK7, comme écrit par erreur ci-dessus, mais CMTIN et CMTOUT.
Pour le soft il n'y a aucun souci, les 3 signaux sont accessibles sur le port 0afh du Z80 :
- bit 0 : écriture cassette
- bit 1: télécommande
- bit 7: lecture cassette
On utiliserait les bits 0 et 7 comme DIN et DOUT pour la liaison SPI, et le bit 1 comme horloge.
[Edit]
Attention, les signaux de lecture/écriture cassette ne sont pas RK7 et WK7, comme écrit par erreur ci-dessus, mais CMTIN et CMTOUT.
Dernière modification par Daniel le 02 juin 2012 19:03, modifié 1 fois.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
- benoit14
- Messages : 998
- Inscription : 08 mai 2012 12:00
- Localisation : Caen, Normandie (là où il fait toujours beau !)
- Contact :
Re: Interface VG5000 - carte SD
Toutes les machines vont y passer !
Je suis passionné de micro mais je me soigne !
Ma collection : http://www.auditsi.eu/?page_id=1983
Ma collection : http://www.auditsi.eu/?page_id=1983
- Carl
- Modérateur
- Messages : 13254
- Inscription : 08 avr. 2007 13:21
- Localisation : http://www.doledujura.fr
- Contact :
- Carl
- Modérateur
- Messages : 13254
- Inscription : 08 avr. 2007 13:21
- Localisation : http://www.doledujura.fr
- Contact :
Re: Interface VG5000 - carte SD
Oui, j'avais lu aussi le premier document. Il n'y a aucune raison que ça ne marche pas. En mode "carte SD" les circuits d'interface son et vidéo du schéma ci-dessus ne seraient pas utilisés.
Techniquement c'est un peu plus compliqué que pour le MO5, mais pas insurmontable : il faut ouvrir le VG5000 et mettre un connecteur sur la nappe. L'idéal serait d'ajouter un commutateur pour pouvoir connecter soit le magnétophone (nécessaire pour charger le programme de boot), soit la carte SD. le tout accessible de l'extérieur pour permettre de refermer le boîtier.
Reste à convertir le driver du MO5 en assembleur Z80. Ce n'est pas difficile et il y a des spécialistes parmi les membres du forum
Techniquement c'est un peu plus compliqué que pour le MO5, mais pas insurmontable : il faut ouvrir le VG5000 et mettre un connecteur sur la nappe. L'idéal serait d'ajouter un commutateur pour pouvoir connecter soit le magnétophone (nécessaire pour charger le programme de boot), soit la carte SD. le tout accessible de l'extérieur pour permettre de refermer le boîtier.
Reste à convertir le driver du MO5 en assembleur Z80. Ce n'est pas difficile et il y a des spécialistes parmi les membres du forum
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
- Carl
- Modérateur
- Messages : 13254
- Inscription : 08 avr. 2007 13:21
- Localisation : http://www.doledujura.fr
- Contact :
Re: Interface VG5000 - carte SD
Daniel, si un jour le driver existe, j'ouvre un VG pour faire la modif....
pour le programme de boot, il serait possible de le griller en eprom et l'incorporer dans une cartouche type VU0031 mais il faut l'extension VG5216....
ou alors on incorpore le code du boot dans la rom basic car il me semble qu'il y a de l'espace libre ?
carl
pour le programme de boot, il serait possible de le griller en eprom et l'incorporer dans une cartouche type VU0031 mais il faut l'extension VG5216....
ou alors on incorpore le code du boot dans la rom basic car il me semble qu'il y a de l'espace libre ?
carl
Re: Interface VG5000 - carte SD
Dans un premier temps, il faut réaliser un prototype pour prouver que ça marche.
Le schéma :
[Edit]
Attention, les signaux de lecture/écriture cassette ne sont pas RK7 et WK7, comme écrit par erreur ci-dessus, mais CMTIN et CMTOUT.
Le driver MO5 en assembleur 6809 à transposer pour le VG5000 en assembleur Z80 :
Le schéma :
[Edit]
Attention, les signaux de lecture/écriture cassette ne sont pas RK7 et WK7, comme écrit par erreur ci-dessus, mais CMTIN et CMTOUT.
Le driver MO5 en assembleur 6809 à transposer pour le VG5000 en assembleur Z80 :
Code : Tout sélectionner
/**************************************************\
* M O 5 S D - B O O T *
* (c) 2012 - Daniel Coulom *
* http://dcmoto.free.fr/ *
* http://forum.system-cfg.com/ *
*--------------------------------------------------*
* Ce code est distribue gratuitement dans l'espoir *
* qu'il sera utile, mais sans aucune garantie et *
* sans engager la responsabilité de l'auteur. *
* Vous pouvez l' utiliser, le modifier et le *
* diffuser librement, en conservant cette licence *
* et les références de l'auteur dans toutes les *
* copies. L'exploitation commerciale est interdite.*
\**************************************************/
* Ce programme fait partie du projet MO5SD
* Il réalise les fonctions suivantes
* - initialisation de la carte SD ou SDHC
* - retour du type de carte (SD ou SDHC)
* - chargement du premier secteur en mémoire ecran
* - lancement de l'exécution en $0000
/**************************************************\
* Version 2012.05.24 *
\**************************************************/
* Historique
* 2012.05.24 ameliorations mineures
* 2012.05.23 integration de MO5BOOT1 et de MO5BOOT2
* 2012.04.23 appel de fonctions de mo5sd-boot1
* 2012.04.13 position de secteur de boot paramétrable
* 2012.04.10 améliorations mineures et ajout licence
* 2012.04.09 paramètres passés par des vecteurs en RAM
* 2012.04.08 première version compatible SD et SDHC
* 2012.03.28 première version opérationnelle (SD seule)
*------------------------------------------------------
* INITIALISATIONS
*------------------------------------------------------
ORG $5E00 chargement en $5E00
5E00 343E PSHS Y,X,DP,B,A empile les registres utilises
5E02 1AD0 ORCC #$D0 desactive les interruptions
5E04 86A7 LDA #$A7 valeur d'initialisation de DP
5E06 1F8B TFR A,DP initialisation de DP
5E08 D6C0 LDB <$C0 port A du PIA systeme
5E0A CA41 ORB #$41 set bits 0 et 6
5E0C D7C0 STB <$C0 video formes + DIN high
*------------------------------------------------------
* POWER ON
*------------------------------------------------------
POWER
5E0E 8E000A LDX #$000A compteur de boucle
POWER1
5E11 1700A9 LBSR RBYTE envoi de 8 tops d'horloge
5E14 301F LEAX -1,X decrementation compteur
5E16 26F9 BNE POWER1 boucle 10 fois
*------------------------------------------------------
* CMD0 = SOFTWARE RESET
*------------------------------------------------------
5E18 308D00E4 LEAX CMD0,PCR commande CMD0
5E1C 170083 LBSR EXCMD execution commande
5E1F 251F BCS ERROR retour erreur 6
*------------------------------------------------------
* CMD8 = SEND INTERFACE CONDITION
* reconnue uniquement par SDHC
*------------------------------------------------------
5E21 308D00E2 LEAX CMD8,PCR commande CMD8
5E25 8D7B BSR EXCMD execution commande
*------------------------------------------------------
* CMD55 + ACMD41 = INITIALISATION
*------------------------------------------------------
INIT
5E27 C620 LDB #$20 32 essais avant abandon
INIT1
5E29 3404 PSHS B
5E2B 308D00DF LEAX CMD55,PCR CMD55
5E2F 8D71 BSR EXCMD execution commande
5E31 308D00E0 LEAX AC41,PCR ACMD41
5E35 8D6B BSR EXCMD execution commande
5E37 3504 PULS B
5E39 A184 CMPA ,X controle code retour
5E3B 2708 BEQ TESTC pas d'erreur
5E3D 5A DECB decrementation compteur
5E3E 26E9 BNE INIT1 nouvel essai
*------------------------------------------------------
* RETOUR EN ERREUR
*------------------------------------------------------
ERROR
5E40 BF5EFA STX ERRID adresse commande en erreur
5E43 35BE PULS A,B,DP,X,Y,PC retour au Basic
*------------------------------------------------------
* TEST DU TYPE DE CARTE
*------------------------------------------------------
TESTC
5E45 308D00D3 LEAX CMD58,PCR commande CMD58
5E49 8D57 BSR EXCMD execution commande
5E4B 25F3 BCS ERROR retour erreur 34
5E4D 8D6E BSR RBYTE lecture OCR poids fort
5E4F 48 ASLA isole le type de carte
5E50 308D009E LEAX SDTYP,PCR adresse zone de travail ram
5E54 A780 STA ,X+ stockage type carte en $1FD6
5E56 8D65 BSR RBYTE lecture OCR 2eme octet
5E58 8D63 BSR RBYTE lecture OCR 3eme octet
5E5A 8D61 BSR RBYTE lecture OCR 4eme octet
*------------------------------------------------------
* LECTURE DE SECTEURS
*------------------------------------------------------
RSECT
5E5C 108E FDB $108E LDY
5E5E 0000 ADDR0 FDB $0000 adresse du buffer
RSECT1
5E60 308D008F LEAX CMD17,PCR adresse commande CMD17
5E64 8D3C BSR EXCMD execution commande
RSECT2
5E66 8D55 BSR RBYTE lecture octet
5E68 81FE CMPA #$FE comparaison avec $FE
5E6A 26FA BNE RSECT2 attente debut secteur
5E6C 8E0200 LDX #$0200 initialisation compteur
RSECT3
5E6F 8D4C BSR RBYTE lecture d'un octet
5E71 A7A0 STA ,Y+ stockage
5E73 301F LEAX -1,X decrementation compteur
5E75 26F8 BNE RSECT3 nouvelle lecture
5E77 8D44 BSR RBYTE lecture CRC1
5E79 8D42 BSR RBYTE lecture CRC2
5E7B 6D8D0073 TST SDTYP,PCR test du type de carte
5E7F 2B0D BMI RSECT4 carte SDHC
5E81 EC8D0070 LDD SECT2,PCR ancienne adresse
5E85 C30002 ADDD #$0002 secteur suivant
5E88 ED8D0069 STD SECT2,PCR nouvelle adresse
5E8C 200B BRA RSECT5 test de fin de lecture
RSECT4
5E8E EC8D0064 LDD SECT3,PCR ancienne adresse
5E92 C30001 ADDD #$0001 secteur suivant
5E95 ED8D005D STD SECT3,PCR nouvelle adresse
RSECT5
5E99 108C FDB $108C CMPY test adresse fin
5E9B 0000 ADDR1 FDB $0000 adresse de fin de chargement
5E9D 23C1 BLS RSECT1 lecture secteur suivant
*------------------------------------------------------
* LANCEMENT DE L'EXECUTION DU PROGRAMME CHARGE
*------------------------------------------------------
5E9F 7E FCB $7E JMP
5EA0 0000 ADDR2 FDB $0000 $0000 (adresse execution)
*------------------------------------------------------
* EXECUTION D'UNE COMMANDE
*------------------------------------------------------
EXCMD
5EA2 8D19 BSR RBYTE envoi de 8 tops d'horloge
5EA4 C606 LDB #$06 boucle sur 6 octets
5EA6 3404 PSHS B
EXCM1
5EA8 A680 LDA ,X+ chargement octet de commande
5EAA 8D22 BSR WBYTE ecriture de l'octet
5EAC 6AE4 DEC ,S
5EAE 26F8 BNE EXCM1
EXCM2
5EB0 8D0B BSR RBYTE lecture code de retour
5EB2 A184 CMPA ,X test code de retour
5EB4 2705 BEQ EXCM3 code bon
5EB6 6AE4 DEC ,S
5EB8 26F6 BNE EXCM2
5EBA 53 COMB carry set en erreur
EXCM3
5EBB 3584 PULS B,PC
*------------------------------------------------------
* LECTURE D'UN OCTET (REG A)
*------------------------------------------------------
RBYTE
5EBD 86FE LDA #$FE
RBYTE1
5EBF D6C0 LDB <$C0 read bit
5EC1 58 ASLB bit stocke dans C
5EC2 C63E LDB #$3E
5EC4 D7C2 STB <$C2 clock high
5EC6 C636 LDB #$36
5EC8 D7C2 STB <$C2 clock low
5ECA 49 ROLA store bit
5ECB 25F2 BCS RBYTE1
5ECD 39 RTS
*------------------------------------------------------
* ECRITURE D'UN OCTET (REG A)
*------------------------------------------------------
WBYTE
5ECE C608 LDB #$08 boucle sur 8 bits
5ED0 3404 PSHS B
WBYTE1
5ED2 D6C0 LDB <$C0
5ED4 48 ASLA store bit to C
5ED5 2403 BCC WBYTE2
5ED7 CA41 ORB #$41 b6=1, b0=1 (video forme)
5ED9 8C FCB $8C 8CC4BF CMPX #$C4BF
WBYTE2
5EDA C4BF ANDB #$BF b6=0, b0 inchangé
5EDC D7C0 STB <$C0 DIN
5EDE C63E LDB #$3E
5EE0 D7C2 STB <$C2 clock high
5EE2 C636 LDB #$36
5EE4 D7C2 STB <$C2 clock low
5EE6 6AE4 DEC ,S
5EE8 26E8 BNE WBYTE1
5EEA D6C0 LDB <$C0
5EEC CA41 ORB #$41
5EEE D7C0 STB <$C0 keep the DIN high
5EF0 3584 PULS B,PC
*------------------------------------------------------
* TYPE DE CARTE ET COMMANDE CMD17
*------------------------------------------------------
5EF2 80 SDTYP FCB $80 type carte $00=SD, $80=SDHC
5EF3 51 CMD17 FCB $51 read block
5EF4 00 SECT1 FCB $00 adresse octet 1
5EF5 00 SECT2 FCB $00 edresse octet 2
5EF6 00 SECT3 FCB $00 adresse octet 3
5EF7 00 SECT4 FCB $00 adresse octet 4
5EF8 FF00 CHECK FDB $FF00 checksum et code retour
5EFA 0000 ERRID FDB $0000 adresse de l'erreur
*------------------------------------------------------
* COMMANDES POUR L'INITIALISATION
*------------------------------------------------------
ORG $5F00
5F00 40 CMD0 FCB $40 go iddle state
5F01 0000 FDB $0000
5F03 0000 FDB $0000
5F05 9501 FDB $9501
5F07 48 CMD8 FCB $48 send interface condition
5F08 0000 FDB $0000
5F0A 01AA FDB $01AA
5F0C 8700 FDB $8700
5F0E 77 CMD55 FCB $77 application command
5F0F 0000 FDB $0000
5F11 0000 FDB $0000
5F13 6500 FDB $6500
5F15 69 AC41 FCB $69 activate card initialization
5F16 4000 FDB $4000
5F18 0000 FDB $0000
5F1A 7700 FDB $7700
5F1C 7A CMD58 FCB $7A read OCR
5F1D 0000 FDB $0000
5F1F 0000 FDB $0000
5F21 FD00 FCB $FD,$00
ORG $5FFF fin du programme de boot
5FFF 00 FCB $00
END
SYMBOL TABLE
AC41 02 5F15 ADDR0 02 5E5E ADDR1 02 5E9B ADDR2 02 5EA0
CHECK 02 5EF8 CMD0 02 5F00 CMD17 02 5EF3 CMD55 02 5F0E
CMD58 02 5F1C CMD8 02 5F07 ERRID 02 5EFA ERROR 02 5E40
EXCM1 02 5EA8 EXCM2 02 5EB0 EXCM3 02 5EBB EXCMD 02 5EA2
INIT 02 5E27 INIT1 02 5E29 POWER 02 5E0E POWER1 02 5E11
RBYTE 02 5EBD RBYTE1 02 5EBF RSECT 02 5E5C RSECT1 02 5E60
RSECT2 02 5E66 RSECT3 02 5E6F RSECT4 02 5E8E RSECT5 02 5E99
SDTYP 02 5EF2 SECT1 02 5EF4 SECT2 02 5EF5 SECT3 02 5EF6
SECT4 02 5EF7 TESTC 02 5E45 WBYTE 02 5ECE WBYTE1 02 5ED2
WBYTE2 02 5EDA
37 SYMBOLS
0 error(s), 0 warning(s)
Dernière modification par Daniel le 02 juin 2012 19:04, modifié 1 fois.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: Interface VG5000 - carte SD
Bonjour,
Je vote pour cette interface ! C'est vrai qu'intégrer le boot dans la ROM du VG5000 semble être l'idéal,
mais je ne suis pas sûr qu'il y ait autant de place que ça...
Pour la conversion du code, je n'y connais absolument rien en langage 6809 (honte sur moi), je ne suis donc
pas le plus indiqué pour cette tâche.
Markerror
Je vote pour cette interface ! C'est vrai qu'intégrer le boot dans la ROM du VG5000 semble être l'idéal,
mais je ne suis pas sûr qu'il y ait autant de place que ça...
Pour la conversion du code, je n'y connais absolument rien en langage 6809 (honte sur moi), je ne suis donc
pas le plus indiqué pour cette tâche.
Markerror
Re: Interface VG5000 - carte SD
Il y a 192 octets libres en fin de rom Basic. On doit pouvoir aussi récupérer environ 128 octets entre 1863h et 1944h. Ca devrait suffire si le code Z80 n'est pas plus long que le code 6809. Mais, encore une fois, commençons par faire fonctionner le système avec un boot sur cassette. Avant, rien n'est sûr. Après tous les rêves seront permis.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
- benoit14
- Messages : 998
- Inscription : 08 mai 2012 12:00
- Localisation : Caen, Normandie (là où il fait toujours beau !)
- Contact :
Re: Interface VG5000 - carte SD
Très millimétrée la place dispo... Il est possible d'écrire en ROM ? Pour moi, la ROM ne peut pas être modifiée... Vues tes prouesses en électronique, j'imagine que rien n'est impossible.
Je suis passionné de micro mais je me soigne !
Ma collection : http://www.auditsi.eu/?page_id=1983
Ma collection : http://www.auditsi.eu/?page_id=1983
Re: Interface VG5000 - carte SD
Il faudrait remplacer la ROM par une EPROM, et il me semble bien qu'elle est sur support dans le VG5000, donc l'opération sera facile.
Si ça marche, cela veut dire que l'interface va pouvoir se généraliser à presque toutes les machines françaises et autres (et limitées au support K7)... sauf, je n'en doute pas, au matériel Exelvision
Si ça marche, cela veut dire que l'interface va pouvoir se généraliser à presque toutes les machines françaises et autres (et limitées au support K7)... sauf, je n'en doute pas, au matériel Exelvision
Re: Interface VG5000 - carte SD
Pour l'EXL100 j'ai aussi cherché, mais pas encore trouvé la solution idéale. C'est possible, j'en suis sûr, soit en utilisant MDEN1 et MDEN2 sur le port d'extension, soit en récupérant les signaux lecture/écriture cassette au niveau TTL sur la carte mère, soit plus vraisemblablement en panachant les deux solutions, puisqu'il faut une entrée et deux sortie. On peut peut-être ouvrir un autre fil de discussion sur le sujet ?
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: Interface VG5000 - carte SD
Finaliser déjà la partie Thomson, puis VG5000, on verra plus tard pour Exelvision... ce matos est trop bizarre et risque d'entrainer une perte de temps inutile (il n'y a qu'à voir le fil de discussion sur l'utilisation du module HxC avec l'exeldisk... qui théoriquement devait pouvoir fonctionner).
Re: Interface VG5000 - carte SD
En plus vu l'étendue de la logithèque VG5000, la solution ne s'impose pas
Recherche: cartouches Mattel Intellivision Imagic (loose)
Star Jacker et Lode Runner sur Yeno/SEGA SC-3000
Star Jacker et Lode Runner sur Yeno/SEGA SC-3000
Re: Interface VG5000 - carte SD
Je pense que l'idée à la base n'était pas uniquement la logithèque mais aussi de fournir un support de stockage moderne pour des démos et faire revivre un peu ces vieilles machines.
ça prend encore plus son intérêt sur des machines limitées au lecteur K7.
ça peut permettre de se pencher et de s'amuser sur des machines a priori sans intérêt: série Alice, Aquarius, Exl100, Sanyo PHC-25, série LASER et j'en oublie.
ça prend encore plus son intérêt sur des machines limitées au lecteur K7.
ça peut permettre de se pencher et de s'amuser sur des machines a priori sans intérêt: série Alice, Aquarius, Exl100, Sanyo PHC-25, série LASER et j'en oublie.