660

Petite parenthèse et retour sur la Dreamcast :

Après quelques recherche le gd-rom semble utiliser une interface compatible IDE-ATAPI (comme la majorité des lecteur CD/DVD), du moins au niveau registre. L'interface hardware semple néanmoins encore plus rudimentaire que l'ide (un simple bus 8bits d'après le pinout ci-dessous)

ici le brochage du lecteur (complet?) :
http://www.fuzzymuzzle.com/Bitmaster/CD_ROM_Port.htm

ici un emulateur DC, comprenant l'emulation GD-ROM:

http://www.lxdream.org/news/
http://www.lxdream.org/count.php?file=lxdream-0.9.tar.gz (dans src\gdrom)

Je n'ai pas trouvé d'informations plus précise sur le sujet (aucun schéma de la DC dispo...) , mais peut-être certains développeurs ont plus d'infos sur le sujet.

quelques doc sur la DC:
http://www.boob.co.uk/devdocs.html

L'affaire me semble possible, mais faut t'il encore réunir suffisamment d'infos fiables.

(Au fait il faudrait peut-etre ouvrir un thread ou un forum plus general pour le projet vu que celui-ci ne sera pas limité à l'atari non ?)


661

Très intéressant smile
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

662

Blup,

Viens de recevoir ma jolie SDCARD de chez Transcend de 16GB class6 en SD HC
on vas faire simple.... marche po avec mon sdiskemul !

Check du FS de la sdcard, on est en FAT32
depose du fichier FIRMWARE.21H a la racine ainsi que SDISK.SYS (le dernier en download) a la racine de la carte
Allumage de l'atari saint de SD, ca clignote a donf smile smile
On insere la zolie sdcard, POUF....SDCARD INITIALISATION FAILED

On re format la ca carte (pas de formatage rapide, le normal) sous XP en FAT32
on re copie les 2 fichiers, re-try

IDEM

Une idée cap'tain ?
Gi@nts
Fondateur de :
CPC-Hardware.com // CPC300dpi // AmigaMOD

Matos : Atari STf/CPC 464 & 6128/Amiga 500

663

oui une petite idée.

si clignotement rapide puis quand tu insert la sdhc direct (pas de clignotement) le message "SDCARD INITIALISATION FAILED"

sdisk a bien lu la sdcard mais ne reconnais la structure du ou des boots secteurs (MBR et boot secteur de partition optionnel)

il faudrait une copie du ou des boots secteurs de ta sdcard.


664

Yup,

MBR dispo ici : http://sasfepu78.free.fr/Tmp/16G.mbr

et dump du secteur 0 au secteur... humm 66 (apres y'a que des 00)
dispo ici : http://sasfepu78.free.fr/Tmp/SDCARD_16G.txt


Le 1er etant dumpé avec mbrutil (illisible t'elle qu'elle, prendre un editeur)
Le second via HxD au format visible Humain smile (via un browser par exemple)


Voilou
Gi@nts
Fondateur de :
CPC-Hardware.com // CPC300dpi // AmigaMOD

Matos : Atari STf/CPC 464 & 6128/Amiga 500

665


après une rapide analyze du boot secteur la raison est la suivante :

les clusters font une taille de 8ko et non 4ko (size cluster in sector offset $0d = $10) soit 16 sceteurs au lieu de 8

regarde quand tu formatte ta sdcard sous windows si tu peux changer la taille des clusters (normalement sur taille par defaut, a mettre sur 4ko)
ce parametre n'est accéssible que sous le gestionnaire de disque sur xp

666

sundance (./665) :
les clusters font une taille de 8ko et non 4ko (size cluster in sector offset $0d = $10) soit 16 sceteurs au lieu de 8
Tu as hardcodé la taille des clusters ?!

avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

667

oui la taille n'est pas paramétrable, d'un autre coté quand j'ai commencé le SDISK les sdcards faisaient 512mo....

je viens de verifier en effet 16go = cluster de 8ko

cependant je peux implémenter la reconnaissance d'une 2eme partition de 8go

donc la solution pour l'instant est de partitionné ta sdcard GIANTS en 2 fois 8go, normalement la premiere partition seras reconnue
(je dis bien normalement, j'ai pas de sdcard de 16go...pour essayer)
je peux faire evoluer le firmware pour qu'il reconnaisse la 2eme partition dans un premier temps

la ou je manque un peu d'information est sur le nouveau mode extended fat32 utilisé par xp/vista (une sombre histoire de codage sur 32 bits au lieu de 28 bits)
dans ce cas en 16 go on devrait pouvoir avoir des clusters de 4ko ouf !!!!
mais rien de moins sur avec crosoft .....
je vais finir par implementer le NTFS !!!

668

sundance (./667) :
oui la taille n'est pas paramétrable, d'un autre coté quand j'ai commencé le SDISK les sdcards faisaient 512mo....
Je ne critique pas, je suis juste un peu surpris. wink

La taille des clusters n'est pas imposée pour une taille de volume donnée ; Windows choisit une taille de clusters en fonction de la taille du volume, mais ce n'est qu'une des possibilités valides, ça peut très bien être différent si la carte a été formatée sur un autre système par exemple. C'est pour ça que ça me semble vraiment risqué de se limiter à une taille de clusters fixe. Sachant que le nombre de secteurs par clusters est toujours de la forme 2n, ça se gère facilement avec des décalages de bits (je l'ai fait pour le projet JagCF). À ta place j'implémenterai plutôt ça au lieu de la gestion des partitions multiples : si ton firmware est bien foutu (ce dont je ne doute pas ^^), tu ne devrais pas trop souffrir.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

669

Blup,

Effectivement via l'outil intégré a XP on peux choisir la taille d'unité d'allocation
MAIS pas pour le formatage de la SDCARD, ca reste bloqué a 'Taille d'allocation par défaut'

Partitionner ma sdcard en 2 partoches de 8 Giga.. bof bof
L'idée me plait pas plus que ca (aucune raison spécial)
C'est juste le genre de truc que je ne fait pas sur une carte memoire.
Ceci dit, y'a que les imbeciles qui ne change pas d'avis smile
Si vraiment on arrive pas a avoir d'autre solution, je ferais avec,
d'ailleurs je testerais ca demain (2 partoches) et je posterais en conséquence.

Pour l'implémentation du NTFS je dit +++ :happy)
Bon je me doute que ca doit etre coton pi la periode est pas vraiment propice
pour se lancer dans ce genre de chose !


MAJ : Bon, en utilisant Acronis Disk Suite j'ai pu formate ma partition de 16 giga
en FAT32 avec des cluster de 4Ko.
Add des fichiers precedement cité sur ma carte et essaie sur l'Atari
Il reconnait bien la carte et j'arrive a 'surfer' dessus !
Je lance bien une demo au format MSA

ch'a a l'air pas mal ca non ? wink
Gi@nts
Fondateur de :
CPC-Hardware.com // CPC300dpi // AmigaMOD

Matos : Atari STf/CPC 464 & 6128/Amiga 500

670

ça va être sympa le NTFS sur un PIC trilove

671

Pour l'implémentation du NTFS je dit +++ : happy )


Et bien quand on passera en ntfs (carte > a 32Go) on se fera notre propre filesystem ! wink

Bon je me doute que ca doit etre coton pi la periode est pas vraiment propice pour se lancer dans ce genre de chose !


là j'ai pas compris en fait? tu fais référence à quoi ?


672

Blup,


Comme j'ai cru comprendre que c'etait coton coton à coder la gestion du NTFS pour un PIC.
Je me dit que peut être en période Noel, de fête, de vacances, ce n'est peut etre pas
le bon moment pour se lancer dans un tel ouvrage.

Ceci dit, NTFS ou FAT32, je pense que ce que les gens veulent c'est que ca fonctionne, c'est tout
Et là, bein c'est le cas (formatage avec acronis avec bloc de 4K), donc, le ntfs peut attendre.

Je pense c'est plus clair la wink


Ps : Jeff, j'ai reçu tous les composants hier et fait le PCB hier soir, ca va etre mon p'tit cadeau de noel *_*
Gi@nts
Fondateur de :
CPC-Hardware.com // CPC300dpi // AmigaMOD

Matos : Atari STf/CPC 464 & 6128/Amiga 500

673

plutot que de sortir le marteau pilon du ntfs je pense qu'il pourra s'intéresser au support des clusters de 8 ko pour le fat32 cheeky

674

Pourquoi pas ZFS ? love

En plus ça marche partout, contrairement au NTFS de m...e !

Edit: ah non, pas sur cette d...e de Windows... roll
Codeur retraité coulant des jours paisibles...

Je raconte ma vie: http://blog.frosties.org/

675

MAJ : Bon, en utilisant Acronis Disk Suite j'ai pu formate ma partition de 16 giga
en FAT32 avec des cluster de 4Ko.
Add des fichiers precedement cité sur ma carte et essaie sur l'Atari
Il reconnait bien la carte et j'arrive a 'surfer' dessus !
Je lance bien une demo au format MSA


boing


cool , essai avec quelques milliers de fichiers dessus !!
je vais essayer de trouver un soft en freeware pour faire ca.(si quelqu'un a une autre idée)



"je vais finir par implementer le NTFS !!!" >>>>>>>>>> c'est de l'humour !!!! (ntfs est une usine a gaz)


en effet la solution est soit de supporter les clusters de 8ko / 16ko , ou le sdisk devrait pouvoir formater la sdcard tout simplement.c'est faisable en logiciel.
(mais pour l'instant c'est pas a l'ordre du jour)....


tromb Fichier joint : 0p5q (explorer.jpg)



après le kit de dev fpga le kit de dev pic32 viens d'arriver en ce moment j'ai la tète dans les schéma et étude.....

magic

676

677

Bon, mauvaise nouvelles pour les cartes SD : d'après mon contact, il n'y a actuellement aucun protocole public prévu pour remplacer le mode SPI dans la prochaine norme SD sad

Espérons que les fabricants continueront à implémenter le SPI même si ce n'est plus obligatoire...
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

678

Pour moi c'était déjà acquis. La question est : quelle genre d'interface auront ces nouvelles cartes ?

679

Aucune idée, mais de toute façon ça ne fait pas de différence si l'interface reste confidentielle (on pourra toujours essayer le reverse-engineering, mais du point de vue fiabilité, c'est pas top).
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

680

Coucou smile
Je viens de recevoir mon cadeau de noël, une carte de dev fpga smile (la même que sundance, ça tombe bien)

Donc je suis prêt pour tester des trucs

Au passage, quelques renseignements, j'aimerais savoir si je peux brancher les ports GPIO sur le bus de mon amstrad cpc (par exemple) sans risquer de tout faire exploser, c'est compatible avec du TTL en 5v ? ou y'a des bricolages à faire pour s'adapter ?
Je vais regarder un peu les docs fournies avec pour voir et commencer à bricoler un peu.

681

Dans le sens CPC->FPGA, faut vérifier si ton FGPA est 5V-tolerant (ça devient de plus en plus rare malheureusement).

Dans le sens FPGA->CPC, çà doit passer en branchant directement si le CPC attend des niveaux TTL (la plage de sortie de sortie CMOS 3.3 V recouvre la plage d'entrée TTL 5 V). Faut bien vérifier qu'il n'y a pas de pull-up à 5V sur les entrées du CPC, sinon même problème qu'au-dessus.

Si ça coince ou que tu veux être prudent, des buffers comme les 74LVC245 marchent bien pour interfacer les deux.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

682

PulkoMandy (./680) :
Au passage, quelques renseignements, j'aimerais savoir si je peux brancher les ports GPIO sur le bus de mon amstrad cpc (par exemple) sans risquer de tout faire exploser, c'est compatible avec du TTL en 5v ? ou y'a des bricolages à faire pour s'adapter ?
Je vais regarder un peu les docs fournies avec pour voir et commencer à bricoler un peu.

les ports GPIO sur cette carte son cablé directement sur le fpga (néanmoins a travers une résistance de 47ohm), je te déconseille de brancher dans le sens CPC->FPGA de la logique 5V. (Les fpga de la gamme cyclones ne sont pas 5V tolerant)
pour le cas FPGA->CPC, voir ./681 smile

Pour éviter tout problèmes, vaut mieux être trop prudent et bien tout protéger smile
avatar

683

Pour le floppy adaptation avec des 74ls14 (trigger de schmitt pour être immunisé contre les rebonds présent sur le bus floppy) / 74ls06 obligatoire dans les 2 sens. Le bus floppy est un bus open-collector, donc avec plein de pull-up 5V. Les pull-up se trouvent sur les entrées coté lecteur & coté contrôleur donc -> adaptation obligatoires.

voila ce que ça donne pour une config minimum:
hxcfedevboard.jpg

et voici le genre de signaux que l'on peut trouver sur un bus floppy:

74ls05vs74ls06.jpg

donc pas de connection directe a du cmos3.3v ;-)

684

Cool comme cadeau de noel !!! (altera DE1)>>>(http://home.hetnet.nl/~weeren001/ chut!)

bon un peu de nouvelles:

je travail toujours sur le schéma: je donnerai un lien d'ici la fin de la semaine pour le récuperer.

de cette facon ca vous donnera une idée du projet, ca permettra aussi de corriger mes erreurs, et d'ajouter / peaufiner le tout.

il y aura 4 protos de frabriqués, j'ai déja une bonne partie des composants :

BLOC ALIM 12V 1.6A
FLOPPY 3 1/2
CONNECTEUR SDCARD/USB/DB9/FLOPPY/BUS EXT
PIC32MX460F512L (le pic)
CY62167DV30LL (sram 2mo en 1mo x 16 bits 55ns) 1 ou 2 de cablés par proto
LM1881 (separateur de synchro)
74LSXX
pour le Cyclone III / regulateur etc ca viendra un peu plus tard.

magic

(ps: Bonne année 09)

685

sundance (./684) :
74LSXX
Pourquoi pas un truc un peu plus moderne comme des 74HCT ? wink

avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

686


en faite double implante certainement avec 74lvc245 (cms) / 74ls245 (dil) pour le bus externe,par contre
l'experience de Jeff sur le bus floppy montre que les vieilles technos s'accomodent bien avec certain vieux 74ls !!!
donc dans le sens fpga >> cpc/amiga/st/xxx/ floppy port les vieux ls correspondent bien au besoin.

mais après il y a le pb du 3.3 v dans le sens cpc/amiga/st/xxx/ floppy port >> fpga.
En épluchant un peut les datasheets, je vais bien trouver une famille de porte logique qui doit bien aller.

en gros le HCT ca marche en 3.3v ? 5v tolerant ? dans ce cas ? ne génère pas de transitoires / parasites ?

le question est posée .....

roll

687

HCT : CMOS (consomme moins et plus rapide [je crois] que les LS), marche en 5V, niveaux TTL 5V en entrée (donc OK pour du CMOS 3.3 V) et CMOS 5V en sortie. Ça devrait aller pour la conversion FPGA->extérieur.
(le LVC peut aller aussi, mais il ne sortira que 3.3 V. Ça peut aller si le bus floppy accepte des niveaux TTL, mais la marge de bruit sera plus faible)

Dans l'autre sens, le LVC convient très bien : 5 V tolerant, accepte des niveaux TTL ou CMOS 5V, sort du CMOS 3.3 V.
sundance (./686) :
ne génère pas de transitoires / parasites ?
Je pense pas que les transitoires soient générés par le circuit lui-même (ou alors il y a vraiment un problème, 2 volts d'undershoot c'est pas un comportement normal pour un circuit logique). Plutôt un problème de rebond de signal dans la nappe câble floppy à mon avis, ou un truc similaire. Le circuit du haut a un temps de montée plus long apparemment, c'est possible que ce soit pour ça qu'il se comporte mieux. Si ça pose problème, des petites résistances séries (+ éventuellement des condensateurs) pourrait peut-être améliorer les choses.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

688

Zerosquare (./685) :
sundance (./684) :
74LSXX
Pourquoi pas un truc un peu plus moderne comme des 74HCT ? wink


Parce que pas vraiment compatible : ça sort du cmos, et en plus c'est quasiment introuvable en open-collector (ou plutot open-drain...). Mais cela est possible pour les signaux d'entrées : le 74HCT14 est compatible-> entrée ttl.

Ceci dis il faut tout de même adapter les signaux 5V en provenance des 74LS14 vers le FPGA. Le moyen le moins cher est la résistance de limitation.
Sinon l'autre technique est de travailler en open collector 3.3V entre les 74LS14 & le fpga. Dernière technique: le buffer spécialisé.

A ce sujet Sundance sur la version que j'ai du schéma, il y a inversion des portes : les 74LS14 sont a utiliser seulement pour les signaux entrant et les 74LS06 pour les signaux de sorties que ce soit pour le connecteur "host" ou "device".

Sinon de mon coté j'ai bien avancé sur la partie format de fichier de stockage :
pour résumer :

/**** HxCFloppyEmulator 1.2.0.8 - 07/01/2009 ****
-> New disk image file format : AFI (Advanced Floppy Image)
-> Track based file format
-> MFM / FM / GCR / RAW support
-> Hard sectored track supported
-> Variable bitrate support
-> "Flakey bits" support
-> file data packed. (zlib)

Reste plus que la partie dump a realiser (je pense que je vais m'en charger en avance de phase)

Pour faire quelques tests de conversion ADF/ST/MSA/IPF,etc-> AFI :
http://hxc2001.free.fr/floppy_drive_emulator/HxC_Floppy_Emulator_soft_src.zip
http://hxc2001.free.fr/floppy_drive_emulator/HxCFloppyEmulator_soft.zip

Je vais préparer une présentation des détails techniques de ce format pour le poster ici.

689

Zerosquare (./687) :
HCT : CMOS (consomme moins et plus rapide [je crois] que les LS), marche en 5V, niveaux TTL 5V en entrée (donc OK pour du CMOS 3.3 V) et CMOS 5V en sortie. Ça devrait aller pour la conversion FPGA->extérieur.

Comme dit plus haut il faut de l'open collector pour les sorties. or du 74HCT06 ou 74HCT05 tu n'en trouveras pas des masses sur le web et en magasin ;-)
Et autre truc très important a ne pas oublier : il faut pouvoir driver 48mA, surtout su la partie host : en effet certain lecteur et système utilisent des pull-up de 150ohms sur du 5V! Le 74LS06 le permet !
Zerosquare (./687) :
(le LVC peut aller aussi, mais il ne sortira que 3.3 V. Ça peut aller si le bus floppy accepte des niveaux TTL, mais la marge de bruit sera plus faible)


Source de problème : la nappe est une véritable bobine :-/
Zerosquare (./687) :
Dans l'autre sens, le LVC convient très bien : 5 V tolerant, accepte des niveaux TTL ou CMOS 5V, sort du CMOS 3.3 V.
sundance (./686) :
ne génère pas de transitoires / parasites ?
Je pense pas que les transitoires soient générés par le circuit lui-même (ou alors il y a vraiment un problème, 2 volts d'undershoot c'est pas un comportement normal pour un circuit logique). Plutôt un problème de rebond de signal dans la nappe câble floppy à mon avis, ou un truc similaire. Le circuit du haut a un temps de montée plus long apparemment, c'est possible que ce soit pour ça qu'il se comporte mieux. Si ça pose problème, des petites résistances séries (+ éventuellement des condensateurs) pourrait peut-être améliorer les choses.


Effectivement c'est la longueur de piste & de la nappe qui joue. Et si le chip est un peu fort niveaux drive, ça donne le résultat du 74LS06.

Le schéma du STE est intéressant à ce niveau là : ils utilisent du 74LS06 pour les sorties mais ils ont ajouté des résistances en série de 47ohms pour limiter cet effet.

690

a lire : http://www.hermannseib.com/documents/floppy.pdf
c'est un excellent document sur le floppy en général.
Chapitre sur l'interfaçage :

The signal connector consists of a 34 conductor card edge signal connector on the drive and a AMP 583717-5 or equivalent on the cable. The signal cable should be a 34 conductor AWG #28 ribbon cable with a minimum of two and a maximum of five connectors for daisy chain installation. The cable must not be longer than 6 feet.

The older approach is a line termination with 150R ± 5% to 5 V DC. Those resistors
have a DIP case, looking similar to a chip, but with a white surface. One of the drives connected to the daisy cable shall terminate all of the signal lines from controller to drive except for the select lines. Each select line will be terminated by the drive being addressed by it; unused select lines are not terminated.
Signal lines from drive to controller are terminated by the controller. The newer approach is to use 10K pull-up resistors on each drive. There is further a scheme for mixing older 51⁄4" drives with 220R resistor packs with 31⁄2" drives having 4K7 resistors. Furthermore, there are 31⁄2" drives with 1K resistors. Note
that 10K and 150R terminated drives can not be mixed.

The signal levels are 0 to 0.8 V DC for a 0 and 2 to 5.25 V DC for a 1, signals are active low. The signal driver in a drive shall be a 7438 or equivalent, the signal receiver in a drive shall be a 74LS14 or equivalent with the maximum of one signal receiver per line per drive.