30

furrtek (./29) :
Je tiens toujours à me ruiner la santé avec mes litres de coca.
Tu vois Kuk ? Les vrais codeurs ne boivent pas de vin, eux. tongue
furrtek (./29) :
Le câble fait 2m à peu près.
C'est un peu long pour faire du transfert parallèle comme ça, en pratique c'est la distance à laquelle ça commence à poser problème, surtout si le câble n'est pas blindé. Essaie de réduire à 1 mètre 50 ou moins si tu peux.

Sinon, avec une validation pour 32 octets, ça ne me surprend pas que ça déconne occasionnellement. Sur le programme de transfert pour Jaguar, il y a une validation pour chaque octet, et il arrive quand même que ça déconne (mais il y a un timeout de réception assez serré aussi, c'est possible que ça amplifie les problèmes).

Tu peux essayer d'ajouter un petit délai côté console entre la détection du front descendant de STROBE et la lecture des entrées. Je crois que les problèmes de transfert (en dehors du fait que la console soit assez rapide) viennent que du fait que les niveaux des lignes de données n'ont pas toujours fini de se stabiliser quand tu détectes le STROBE (temps de propagation, rebonds, diaphonie, toussa quoi).

Bon par contre, attends-toi à des soucis si tu veux faire tourner ton soft de transfert sous Windows 2000, XP et suivants :
- l'accès direct aux ports I/O n'est plus possible. Y'a des softs qui permettent de contourner, mais ça n'est pas très fiable. Sinon il y a une DLL qui fonctionne bien, mais ça utilise un driver noyau et ça ralentit fortement les transferts.
- les timings sont aléatoires. Mieux vaux attendre la validation de chaque octet transmis, et ne pas utiliser de timeout, ou alors avec une durée très longue (quelques secondes).

La somme 32 bits marche pas mal (c'est ce qui est utilisé sur Jaguar, et je ne me souviens pas qu'il y ait eu des problèmes de transmission non détectés). Mais un vrai CRC, c'est quand même plus sécurisé (et plus classe wink). Y'a des pages intéressantes sur le CRC ici :
On-line CRC calculation and free library
Sample CCITT CRC Code

Pour ta dernière question, j'avoue que je ne sais pas. À part utiliser des sauts relatifs et du code PC-relatif, je ne vois pas comment faire.
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

31

C'est plutôt la bière, je me trompe ? ;p Ou alors c'est une idée que je me suis faite en voyant trop de demomakers anticapitalistes, qui boivent tous du coca en cachette.

Merci beaucoup pour les conseils, je vais relier le PC directement au lieu de passer par un switch et deux câbles. J'attend d'avoir des nouveaux CD-R pour tester la validation à chaque octet et les checksums.
Pour le délai, je pense que ça va puisque j'ai mis une temporisation après la sortie des données (quelques centaines d'µs avant la descente de STROBE). A l'oscilloscope ça parait propre. Mais avec la validation sur chaque octet, je changerais tout...
J'utilise inpout32.dll sous windows 2000, j'imagine que c'est ça dont tu parlais. Je voulais plutôt faire une petite app C en mode console, mais si c'est la faute de l'OS... tant pis.

Et si tu as le temps et l'envie...
D'après la page sur le CRC CCITT, j'ai compris ça:
D0: crc
D1: donnée (octet)

ror.w	#8,D0	; Byte swap 16 bits
eor.b	D1,D0	; XOR données
move.w	D0,D1	; D1 sert de registre temporaire maintenant
andi.w  #$FF,D1	; CRC ^= (CRC & $FF)>>4
lsr.w	#4,D1
eor.w	D1,D0
move.w	D0,D1
lsl.w	#8,D1	; CRC ^= CRC<<12
lsl.w	#4,D1
eor.w	D1,D0
move.w	D0,D1
andi.w	#$FF,D1	; CRC ^= (CRC & $FF)<<5
lsl.w	#5,D1
eor.w	D1,D0

Ça te parais correct ?
avatar
Je fais des trucs. Des fois ça marche, des fois ça marche pas.

32

