Ce topic parle d'un projet purement personnel que je mène , vu que je suis le seul assez fou dans le monde pour faire un homebrew sur ces machines disparu.
Bon certain me connaisse probablement ma passion pour l'assembleur et le bas niveau , eh oui je souffre de boulimie de savoir sur les différentes machines existantes.
Autant sur les vielles consoles ont de la doc bien fourni autant sur borne d'arcade il n'y a jamais rien vraiment eu a part MAME mais en homebrew c'est le néant.
Je me doute bien que peu ont des connaissances sur borne d'arcade , mais je privilégie les borne d'arcades qui possède la carte mere + pcb de la rom séparer , sinon pour test sur du vrai hard , ça risque d’être très compliquer.
Mon projet principal actuellement c'est la Taito F3 , c'est une borne d'arcade plus ou moins populaire il y a eu des bon shoot them up dessus ( Darius gaiden).
Cette machine a ma grande surprise est vraiment plus puissante qu'une Neo Geo , je passe les caractéristiques techniques , je me doute que de nos jours ce n'est plus trop parlant.
Voila j'ai l'honneur de vous présenter en exclu mondiale le premier homebrew pour taito F3 vu que je suis l'unique développeur de cette machine a ce jour.
Ce code n'affiche qu'une couleur rouge a l'écran.
On parlant de couleur c'est du RVB 24 bits , cela m'a étonner au début j’étais parti sur un RVB 16 bits.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62 ; REGISTRE TAITO F3 RAMSTART = $400000 PALETTE = $440000 JOYPAD1 = $4A0000 JOYPAD2 = $4A0010 dc.l $417FFC, Main, Default, Default ;0x00 dc.l Default, Default, Default, Default ;0x10 dc.l Default, Default, Default, Default ;0x20 dc.l Default, Default, Default, Default ;0x30 dc.l Default, Default, Default, Default ;0x40 dc.l Default, Default, Default, Default ;0x50 dc.l Default, Default, VBLANK, IRQ ;0x60 dc.l Default, Default, Default, Default ;0x70 dc.l Default, Default, Default, Default ;0x80 dc.l Default, Default, Default, Default ;0x90 dc.l Default, Default, Default, Default ;0xA0 dc.l Default, Default, Default, Default ;0xB0 dc.l Default, Default, Default, Default ;0xC0 dc.l Default, Default, Default, Default ;0xD0 dc.l Default, Default, Default, Default ;0xE0 dc.l Default, Default, Default, Default ;0xF0 org $100 Default: rte IRQ: rte Main: ; Set stack pointer move.l #$417FFC,sp ;affiche un zolie rouge move.l #$00FF0000,PALETTE move.w #$1,$400000 ; test grâce au debug de MAME pour voir si on écrit bien en mémoire ram GameLoop: jmp GameLoop VBLANK: rte org $100000
Prochaine étape afficher un sprite puis un background
Mais cela ne fini pas la elle possède des effet de zoom , scanline et transparence assez poussé.
J'ai mis un certain temps pour faire la rom même avec un code basic , le jeu est diviser sur 4 rom mais pas que les roms suivant sont la suite direct , bref en gros :
1er octet va dans la rom1
2eme octet va dans la rom2
3eme octet va dans la rom3
4eme octet va dans la rom4
5eme dans la rom1
ainsi de suite et croyait moi que ça me semblait pas évident au début
Exemple de jeux sur cette plateforme :
Mon autre projet le CPS1 et CPS2 , qui est une borne d'arcade de CAPCOM rival de SNK (Neo Geo).
Pour le CPS1 il existe qu'une démo qui a était faite mais celui qui l'a fait n'a pas vraiment partagé grand chose ce qu'il a fait de plus il a fait un truc généraliste donc qui ne peut exploité le CPS1 complètement.
Par contre pour le CPS2 rien n'a était fais pour le moment.
je travaille quelque fois dessus mon principal souci c'est que j'ai vraiment du mal avec MAME qui supporte pas les hack sur CPS1 , donc je test sur FBA.
J'ai pas réussi a faire un truc dessus correct pour le moment ,j'ai un code qui marche et qui modifie la palette mais aucune couleur n'est visible a l'écran , bref je dois encore travailler dessus.
Neo Geo pocket (color) est une console portable ce n'est pas une borne d'arcade mais a ce jour 'aucun' homebrew n'a était fait.
Je connais quelqu'un qui avait fait juste un petit truc dessus (changer la couleur) mais qui n'a pas voulu continuer ,donc je reprendrait une partie de son boulot (ou pas je sais pas ce qui lui reste) , c'est une console qui me semble très facile a programmer.
Par contre son cpu est quasiment inconnu au bataillon un TLCS-900H , un cpu dériver d'un x86 16 bits , d'ailleurs il n'existe quasiment pas d'assembleur pour celui la donc je devrait probablement sois utilise l'assembleur gnu (que j'aime vraiment pas) , ou soit modifier l'assembleur vasm ce que je trouve plus intéressant , je précise que j'utilise l'assembleur vasm sur quasiment tout mes code asm (et il est facilement modifiable).
Les capacité de la console me fait sourire par exemple il est dit qu'elle a 64ko de ram de travail , contre 8ko pour une SNES.
Je tient a souligner une chose ,on m'amusant a lire le code de MAME malgrer tout ce qu'il se dit :
Ce qui est assez faux sur Taito F3 par exemple , le code rajoute que le jeu Cleopatra Fortune utilise une couleur de 21 bit au lieu de 24 , le code rajoute un if pour cette exception...Le but avoué de MAME est de documenter le matériel. Une vue plutôt puriste de l'émulation est adoptée, interdisant des modifications pouvant faire fonctionner un jeu correctement ou plus rapidement au profit de la précision de l'émulation.
Et j'ai remarquer que par exemple on continuant a le lire que certaine partie du hard n'est pas émulé d'autre est inconnu , mais l'émulation est a mon avis satisfaisant tout les jeux sont quasiment parfaitement émuler , (malheureusement) peu de jeu sont sorti donc elle na pas était exploité et les durées de vie des Borne d'arcade ne durait pas celle d'une console.
Donc si je pourrait le mettre sur du Hard (ce qui est faisable , la carte pcb des rom Taito F3 est très simple , suffit de changer que les eprom) , il est probable que j'amenerait ma pierre dans la précision des émulateurs.
Par exemple un exemple d'un tuto pour faire un convert : http://retrogamebay.free.fr/?convert...-taito-f3.html
La Suite :
J'ai un très gros trip pour la 3D enfin dans une certaine mesure il est vrai que OpenGL 4 ou vulkan ne m’intéresse nullement par exemple.
Et donc il faut savoir que a une époque namco et sega se sont fait la guerre de la 3D (ça a débuté en 1993) donc pour vous dire que pendant qu'on jouait sur SNES ou MD , les japonais pouvait profiter dans un Game Center les meilleurs technologies qui existait a l'époque pour faire de la 3D.
namco a sorti le system 22 et 23
sega lui le Model 1 ,2 et 3
Malheureusement pour moi les PCB (carte imprimé contenant le jeu) ne sont pas séparer donc la rom et la carte mère ne sont pas séparer et si je devais prog dessus , ça serait juste pour le plaisir de faire un exploit technique.
Par contre le Sega naomi sorti bien plus tard permet de faire 'facilement' des homebrews , ils ont existes beaucoup dans le monde et il peut prendre en charge le GD-ROM par contre petit bémol , ils sont crypter bref un gros truc a faire pour exploiter cette machine.
Pour le moment je met tout je que je trouve dans un wiki , je verrait par la suite comment je m'organise.
Voila voila , je posterait probablement la suite de mes avancé
Partager