1

Après avoir subit maintes pressions (couteau sous la gorge, menaces de mort, offres de petits gâteaux) de la part de monsieur Kuk, j'ai voulu franchir le pas pour me mettre à la NGP(C).

Je précise que je suis un gros noob, je ne connais pas du tout la scène (il y en a une ?), je n'ai joué qu'à Puzzle Bobble et je n'ai lu que 2 fois les documents du kit de dev wink

Comme mon idée de départ était de porter mon jeu GB Airaki sur NGPC, je voulais en premier lieu voir si la production de cartouches pouvait se faire sans encombres.
A ce moment là, Kuk m'a indiqué que certains homebrewers avaient été bloqués a cette étape a cause d'une certaine "protection".
Sachant que les cartouches officielles n'avaient qu'une puce de flash, j’étais surpris.

Bref, après la lecture de quelques sujets ici et sur des sites étrangers, il s’avère que c'est loin d’être un problème.

L'objet de ce présent sujet, c'est d'avoir votre avis concernant la proposition d'une solution:

J'ai actuellement un modèle de carte qui peut accommoder des jeux de 2Mo, ainsi que la définition logique du bidule magique qui permet de faire passer le dit jeu.
Les jeux de 4Mo sont pas loin, il faut juste que je teste en situation réelle.

Ça serait mentir de dire que c'est obscur et complexe, mais vu que visiblement personne n'est allé jusque là pour une production (sauf pour des linkers), je pensais proposer contre une rémunération raisonnable:

-Soit un pack entier (fichiers GERBER, fusemap, liste des composants) sous forme de fichiers pour en faire ce que bon vous semble.
-Soit un kit avec un programmateur et un lot de cartes toutes faites. Prêt a l'usage.
-Soit juste un lot de puces pré-programmées.

Une fois encore, mon but n'est pas de me remplir les poches, mais d’amortir les quelques heures de boulot et surtout de voir de nouvelles cartouches apparaitre smile
avatar
Je fais des trucs. Des fois ça marche, des fois ça marche pas.

2

-

3

love arme
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/

4

Kuk, arrête de maltraiter ce pauvre Furrtek embarrassed
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

5

tu veux le remplacer ? fesses fouet
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/

6

J'ai déja mangé chez toi, j'estime avoir suffisamment souffert embarrassed
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

7

Le lot de puce pré-programmé ne serait pas forcément pour l'utilisateur lambda, non ?
Sinon toutes les autres propositions me paraissent intéressantes et comme dit Orion, je trouve aussi normal que tu récupères quelque chose en échange du travail fourni. wink
avatar
----- SNK Forever -----
Association Retro-gaming Connexion : http://www.retro-gc.fr/
http://www.consoles-portables.com

8

J'ai pas de traces des coups de fouets encore, ça va wink

Oui tout compte fait, celui qui achèterait des puces préprogrammées n'aurait probablement pas de mal à écrire le "code", ni à programmer la puce lui même... Mais les deux autres propositions valent toujours smile

Concernant le montant, je sais bien que ce n'est pas toujours évident de récupérer un minimum de bénéfice quand on produit un jeu rétro donc quand je dis "raisonnable", je veux dire "pas grand chose" tongue (Kuk pose ce couteau)
Sauf si bien sur je fournis les cartes toutes prêtes, là il y aurait des frais matériels qui ne dépendent pas de moi.
avatar
Je fais des trucs. Des fois ça marche, des fois ça marche pas.

9