furrtek (./31) :
J'utilise inpout32.dll sous windows 2000, j'imagine que c'est ça dont tu parlais.
Tout à fait.
furrtek (./31) :
Ça te parais correct ?
Ouais ça m'a l'air bon. Et en testant (sous émulateur) avec un bloc de données aléatoire, ça donne le même résultat que l'original en C, donc ça doit être OK. Faut juste pas oublier d'initialiser d0 avec une valeur fixe au début.

Au passage, tu peux optimiser ça :
andi.w  #$FF,D1	; CRC ^= (CRC & $FF)>>4 
lsr.w	#4,D1 
eor.w	D1,D0
en ça :
lsr.b	#4,D1   ; CRC ^= (CRC & $FF)>>4 
eor.b	D1,D0
Mais c'est histoire de chipoter pour grapiller quelques cycles, hein hehe


Pour ce qui est du transfert depuis un PC, un truc chiant est que la majorité n'ont plus de port parallèle. Et nos bidouilles ne marchent pas avec un adaptateur USB->port parallèle (en gros, faut pas leur demander de faire autre chose que le protocole standard des imprimantes, et en passant par un driver d'impression. Et de toute façon, même si ça marchait, l'USB a une latence trop élevée pour faire du transfert géré "à la main").

Quelques solutions :

- acheter une carte PCI (ou PCMCIA/ExpressCard pour les portables) qui fasse port parallèle. Ça marche aussi bien qu'un port intégré (sauf que les adresses sont généralement pas les mêmes), mais c'est pas donné.

- utiliser un composant convertisseur USB->série (genre FT232) et un microcontrôleur pour gérer le transfert. Je l'ai déjà fait avec un ATtiny2313, ça marche bien. Par contre ça nécessite de faire un PCB, donc c'est pas à la portée de n'importe qui. (enfin, on peut acheter le composant déjà soudé sur un support DIP, mais c'est plus cher et ça commence à faire un peu compliqué sur de la bakélite). Côté drivers c'est nickel, c'est supporté de Windows 98 à Windows 7 (et aussi sous Linux et MacOS), et mis à jour régulièrement.

- utiliser un composant convertisseur USB->bus parallèle (genre FT245). Pas testé. Il y a probablement moyen de se passe de microcontrôleur dans ce cas, mais ça doit limiter le choix du protocole.

- utiliser un microcontrôleur avec la gestion de l'USB intégrée. Pas testé, mais y'a pas de raison que ça ne marche pas. Ça existe chez Microchip (beurk), y'a des implémentations d'USB en soft sur AVR aussi. Les drivers PC peuvent peut-être poser problème, par contre.

- implémenter le protocole des imprimantes sur la console, installer le driver d'imprimante le plus basique (texte seulement), et envoyer les données brutes au driver. Pas testé, c'est juste une idée en l'air que j'ai eue. En théorie, ça devrait marcher même avec les ports parallèles sur USB. Mais c'est de la théorie grin
Avantage si ça marche : quasiment pas de hardware nécessaire.
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

33

