Programmer la SEGA Megadrive en Basic
+18
vingazole
last.wave
Stef
lincruste
Urbinou
renegade51
Manray
philip
ichigobankai
F.L
eckain
tetsuro
Tryphon
Anarwax
HkFarewell
ace76
drfloyd
Monos
22 participants
Page 6 sur 9
Page 6 sur 9 • 1, 2, 3, 4, 5, 6, 7, 8, 9
Re: Programmer la SEGA Megadrive en Basic
Merci FL, je peux toujours faire du C "de manouche"... j'rrive deja à faire des trucs.... mais franchement je prend pas plaisir :/ Et j'ai pas beaucoup de période ou je peux etre seul pour me concentrer.... En Pure j'arrive à programmer tout en étant à 5 dans la salle et TV à fond
Pour la version PC aucun interet à le convertir en C en tout cas, y aurait aucune différence au final
Pour faire un jeu Coleco pourquoi pas... Y a pas un tuto complet du kit de dev Coleco en C ???????
Pour la version PC aucun interet à le convertir en C en tout cas, y aurait aucune différence au final
Pour faire un jeu Coleco pourquoi pas... Y a pas un tuto complet du kit de dev Coleco en C ???????
Re: Programmer la SEGA Megadrive en Basic
Oh si y'aurait une différence : ce serait beaucoup plus lent en C
Parce que Pure te prémâche 80% du boulot, le C non. Tu plongerais dans toutes les mauvaises pratiques et te démerderais pour faire un truc moins efficace au final
Parce que Pure te prémâche 80% du boulot, le C non. Tu plongerais dans toutes les mauvaises pratiques et te démerderais pour faire un truc moins efficace au final
Tryphon- Docteur *
- Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016
Re: Programmer la SEGA Megadrive en Basic
À l'époque la Megadrive ça se programmait aussi en C ou bien c'était 100% assembleur ?
lincruste- Interne
- Nombre de messages : 5619
Age : 45
Localisation : RP
Date d'inscription : 07/06/2014
Re: Programmer la SEGA Megadrive en Basic
99,9% assembleur.
Y'a une rumeur selon laquelle le (mauvais) portage des Megaman (Willy Wars) aurait été fait en C.
Sinon j'avais farfouillé dans le code source de Street Fighter II et j'avais trouvé des trucs un peu louches, je m'étais dit que Capcom avait peut-être développé une sorte de langage spécifique.
Tu commences à trouver du C sur les 32 bits, de plus en plus. Quand j'ai codé la fantrad de Phantasy Star Generations 1&2, j'ai trouvé plein de pratiques et de fonctions bizarres, jusqu'à ce que je réalise que c'était le code de la bibliothèque de gestion des textes du C standard
Y'a une rumeur selon laquelle le (mauvais) portage des Megaman (Willy Wars) aurait été fait en C.
Sinon j'avais farfouillé dans le code source de Street Fighter II et j'avais trouvé des trucs un peu louches, je m'étais dit que Capcom avait peut-être développé une sorte de langage spécifique.
Tu commences à trouver du C sur les 32 bits, de plus en plus. Quand j'ai codé la fantrad de Phantasy Star Generations 1&2, j'ai trouvé plein de pratiques et de fonctions bizarres, jusqu'à ce que je réalise que c'était le code de la bibliothèque de gestion des textes du C standard
Tryphon- Docteur *
- Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016
Re: Programmer la SEGA Megadrive en Basic
Je pense que sur MD il y avait plus de C qu'on le pense. On dit aussi que Sonic Spinball était codé en C... Perso ça m’entonnerait pas que pas mal de jeux avaient du code C avec quelques parties en assembleur, les compilos C pour 68000 existaient déjà à l'epoque et pour des jeux lambdas ca devait suffire je pense. Sur SNES par contre ça devait être extrêmement rare car le CPU s'y prête vraiment pas.
Stef- Interne
- Nombre de messages : 5087
Age : 45
Localisation : Sevres
Date d'inscription : 04/04/2007
Re: Programmer la SEGA Megadrive en Basic
Attend tu veux dire que pour ta traduction tu t'es tapé la code du jeu brut de désassemblage ?Tryphon a écrit: Quand j'ai codé la fantrad de Phantasy Star Generations 1&2, j'ai trouvé plein de pratiques et de fonctions bizarres, jusqu'à ce que je réalise que c'était le code de la bibliothèque de gestion des textes du C standard
Tiens c'est pas la première fois que je lis ça ici, c'est quoi la raison technique ?( Sans vouloir trop pousser au HS.)Stef a écrit:Sur SNES par contre ça devait être extrêmement rare car le CPU s'y prête vraiment pas.
lincruste- Interne
- Nombre de messages : 5619
Age : 45
Localisation : RP
Date d'inscription : 07/06/2014
Re: Programmer la SEGA Megadrive en Basic
Tryphon a écrit:Oh si y'aurait une différence : ce serait beaucoup plus lent en C
Parce que Pure te prémâche 80% du boulot, le C non. Tu plongerais dans toutes les mauvaises pratiques et te démerderais pour faire un truc moins efficace au final
oui, c'est fort probable...
_______________________________________________________
Re: Programmer la SEGA Megadrive en Basic
lincruste a écrit:Attend tu veux dire que pour ta traduction tu t'es tapé la code du jeu brut de désassemblage ?Tryphon a écrit: Quand j'ai codé la fantrad de Phantasy Star Generations 1&2, j'ai trouvé plein de pratiques et de fonctions bizarres, jusqu'à ce que je réalise que c'était le code de la bibliothèque de gestion des textes du C standard
Pas tout le code, c'est ça qui est fun
En fait c'était mon premier contact avec le code d'un JV, et le but c'était de repérer le plus vite possible le code à modifier. Sans débogueur (j'ai jamais réussi à faire fonctionner celui de PCSX2), sans rien connaître au fonctionnement interne de la PS2 J'avais juste un désassemblage obtenu avec ps2dis (d'un million de lignes il me semble). J'avais pas fait d'assembleur depuis l'époque où j'avais un Amiga (1995).
Par exemple, pour localiser les routines d'affichage, j'ai repéré le texte dans le fichier exécutable, j'ai fait des recherches sur les instructions chargeant l'adresse du début du texte puis j'ai annulé les appels aux sous-routines un peu plus loin jusqu'à trouver la bonne. Ou alors j'annulais des portions entières du code pour voir ce que ça faisait, et je réduisais les portions annulées jusqu'à identifier celle qui m'intéressait.
C'est des techniques assez connues, mais à l'époque je ne savais même pas qu'il y avait des gens qui s'intéressaient au code des vieux jeux
Je sais pas comment j'ai réussi à aller au bout
Mais je suis assez fier du résultat (d'autant plus que j'aime beaucoup Phantasy Star II).
Tryphon- Docteur *
- Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016
Re: Programmer la SEGA Megadrive en Basic
drfloyd a écrit:Tryphon a écrit:Oh si y'aurait une différence : ce serait beaucoup plus lent en C
Parce que Pure te prémâche 80% du boulot, le C non. Tu plongerais dans toutes les mauvaises pratiques et te démerderais pour faire un truc moins efficace au final
oui, c'est fort probable...
À moins que tu creuses un peu les histoires de pointeurs. Encore une fois, si tu veux, je t'aide pour SGDK
Tryphon- Docteur *
- Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016
Re: Programmer la SEGA Megadrive en Basic
je pense etre trop vieux pour changer mes schémas
me faire assister... ca me stresse, car si j'abandonne j'ai fait perdre son temps à mon généraux aidant.
je prefere à la limite fournir un cahier des charges complet avec tous les détails, toute la structure et tout le scénario (adaptés à la capacité du support) à quiconque voudrait adapter le jeu sur 8 ou 16bit
me faire assister... ca me stresse, car si j'abandonne j'ai fait perdre son temps à mon généraux aidant.
je prefere à la limite fournir un cahier des charges complet avec tous les détails, toute la structure et tout le scénario (adaptés à la capacité du support) à quiconque voudrait adapter le jeu sur 8 ou 16bit
_______________________________________________________
Re: Programmer la SEGA Megadrive en Basic
Ça peut m'intéresser
Tryphon- Docteur *
- Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016
Re: Programmer la SEGA Megadrive en Basic
Tryphon a écrit:Oh si y'aurait une différence : ce serait beaucoup plus lent en C
Parce que Pure te prémâche 80% du boulot, le C non. Tu plongerais dans toutes les mauvaises pratiques et te démerderais pour faire un truc moins efficace au final
non pas du tout, moi aussi je craignais ça aussi puis une fois fini, j'ai fait tourner le jeu compilé en C sur pc , puis en basic sur pc aussi, et bien c'est la version C qui tirait moins sur les ressources systeme !
mais tout ça grace à ma tende et chere fonction GOTOU
elle permet d'avoir l'equivalent d'avoir un IF et GOTO sur chaqune de mes 5000 lignes (les puristes font un malaise )
sans perturber la bonne execution du code
@ GOTOU powered
Re: Programmer la SEGA Megadrive en Basic
Laisse moi deviner : pas de struct, pas de pointeurs ?
Tryphon- Docteur *
- Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016
Re: Programmer la SEGA Megadrive en Basic
Moi si c'est pour faire un jeu PC en C tout degeulasse, qui ressemble à un programme basic au final, je prefere pas, je vais me faire chier avec des tas d'accolades et autres ; & % pour rien... Et je suis pas sur qu'un prog en Pure soit vraiment plus lent qu'en C... ce qui n'etait pas vrai avec QB64 ou Blitz
Ca m'interesse juste pour faire eventuellement un petit jeu sur Coleco/SMS/MD... mais si il est pas structuré ca va vite me limiter.
Ca m'interesse juste pour faire eventuellement un petit jeu sur Coleco/SMS/MD... mais si il est pas structuré ca va vite me limiter.
_______________________________________________________
Re: Programmer la SEGA Megadrive en Basic
Tryphon a écrit:Ça peut m'intéresser
plutot sur quel support ? MD ?
_______________________________________________________
Re: Programmer la SEGA Megadrive en Basic
Tryphon a écrit:Laisse moi deviner : pas de struct, pas de pointeurs ?
nada.
et meme pas de fonction, je me suis trompé : GOTOU est juste une variable
le jeu tourne avec un listing de 5000 lignes qui defile de haut en bas jusqu'à arriver au loop
si ca te dit de voir àquoi ça ressemble, le voici en html5:
http://barbarian.1987.free.fr/online/
pour voir le code source, je ne me rapelle plus quelle touche il faut appuyer (f11?)
ps : doc, c'est pas un truc deguelasse comme tu dit : c'est juste une adaptation de la synthaxe du c à tes codes basic. si à la base ton code est propre, je ne vois pas pourquoi il deviendrait sale
Re: Programmer la SEGA Megadrive en Basic
par exemple avec notepad il suffit de remplacer tous tes
IF par if {
AND par } && {
etc..
le plus chiant c'est de mettre un ; à la fin de toutes tes lignes
IF par if {
AND par } && {
etc..
le plus chiant c'est de mettre un ; à la fin de toutes tes lignes
Re: Programmer la SEGA Megadrive en Basic
Si vraiment c'est toutes les lignes, c'est faisable avec une seule expression rationnelle dans notepad++.
De mémoire c'est ctrl+h et tu remplaces \n \r par ;\n\r
De mémoire c'est ctrl+h et tu remplaces \n \r par ;\n\r
lincruste- Interne
- Nombre de messages : 5619
Age : 45
Localisation : RP
Date d'inscription : 07/06/2014
Re: Programmer la SEGA Megadrive en Basic
En notepad++ tu peux très bien remplacer \n (saut de ligne, faut cocher "mode étendu" ) par ";\n" pour mettre des ; en fin de ligne
(suivant ton OS, il se peut que les fins de lignes soient des \r ou des \r\n, mais tu peux modifier ça dans Edition/Convertir les sauts de ligne).
@Doc : MD bien sûr. Je vois pas l'intérêt de porter en C sur PC un truc qui est déjà dans un langage compilé (mais je maintiens : du bon C ira toujours plus vite que du bon Pure, par contre c'est plus difficile de faire du bon C que du bon Pure)
(suivant ton OS, il se peut que les fins de lignes soient des \r ou des \r\n, mais tu peux modifier ça dans Edition/Convertir les sauts de ligne).
@Doc : MD bien sûr. Je vois pas l'intérêt de porter en C sur PC un truc qui est déjà dans un langage compilé (mais je maintiens : du bon C ira toujours plus vite que du bon Pure, par contre c'est plus difficile de faire du bon C que du bon Pure)
Tryphon- Docteur *
- Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016
Re: Programmer la SEGA Megadrive en Basic
F.L a écrit:
ps : doc, c'est pas un truc deguelasse comme tu dit : c'est juste une adaptation de la synthaxe du c à tes codes basic. si à la base ton code est propre, je ne vois pas pourquoi il deviendrait sale
Y a rien de dégueu tant que ca fonctionne bien au final.
Tu restes un phénomène pour moi.
Attention, ce qui suit n'est pas une critique négative, au contraire (je suis moi meme un programmeur manouche) :
Je me souviens, quand tu es arrivé sur le fofo et que tu m'a présenté Barbarian en basic QB64 (c'est bien ça ?)... J'ai totalement hallucinné devant le code avec des GOTO partout (un record !), des bouts de code super manouche, des redondance de code affolantes... Y avait pire que moi en code manouche On aurait pu reduire le programme de 70% je pense ! MAIS...
MAIS ca fonctionnait ! Et c'est ça qui était incroyable, tu t'es démerdé tout seul... Cette détermination incroyable... qui fait que tu as même réussi à passer au C sans probleme ! Et à t'attaquer à tous les supports. Tu fais en fonction de tes connaissances, jusqu'au résultat final. Je suis impressionné. J'aimerai avoir ta détermination sans faille.
_______________________________________________________
Re: Programmer la SEGA Megadrive en Basic
Il apprend à coder en moins de 24h grâce à ce truc un peu sale !
Tous les programmeurs le détestent ! (Cliquez ici pour commander sa méthode.)
Tous les programmeurs le détestent ! (Cliquez ici pour commander sa méthode.)
lincruste- Interne
- Nombre de messages : 5619
Age : 45
Localisation : RP
Date d'inscription : 07/06/2014
Re: Programmer la SEGA Megadrive en Basic
Tryphon a écrit:En notepad++ tu peux très bien remplacer \n (saut de ligne, faut cocher "mode étendu" ) par ";\n" pour mettre des ; en fin de ligne
(suivant ton OS, il se peut que les fins de lignes soient des \r ou des \r\n, mais tu peux modifier ça dans Edition/Convertir les sauts de ligne).
@Doc : MD bien sûr. Je vois pas l'intérêt de porter en C sur PC un truc qui est déjà dans un langage compilé (mais je maintiens : du bon C ira toujours plus vite que du bon Pure, par contre c'est plus difficile de faire du bon C que du bon Pure)
Bon, laisse moi le temps de la reflexion (rapport aux capacité RAM, ROM et puissance de calcul de la MD)... que je mette tout ca en brouillon genre dans Excel.
Il est possible de produire le jeu sans aucun scénario... et de l'inclure à la fin une fois l'univers construit (On peut donc le modifier totalement)
Je peux deja essayer de te resumer en MP (pas de spoil ici) mon scénario en quelques lignes, à savoir si tu le trouve acceptable ? Tu seras peut etre démotivé aussi sec !
_______________________________________________________
Re: Programmer la SEGA Megadrive en Basic
lincruste a écrit:Il apprend à coder en moins de 24h grâce à ce truc un peu sale !
Tous les programmeurs le détestent ! (Cliquez ici pour commander sa méthode.)
oui, c'est exactement ça ! comme je n'utilise que un do... loop avec des if et des then à l'interieur,
il ne me fait pas beaucoup de temps pour porter mon code sur n'importe quel langague/machine
Je me souviens, quand tu es arrivé sur le fofo et que tu m'a présenté Barbarian en basic QB64 (c'est bien ça ?)... J'ai totalement hallucinné devant le code avec des GOTO partout (un record !), des bouts de code super manouche, des redondance de code affolantes... Y avait pire que moi en code manouche On aurait pu reduire le programme de 70% je pense ! MAIS...
MAIS ca fonctionnait ! Et c'est ça qui était incroyable, tu t'es démerdé tout seul... Cette détermination incroyable... qui fait que tu as même réussi à passer au C sans probleme ! Et à t'attaquer à tous les supports. Tu fais en fonction de tes connaissances, jusqu'au résultat final. Je suis impressionné. J'aimerai avoir ta détermination sans faille.
merci pour tous ces compliments doc !
tu n'es pas le premier a me le dire et à chaque fois ça fait plaisir
et en plus au tout debut je n'utilisait qie des variables string$ !!
du genre if joueur$ = "debout "
j'adorait ça en plus
Dernière édition par F.L le Dim 23 Fév 2020 - 20:26, édité 1 fois
Re: Programmer la SEGA Megadrive en Basic
C'est sûr ça aide pour la portabilité !
Mais tu t'y retrouves encore ? Quand je dois retourner dans mes spaguettis produits au début ma carrière, je ne peux pas m'empêcher de tout benner et réécrire Heureusement il y en a de moins en moins.
Re: Programmer la SEGA Megadrive en Basic
Y a rien de dégueu tant que ca fonctionne bien au final.
Un code qui a pour but de rester privé, (plus ou moins), je trouve pas ça grave que ça soit pas au "norme de la populasse) tant que ça fais son jobe. Quand ton code doit être vraiment partager, ou a plusieurs à la programmation, la ça peut être un peu embêtant...
Puis dans un livre sur l'atari St, j'ai des listing en C et j'ai vu des goto pour faire des sauts xd.
Re: Programmer la SEGA Megadrive en Basic
Bah pour relire quelques mois/années plus tard c'est pas inutile non plus !
Re: Programmer la SEGA Megadrive en Basic
F.L a écrit:
merci pour tous ces compliments doc !
tu n'es pas le premier a me le dire et à chaque fois ça fait plaisir
et en plus au tout debut je n'utilisait qie des variables string$ !!
du genre if joueur$ = "debout "
j'adorait ça en plus
ah ouiiiii je me rappelle avoir vu ça dans tes listings !!!! J'y croyais pas !!!!! Tu le fais plus quand même ???????
et je viens de comprendre tes GOTOU sur chaque ligne, c'est énorme....
T'es SUPER MANOUCHE !!! J'adore vraiment.
_______________________________________________________
Re: Programmer la SEGA Megadrive en Basic
Urbinou a écrit:
C'est sûr ça aide pour la portabilité !
Mais tu t'y retrouves encore ? Quand je dois retourner dans mes spaguettis produits au début ma carrière, je ne peux pas m'empêcher de tout benner et réécrire Heureusement il y en a de moins en moins.
oui je m'y retrouve encore mais c'est devenu moins lisible
par exemple joueur$="debout" est devenu joueur=1
heureusement j'ais mis des commentaires a coté en pense-bete
Re: Programmer la SEGA Megadrive en Basic
joueur$="debout" est devenu joueur=1
Des "constantes mode prépocesseur" n'existe pas en second basic /bex ? (Les #define en C )
Re: Programmer la SEGA Megadrive en Basic
surement, mais comme je ne sais pas m'en servir je n'en sert jamais
de plus, a cette epoque je ne declarais meme pas mes variables
le basic quoi
de plus, a cette epoque je ne declarais meme pas mes variables
le basic quoi
Re: Programmer la SEGA Megadrive en Basic
F.L a écrit:Urbinou a écrit:
C'est sûr ça aide pour la portabilité !
Mais tu t'y retrouves encore ? Quand je dois retourner dans mes spaguettis produits au début ma carrière, je ne peux pas m'empêcher de tout benner et réécrire Heureusement il y en a de moins en moins.
oui je m'y retrouve encore mais c'est devenu moins lisible
par exemple joueur$="debout" est devenu joueur=1
heureusement j'ais mis des commentaires a coté en pense-bete
bah cette façon de coder permet de s'y retrouver meme des années après !
franchement :
if joueur$="saute" then
c'est très très clair !!!!!
_______________________________________________________
Page 6 sur 9 • 1, 2, 3, 4, 5, 6, 7, 8, 9
Sujets similaires
» BASIC! ou l'art de programmer sur android
» Programmer en Visual Basic ?
» [Vds] lot de bouquins pour programmer en basic amstrad Thomsom
» Quel micro pour apprendre à programmer en Basic ?
» [megadrive] mon remake de Crazy Cars CPC en basic
» Programmer en Visual Basic ?
» [Vds] lot de bouquins pour programmer en basic amstrad Thomsom
» Quel micro pour apprendre à programmer en Basic ?
» [megadrive] mon remake de Crazy Cars CPC en basic
Page 6 sur 9
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum