Interface VG5000 - carte SD

Placez ici vos trucs et astuces, étalez sans retenue votre savoir-faire et votre science qui va nous permettre de redonner une apparence neuve et fonctionnelle à nos bouzes.

Modérateurs : Papy.G, fneck, Carl

Répondre
Daniel
Messages : 11917
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Interface VG5000 - carte SD

Message par Daniel » 30 mai 2012 21:33

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.
vg5000-k7.png
vg5000-k7.png (17.26 Kio) Vu 2453 fois
[Edit]
Attention, les signaux de lecture/écriture cassette ne sont pas RK7 et WK7, comme écrit par erreur ci-dessus, mais CMTIN et CMTOUT.
Modifié en dernier par Daniel le 02 juin 2012 19:03, modifié 1 fois.
Daniel
L'obstacle augmente mon ardeur.

Avatar du membre
benoit14
Messages : 997
Enregistré le : 08 mai 2012 12:00
Localisation : Caen, Normandie (là où il fait toujours beau !)
Contact :

Re: Interface VG5000 - carte SD

Message par benoit14 » 30 mai 2012 21:53

Toutes les machines vont y passer ! :D
Je suis passionné de micro mais je me soigne !
Ma collection : http://www.auditsi.eu/?page_id=1983

Avatar du membre
Carl
Modérateur
Messages : 10674
Enregistré le : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: Interface VG5000 - carte SD

Message par Carl » 30 mai 2012 22:28

Cool !
oui, de mémoire les signaux sont du TTL.
qlqs infos
Image

Avatar du membre
Carl
Modérateur
Messages : 10674
Enregistré le : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: Interface VG5000 - carte SD

Message par Carl » 30 mai 2012 22:41

Image

Daniel
Messages : 11917
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Interface VG5000 - carte SD

Message par Daniel » 30 mai 2012 22:46

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 :wink:
Daniel
L'obstacle augmente mon ardeur.

Avatar du membre
Carl
Modérateur
Messages : 10674
Enregistré le : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: Interface VG5000 - carte SD

Message par Carl » 30 mai 2012 22:52

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

Daniel
Messages : 11917
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Interface VG5000 - carte SD

Message par Daniel » 31 mai 2012 08:06

Dans un premier temps, il faut réaliser un prototype pour prouver que ça marche.

Le schéma :
vg5000sd.png
vg5000sd.png (1.54 Kio) Vu 2418 fois
[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)
Modifié en dernier par Daniel le 02 juin 2012 19:04, modifié 1 fois.
Daniel
L'obstacle augmente mon ardeur.

Markerror
Messages : 1484
Enregistré le : 31 oct. 2011 19:21
Localisation : Orléans
Contact :

Re: Interface VG5000 - carte SD

Message par Markerror » 31 mai 2012 10:06

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

Daniel
Messages : 11917
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Interface VG5000 - carte SD

Message par Daniel » 31 mai 2012 10:40

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.

Avatar du membre
benoit14
Messages : 997
Enregistré le : 08 mai 2012 12:00
Localisation : Caen, Normandie (là où il fait toujours beau !)
Contact :

Re: Interface VG5000 - carte SD

Message par benoit14 » 31 mai 2012 11:10

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

jester
Messages : 2252
Enregistré le : 01 janv. 2009 23:16
Localisation : Grenoble

Re: Interface VG5000 - carte SD

Message par jester » 31 mai 2012 11:32

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 :mrgreen:

Daniel
Messages : 11917
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Interface VG5000 - carte SD

Message par Daniel » 31 mai 2012 12:09

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.

jester
Messages : 2252
Enregistré le : 01 janv. 2009 23:16
Localisation : Grenoble

Re: Interface VG5000 - carte SD

Message par jester » 31 mai 2012 12:18

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).

Avatar du membre
DataPro
Messages : 1931
Enregistré le : 07 févr. 2011 17:03
Localisation : France - Auvergne

Re: Interface VG5000 - carte SD

Message par DataPro » 31 mai 2012 13:39

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

jester
Messages : 2252
Enregistré le : 01 janv. 2009 23:16
Localisation : Grenoble

Re: Interface VG5000 - carte SD

Message par jester » 31 mai 2012 14:00

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.

Répondre