Merci encore une fois d'avoir pris le temps smile J'ai racheté un paquet de CDs pour tester le nouveau "protocole", avec la vérification par CRC (j'avais pas pensé au lsr.b, j'ai pas encore l'habitude des opérations à longueurs variables).
Pour le port parallèle, j'ai un vieux PC fixe qui sert juste pour ça. J'avais fait un programmateur pour cartouche GameBoy avec la paire AtTiny2313/PL2303 qui marchait pas mal du tout, faudrait que je regarde si ça peut se faire sur un AVR usb, comme ça même si il fait juste un port série virtuel, on pourra se passer d'un convertisseur usb/rs232.
Pour l'implémentation du protocole texte des imprimantes, j'y avais pas pensé du tout et je me demande si ça serait difficile à adapter pour des gros transferts de données.

Avec la vérif tous les 1ko, j'avais ça:
ngxfer1.png
avatar
Je fais des trucs. Des fois ça marche, des fois ça marche pas.

34

sa devient de la foli si on plus on a le droit au copi l oscilloscope wahouuuuuuuuuu. Je trouve cela bien si apres on peu se simplifier la vie a codé s est terrible smile en plus si on peu avoie un cd rom virtuel ou que les datas sont transfère par le cable ba la cela serait le top smile

35

Projet google code pour le bootloader: http://code.google.com/p/ngcdbootloader/
Peut être légèrement inutile compte tenu du nombre de contributeurs qu'il risque d'y avoir (proche de 0 ;p), mais ça évite de m'encombrer avec différentes versions et c'est un peu plus clair qu'un bête fichier texte sur mon site.
Pas de nouvelles pour le câble, j'ai pas encore essayé d'autre "montage". J'attend pour ça de recevoir un nouveau bloc optique pour la console (je pensais que le problème était réglé, mais décidément, toutes les semaines ça va plus).
Concernant le BIOS, progfr et moi avons découvert des menus cachés potentiels. C'est-à-dire qu'on sait pas encore si ils ont été désactivés avant la production, ou si ils peuvent encore être accessibles sans avoir à graver de CD.

Il y a un menu de debug pour le bloc CD, qui propose d'envoyer des commandes audio, de tester les lead-in/lead-out et divers autres fonctionnalités propres au bloc. Le désassemblage a montré qu'il n'est accessible que sur demande du logiciel ou en cas d'erreur. Pour le faire apparaitre, il faut appeler $C0056A avec une valeur supérieure à 7 dans le MSB de D0.w ($0800 par exemple).

Un autre menu à l'air de pouvoir être appelé en plein milieu de l'exécution d'un programme, il permettrait de lire et modifier la RAM et la VRAM, voir les sprites, le fix et les palettes. La piste en train d'être explorée est celle de la routine à $C0044A, qui sert à fournir des infos sur les joysticks. C'est la seule qui serait capable de détecter une combinaison de touches pendant qu'un jeu tourne (à moins que le jeu en question ne s'en serve pas, mais j'ai pas encore vu ça).
On sait par ailleurs qu'en mettant certains bits à 1 dans $10FD80, on peut activer un reset manuel en faisant ABCDStart. Et c'est bien $C0044A qui détecte ça et exécute le reset.
A suivre donc...
avatar
Je fais des trucs. Des fois ça marche, des fois ça marche pas.

36

cyborg arme blabla moi je dit que cela avance bien du moins a une vitesse correcte tenu de l activité de chacun. De bonne chose devrais arrivé surtout au niveau du cable que j attend pour faire des teste et continuer sur la parti son smile

37

désolé d'être une quiche mais on fait quoi avec ce fichier ?
Sinon vivement un debug bios CD
tu as contatacté Razzola ?
avatar
La Neo Geo CD à son site (en tout cas elle essaye...): http://neogeocdworld.info/
Le forum de la Neo Geo sur Yaronet: forums/264

Un petit site sur l'Atari Falcon avec plein de trucs bon pour votre poussin: http://falcon.ti-fr.com/

38

A part le lire et me faire remarquer que j'ai écrit telle connerie à tel endroit, ou que telle tâche peut être accomplie autrement, ou encore qu'il manque ceci ou celà... à rien triso
C'est vraiment juste pour ça, au cas où si ça intéresse des gens d'améliorer la source, de la corriger ou d'ajouter des fonctionnalités. Mais sans le câble, c'est parfaitement inutile.
Va falloir que je me décide à envoyer un mail à Razoola, et pardonnez mon incultivation mais il parle français ?

Côté BIOS de la NGCD, toujours rien concernant les menus. C'est hard d'essayer de comprendre un programme décompilé mais ça avance tout doucement... On a les routines pour afficher le texte, mais pas grand chose qui les appelle. Strange.

D'ailleurs quelques nouvelles du hardware: j'ai chopé une rallonge joystick pas trop chère, ça fait que le câble va enfin ressembler à quelque chose de propre (ou presque). J'essaye aussi de trouver un bloc optique pas cher pour le remplacer (j'en ai marre d'ajuster les trucs tous les 2 jours), avant de tester et terminer le bootloader.

Autre chose, un prof de mon école est ok pour me prêter de quoi -peut être- voir du silicium d'assez près. J'ai étripé ma AES pour la science, si on peut appeler ça comme ça. Quelques photos pour pour lui rendre hommage et bien surcharger la page:

ng3.jpg ng1.jpg

La #049342 ne fait plus partie de ce monde.
ng2.jpg cmvide.jpg

chips.jpg

Si l'un d'entre vous connaît une boite (européenne si possible), qui décapsule des circuits intégrés pour pas cher... je leur envoie direct et je fais les photos dès leur retour.
Aussi si vous avez besoin d'un bios, de RAM/VRAM, d'un 68K, d'un Z80 ou d'un YM2610 tous d'origine, je peux dépanner smile
avatar
Je fais des trucs. Des fois ça marche, des fois ça marche pas.

39

Pour pas cher, ça va être dur.

Pour pas cher ET qui soit capable d'interpréter les photos au microscope du die pour en ressortir quelque chose d'exploitable, ça va être TRÈS dur cheeky

(en tout cas je vois qu'on s'est fait plaisir question matériel 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

40

L'interprétation je veux bien m'y mettre, sans garantie d'en tirer quoi que ce soit bien sûr, mais au moins par curiosité. Si y'a une référence gravée ou un nom connu, ça pourrait donner des indices déjà.
J'ai vu MEFAS, Flylogic et Silicon Investigations, mais soit ils ont pas d'adresse mail, soit ils répondent pas. Aïe sad

Ouais clair, vive le pistolet à décaper.
avatar
Je fais des trucs. Des fois ça marche, des fois ça marche pas.

41

bon déjà je suis très vexé pour ce que tu as fait
maltraité un bon canard c'est impie...

sinon
Je me suis mal fait comprendre, c'est quoi ce fichier ? (question de quiche, hein)
la #049342 elle quoi comme N° de série (sur la CM ?)
Razoola il parle pas français mais il parle anglais
avatar
La Neo Geo CD à son site (en tout cas elle essaye...): http://neogeocdworld.info/
Le forum de la Neo Geo sur Yaronet: forums/264

Un petit site sur l'Atari Falcon avec plein de trucs bon pour votre poussin: http://falcon.ti-fr.com/

42

Pardon sad Faut dire qu'elle avait une grosse rayure sur le dessous de la CM, je pense pas que c'était récupérable. Achetée y'a quelques années à Paris pour 50 balles.

J'ai pas bien saisi "fichier" en fait, tu parles de ceux sur google code ou je suis trop con ?
La CM dit "NEO-AES3-4".

Je lui envoie un mail cette nuit alors.
avatar
Je fais des trucs. Des fois ça marche, des fois ça marche pas.

43

il y a pas une date avec ?

non t'es pas trop con c'est ça
avatar
La Neo Geo CD à son site (en tout cas elle essaye...): http://neogeocdworld.info/
Le forum de la Neo Geo sur Yaronet: forums/264

Un petit site sur l'Atari Falcon avec plein de trucs bon pour votre poussin: http://falcon.ti-fr.com/

44

Alors j'ai été trop con de répondre à côté de la question. C'est juste le code source du bootloader, à compiler et à graver ensemble avec l'IPL et le fix sur un CD-R et qui permet d'uploader des fichiers par le câble qui n'existe pas encore vraiment.

Et non, pas de date.
avatar
Je fais des trucs. Des fois ça marche, des fois ça marche pas.

45

Ah au fait un topic que j'avais zappé sur NeoGeo.com

http://www.neo-geo.com/forums/showthread.php?t=209086
avatar
La Neo Geo CD à son site (en tout cas elle essaye...): http://neogeocdworld.info/
Le forum de la Neo Geo sur Yaronet: forums/264

Un petit site sur l'Atari Falcon avec plein de trucs bon pour votre poussin: http://falcon.ti-fr.com/

46

Ah oui quand même, là j'ai une grosse partie de l'histoire à rattraper. Je suis ça de près, merci smile

Petit up sur le câble:
ngcdcable.jpg nlbeta.jpg

L'upload déconne toujours un peu, mais les poke RAM/VRAM, le reset et les appels BIOS marchent.
avatar
Je fais des trucs. Des fois ça marche, des fois ça marche pas.

47

joli cable sa avance bien smile

48

Ouais, le montage a l'air bien propre 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

49

kuk (./45) :
Ah au fait un topic que j'avais zappé sur NeoGeo.com

http://www.neo-geo.com/forums/showthread.php?t=209086



c'est moi ou ils ont super bien avancé ?
avatar
La Neo Geo CD à son site (en tout cas elle essaye...): http://neogeocdworld.info/
Le forum de la Neo Geo sur Yaronet: forums/264

Un petit site sur l'Atari Falcon avec plein de trucs bon pour votre poussin: http://falcon.ti-fr.com/

50

Ils rentrent dans une phase de test sur le Hard
avatar
La Neo Geo CD à son site (en tout cas elle essaye...): http://neogeocdworld.info/
Le forum de la Neo Geo sur Yaronet: forums/264

Un petit site sur l'Atari Falcon avec plein de trucs bon pour votre poussin: http://falcon.ti-fr.com/

51

J'ai acheté un adaptateur USB->parallèle pour voir s'il y a moyen d'en faire quelque chose pour transférer des programmes.
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

52

pas mal sa pourrais être pas mal

53

Salut les potos !


>FTK : Tiens voici un Lien qui pourrait te donner du grain a moudre au niveau de l'USB

http://krikzz.com/link-unit.html High speed USB link unit for SEGA /Russie !

CIao

Fred/FRONT

54

oui a voir tien smile

55

J'ai fait un truc du même style pour la Jaguar il y a quelques années. Ça marchait bien, mais pour finir je l'ai pas commercialisé, parce qu'organiser la fabrication des PCB, le soudage des composants, le perçage du boîtier... s'est révélé plus compliqué que prévu.

Là je cherche davantage du côté des adaptateurs USB->parallèle, parce qu'à priori un simple câble suffirait, et du coup pas mal de monde serait capable de bricoler ça soi-même 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

56

Resalut

>Zerosquare 'je cherche davantage du côté des adaptateurs USB->parallèle ...' tu n'as peu etre pas suivi le Forum Anglophone qui traite d'un projet de PCB concernant un projet de RAZOOLA (PC2NEO) similaire a celui de FTK mais sur MVS/AES plutot

je sais que SMKDAN etait eventuellement interessé pour intégrer ce type d'outil de dialogue entre une NEO et un PC pour son UNIVERS BIOS CD mais justement ce qui l'embetait le plus c'etait l'utilisation du port IMPRIMANTE ...qui il faut le dire est de plus en plus difficile a trouver sur des PC recents ... les imprimantes se connectant ne nos jour, soit en Wifi , soit en USB.

Dans ce Forum des solutions était proposé vers ce Site : Converter From USB To Parallel
http://www-user.tu-chemnitz.de/~heha/bastelecke/Rund%20um%20den%20PC/USB2LPT/index.html.en

A vous de voir SINON ...
Bon, j'ai fais ma BEA pour la journée

CIAO
Fred/FRONT

57

FRONT (./56) :
Dans ce Forum des solutions était proposé vers ce Site : Converter From USB To Parallel
http://www-user.tu-chemnitz.de/~heha/bastelecke/Rund%20um%20den%20PC/USB2LPT/index.html.en
Intéressant, je connaissais pas.
Certain equipment categories are excluded from correct emulation:

* Time critical equipment, like direct stepper motor controls (above 100 Hz or so)
Ça veut dire que ça sera pas utilisable en remplacement direct d'un port parallèle. Néanmoins, si on peut reprogrammer le microcontrôleur qu'il y a dedans, il y a moyen d'en faire quelque chose de bien.

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

58

Toujours pour vous donner des idées de pistes pour l' adaptateur NGCD TO USB

voici un autre nouveau projet (commencé en 2008) sur Megadrive

http://gendev.spritesmind.net/forum/viewtopic.php?t=464 USB MegaDrive DevKit
http://www.swaton.ukfsn.org/umdk/ le site Officiel de ce projet !

Fred/FRONT !
je retourne au boulot ...

59

Edited_29

60

Orion_ (./59) :
mais tu ne m'avais pas dit que ces genre de cable ne marchais que pour les imprimantes ?
Sisi, mais le but serait justement de changer le câble et le protocole pour faire croire à l'adaptateur qu'il est branché à une imprimante. J'avais mis ça de côté vu la taille de ma todolist, mais les premiers essais semblaient prometteurs.
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