Ce serait quoi la différence avec les cartes produites par Flavor (http://flashmasta.com/) ?
Je ne vois pas trop

10

La quantité disponible, le prix surtout, la possibilité de bloquer la carte en écriture pour empêcher de s'en servir comme cartouche flash.
avatar
Je fais des trucs. Des fois ça marche, des fois ça marche pas.

11

et pour les sauvegardes, ce serait compatible aussi?

12

Oui aussi. Sous réserve de toujours avoir de la flash en blocs, mais il devrait y en avoir pour quelques années encore...
avatar
Je fais des trucs. Des fois ça marche, des fois ça marche pas.

13

./7 J'ai oublié les mots "facile à utiliser" dans ma phrase... tongue
Donc même à les payer plus cher, je pense que oui les deux autres propositions sont plus intéressantes.
avatar
----- SNK Forever -----
Association Retro-gaming Connexion : http://www.retro-gc.fr/
http://www.consoles-portables.com

14

J'ai reçu les cartes proto. Ben 0.2mm en trop c'est sacrément chiant !

Finalement c'était peut être trop d'espoir de recevoir des sous sur un bricolage pareil. Je vais finir par tout refiler en espérant avoir une petite donation si c'est utilisé (canette de coca, cure-dent, feuille de PQ...)
avatar
Je fais des trucs. Des fois ça marche, des fois ça marche pas.

15

En se cotisant, on devrait pouvoir t'offrir tout ça à la fois smile

Si ça peut te consoler, les erreurs d'épaisseur de ce genre c'est très courant en impression 3D (même "pro"), je crois que je n'ai jamais vu de pièce qui n'ait pas dû être un peu limée pour être à la bonne taille.
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

16

C'est les PCBs qui sont trop épais en fait, le 1.6mm coince avec les coques originales et ne fait pas contact sans sad Je vais passer la coque à la ponceuse.

Pour la logique, voilà comment ça marche:

Les E/S avec la flash pendant le boot NGP et NGPC sont les suivantes (adresse,data):

5555 AA
2AAA 55
5555 F0 (reset)
5555 AA
2AAA 55
5555 90 (autoselect)
Lecture 0000 (ID fabricant: doit être $98, $B0, ou $EC)
Lecture 0003 (doit être $80)
Lecture 0001 (ID composant: doit être $AB (512ko), $2C (1Mo), ou $2F (2Mo). C'est important car c'est utilisé par le BIOS pour trouver la map des secteurs pendant les sauvegardes. Les jeux de 4Mo ont simplement 2x 2Mo, donc le code reste $2F)
Lecture 0002 (doit être $80)
5555 AA
2AAA 55
5555 F0 (reset)

Si ce test passe, le header est lu pour voir si un des deux strings de reconnaissance sont présents.

Pour faire fonctionner les sauvegardes, la flash doit avoir des secteurs de 64ko sinon le BIOS risque de ne pas apprécier (une 29F040 marche). Aussi important, le dernier secteur devrait dans l’idéal faire 16ko, mais s'il fait 64ko ça marche quand même. Celui ci est utilisé par le BIOS uniquement pour diverses choses que je ne comprend pas.
Il semblerait qu'il soit effacé la première fois que le jeu est lancé, ou lorsqu'il contient des données corrompues. Par exemple avec un jeu de 4Mo, le dernier secteur est à 1FC000~1FFFFF et le BIOS fait:

5555 AA
2AAA 55
5555 80
5555 AA
2AAA 55
1FC000 30

Lorsque le BIOS efface un secteur ou tous les secteurs inscriptibles (je ne sais pas si c'est utilisé, mais il en est capable), il relis le(s) secteur(s) en question en boucle pour voir s'ils sont pleins de $FF. Il y a un timeout relatif au nombre de secteurs à vérifier mais je n'ai pas calculé sa durée. Il y a aussi un nombre d'essais max.

Pour qu'un jeu démarre, il faut donc détecter quand le BIOS veut passer la flash en mode ID, désactiver la vraie flash, répondre a sa place, détecter quand le BIOS veut qu'on repasse en mode normal, et repasser la main à la flash.
Pour faire ça, je colle le bus de données entier ainsi que les 16 premiers bits d'adresse sur le CPLD.
Sur le front montant de /WR, je regarde si l'adresse est $5555. Si c'est le cas, je regarde si les données sont soit:
-$90: Un flag est mis a 1 pour dire qu'on va devoir faire taire la flash et répondre a sa place (/CS haut).
-$F0: Le flag est remis a 0 pour laisser la flash parler.
Pour savoir quelle info il faut spoofer, je regarde juste les 2 premiers bits d'adresse: si le bit 1 est a 1, réponse toujours $80. Sinon, si le bit 0 est a 1, réponse ID composant, sinon ID fabricant.

Le tout tient dans un EPM3032. Je donne le code dès que c'est propre, mais sinon ça marche smile

2mpajq0.jpg
avatar
Je fais des trucs. Des fois ça marche, des fois ça marche pas.

17

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

18

Bravo pour le travail en tout cas ! smile
avatar
----- SNK Forever -----
Association Retro-gaming Connexion : http://www.retro-gc.fr/
http://www.consoles-portables.com

19

Très impresionnant

20

la production Homebrew sur NGPC va pouvoir commencé love
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/

21

top
avatar
@originalfei
Homebrews Connexion
In pixels we trust.
ORE WO DARE DA TO OMOTTE YAGARU !

22

smile
Pour le dev, il y avait toujours moyen avec un émulateur et le flashmasta non ?
Pour la prod par contre, pas vu de solution toute faite encore :<
module ngpspoof ( FL_CE_IN, FL_CE_OUT, NGP_ADDR, NGP_DAT, NGP_WR, NGP_OE, NGP_CE ); input FL_CE_IN; output FL_CE_OUT; input NGP_WR; input NGP_OE; input NGP_CE; input [15:0] NGP_ADDR; inout [7:0] NGP_DAT; wire [7:0] REG_DAT; wire NGP_READ; reg STATE = 0; assign NGP_READ = (~NGP_OE & NGP_WR & STATE); assign FL_CE_OUT = READ ? 1 : FL_CE_IN; assign NGP_DAT = READ ? REG_DAT : 8'bzzzzzzzz; assign REG_DAT = NGP_ADDR[1] ? 8'h80 : NGP_ADDR[0] ? 8'h2F: 8'hEC; always@(posedge NGP_WR) begin if (NGP_ADDR == 16'h5555) begin if (NGP_DAT == 8'h90) STATE <= 1; //Enter ID req if (NGP_DAT == 8'hF0) STATE <= 0; //Exit ID req end end endmodule

J'ai racheté des cartes en 1mm, je les aurais dans 3 semaines...
avatar
Je fais des trucs. Des fois ça marche, des fois ça marche pas.

23

Salut, je me demandais si quelque chose en était sorti ?

Je suis en train de préparer un Kickstarter pour financer une série limitée de mes jeux "Don't Die Mr Robot" et "Fruity Pals Revenge" et je préférerais de loin les assembler avec quelqu'un de la communauté plutôt que de payer pour des cartouches génériques d'Aliexpress.

J'ai parlé à Flavor et malheureusement, il ne peut plus produire les cartouches Flashmasta, donc si c'est une alternative viable, je serais prêt à payer les coûts de production plus un peu plus pour votre temps. (Traduit avec Google, donc veuillez excuser mon français !)

Si ce projet réussit, alors je envisagerai de produire quelques autres jeux que je développe actuellement

https://infinitestategames.itch.io/ddmrpocketinfinitestategames.itch.ioDemake of Don't Die Mr Robot for Neo Geo Pocket Color

https://infinitestategames.itch.io/fruity-pals-revengeinfinitestategames.itch.ioA fruity puzzle game from the world of DDMR
avatar

24

Fei a été invité sur ce sujet.

Prévu pour la Homebrew Factory ?
avatar
----- SNK Forever -----
Association Retro-gaming Connexion : http://www.retro-gc.fr/
http://www.consoles-portables.com

25

Oh des jeux NGPC serais tellement bien, je previens Fei sur Discord
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/

26

Salut !

C'est une excellente nouvelle ces éditions physiques smile

Dans l'idéal on aimerait proposer un maximum de plateformes...
Mais là techniquement on bosse sur la SNES, la Master System et la Dreamcast pour les 3 prochaines plateformes.
Et on doit encore mettre en ligne la Famicom asap.
L'année va passer vite avec tout ça, donc je doute qu'on sorte d'autres plateformes pour que ces 4 là en 2026.

Donc pas avant 2027 au moins si on doit se pencher sur la question (et si d'autres plateformes ne se glissent pas également entre temps).
Et donc peut-être même après encore...
avatar
@originalfei
Homebrews Connexion
In pixels we trust.
ORE WO DARE DA TO OMOTTE YAGARU !

27

Merci pour la mise à jour - je vais certainement garder un œil sur l'usine de homebrew.

Je pense que je vais continuer avec l'utilisation des cartouches Alixpress (si je peux en obtenir suffisamment) pour la première tentative. Je lancerai un Kickstarter pour les deux jeux en tant que « double A side » dans les prochains mois, mais je continue le développement maintenant et j'ai au moins trois autres jeux que je voudrais produire correctement si la capacité (et la demande) le permet.

Il y a aussi au moins un autre projet dont je suis au courant qui serait parfait sur cartouche physique.
avatar

28

@Ahchay tu peu crée ton topic et comme ça tu nous tiens nous au courant de l'évolution de ton projet
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/

29

Je publierai un fil lorsque je lancerai la campagne Kickstarter - d'autres jeux seront publiés sur itch.io plus tard dans l'année et je m'assurerai de vous tenir au courant
avatar