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 8 sur 9
Page 8 sur 9 • 1, 2, 3, 4, 5, 6, 7, 8, 9
Re: Programmer la SEGA Megadrive en Basic
Y en a un qui est sorti sur megadrive aussi, manquait juste les sprites ennemis...
Re: Programmer la SEGA Megadrive en Basic
C'était pas un VS malheureux, y'avait 96 sprites !!!
(sinon y'a un moteur de VS en développement sur MD, et un portage de Street Fighter I qui l'utilise) (honnêtement, il m'a pas l'air terrible, mais je ne sais pas dire si ça vient du moteur ou de son paramétrage) (après, SF1, à la base, c'est pas terrible).
(sinon y'a un moteur de VS en développement sur MD, et un portage de Street Fighter I qui l'utilise) (honnêtement, il m'a pas l'air terrible, mais je ne sais pas dire si ça vient du moteur ou de son paramétrage) (après, SF1, à la base, c'est pas terrible).
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:C'était pas un VS malheureux
Mais en l'état, c'eut pu !
Re: Programmer la SEGA Megadrive en Basic
Nan, en l'état c'est un mono.
Nouveau concept
Nouveau concept
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:C'était pas un VS malheureux, y'avait 96 sprites !!!
(sinon y'a un moteur de VS en développement sur MD, et un portage de Street Fighter I qui l'utilise) (honnêtement, il m'a pas l'air terrible, mais je ne sais pas dire si ça vient du moteur ou de son paramétrage) (après, SF1, à la base, c'est pas terrible).
pourquoi d'ailleurs il y a eu un SF2 suite à ce jeu raté et oublié ?
_______________________________________________________
Re: Programmer la SEGA Megadrive en Basic
Le jeu a eu son petit succès (et pour l'époque il restait impressionnant).
Il y en a même eu "plusieurs", de suites :
* Final Fight devait être au début une suite de SF1
* un obscur jeu japonais sur Famicom a été renommé Street Fighter 2010 (The Final Fight) sur NES américaine, et son héros changé en Ken, pour profiter du succès du jeu
* Fatal Fury a été développé par le programmeur de SF1, on peut penser que s'il était resté chez Capcom, SF2 aurait ressemblé à ça
Il y en a même eu "plusieurs", de suites :
* Final Fight devait être au début une suite de SF1
* un obscur jeu japonais sur Famicom a été renommé Street Fighter 2010 (The Final Fight) sur NES américaine, et son héros changé en Ken, pour profiter du succès du jeu
* Fatal Fury a été développé par le programmeur de SF1, on peut penser que s'il était resté chez Capcom, SF2 aurait ressemblé à ça
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
Cosmos Chlorocinlesdrfloyd a écrit:Raoult sera dans Cosmos Chronicles, un descendant du celèbre professeur qui au 21eme siecle a sauvé l'humanité
lincruste- Interne
- Nombre de messages : 5619
Age : 45
Localisation : RP
Date d'inscription : 07/06/2014
Re: Programmer la SEGA Megadrive en Basic
AHAH
Je dois avoir un probleme, voilà que je refais des tests de programmation sur Megadrive
C'est quand meme chaud de dessiner sur Megadrive... pffffffff.... même avec les outils qui générent les data, faut de la motivation.
Je dois avoir un probleme, voilà que je refais des tests de programmation sur Megadrive
C'est quand meme chaud de dessiner sur Megadrive... pffffffff.... même avec les outils qui générent les data, faut de la motivation.
_______________________________________________________
Re: Programmer la SEGA Megadrive en Basic
drfloyd a écrit:AHAH
Je dois avoir un probleme, voilà que je refais des tests de programmation sur Megadrive
C'est quand meme chaud de dessiner sur Megadrive... pffffffff.... même avec les outils qui générent les data, faut de la motivation.
oui !
je te conseille de commencer par un petit jeu de rien, pour te familiariser avec les tiles et palettes, sinon ça risque de te decourager
Re: Programmer la SEGA Megadrive en Basic
drfloyd a écrit:AHAH
Je dois avoir un probleme, voilà que je refais des tests de programmation sur Megadrive
C'est quand meme chaud de dessiner sur Megadrive... pffffffff.... même avec les outils qui générent les data, faut de la motivation.
Ce serait surprenant qu'il n'y ait pas un programme pour te donner les tiles+tilemap+palette spécifiques à la MD à partir d'un fichier image...
Edith: t'as essayé Retro Graphics Toolkit ?
vingazole- Infirmier
- Nombre de messages : 4522
Age : 50
Localisation : Midian
Date d'inscription : 05/01/2012
Re: Programmer la SEGA Megadrive en Basic
dans le tuto de ce topic il y a bien sur un outil qui convertit une image 16x16 en code... mais je vois pas comment convertir d'un coup une planche complete dessinée ailleurs
_______________________________________________________
Re: Programmer la SEGA Megadrive en Basic
F.L a écrit:drfloyd a écrit:AHAH
Je dois avoir un probleme, voilà que je refais des tests de programmation sur Megadrive
C'est quand meme chaud de dessiner sur Megadrive... pffffffff.... même avec les outils qui générent les data, faut de la motivation.
oui !
je te conseille de commencer par un petit jeu de rien, pour te familiariser avec les tiles et palettes, sinon ça risque de te decourager
Je pense avoir tout piger pour les tiles et les 4 palettes, sauf queje voudrais reussir à charger d'un coup genre une planche de 200 tiles, pour l'instant c'est par tile et ca me gave
Un petit jeu avant... oui... peut etre MEGA REGATES, adaptation d'un de mes hits du passé Pour s'entrainer c'est parfait je pense
_______________________________________________________
Re: Programmer la SEGA Megadrive en Basic
Je pense que c'est surtout ça le souci, le jeu est pas moche, mais il est rigide comme pas permis à la base, les mouvements sont assez décousus et mal décomposés .Tryphon a écrit:C'était pas un VS malheureux, y'avait 96 sprites !!!
(sinon y'a un moteur de VS en développement sur MD, et un portage de Street Fighter I qui l'utilise) (honnêtement, il m'a pas l'air terrible, mais je ne sais pas dire si ça vient du moteur ou de son paramétrage) (après, SF1, à la base, c'est pas terrible).
Invité- Invité
Re: Programmer la SEGA Megadrive en Basic
drfloyd a écrit:F.L a écrit:drfloyd a écrit:AHAH
Je dois avoir un probleme, voilà que je refais des tests de programmation sur Megadrive
C'est quand meme chaud de dessiner sur Megadrive... pffffffff.... même avec les outils qui générent les data, faut de la motivation.
oui !
je te conseille de commencer par un petit jeu de rien, pour te familiariser avec les tiles et palettes, sinon ça risque de te decourager
Je pense avoir tout piger pour les tiles et les 4 palettes, sauf queje voudrais reussir à charger d'un coup genre une planche de 200 tiles, pour l'instant c'est par tile et ca me gave
Un petit jeu avant... oui... peut etre MEGA REGATES, adaptation d'un de mes hits du passé Pour s'entrainer c'est parfait je pense
oui c'est ça, un petit jeu que tu maitrises à fond. moi j'avais commencé avec crazy cars, seulement 1000 lignes de code, et j'avais
quand meme galeré. c'est une gymnastique du cerveau à prendre, une fois assimilée, c'est bon.
tu peux charger plusieures tiles d'un coup. dans la ligne putiles (si mes souvenirs sont bons), tu dois preciser juste le nombre de tiles que tu charge et ensuite, il faut que tu t'y retrouves la bonne adresse de ta ou tes tiles à afficher avec drawtiles.
200 tiles ça me semble excesif, je ne me rapelle plus, j'avais posté sur le forum jusqu'à combien de tiles tu peux charger, ensuite ça te les flip dans un sens, puis dans un autre, puis les 2
si tu es tres joueur, tu peux en joueur mais pour debuter, je ne te le conseille pas, à moins d'aimer le doliprane 500
Re: Programmer la SEGA Megadrive en Basic
Touko a écrit:Je pense que c'est surtout ça le souci, le jeu est pas moche, mais il est rigide comme pas permis à la base, les mouvements sont assez décousus et mal décomposés .Tryphon a écrit:C'était pas un VS malheureux, y'avait 96 sprites !!!
(sinon y'a un moteur de VS en développement sur MD, et un portage de Street Fighter I qui l'utilise) (honnêtement, il m'a pas l'air terrible, mais je ne sais pas dire si ça vient du moteur ou de son paramétrage) (après, SF1, à la base, c'est pas terrible).
Y'avait aussi au début un truc basé sur les sprites de Killer Instinct (je crois) et ça n'avait pas non plus l'air terrible (assez rigide et mal animé). Mais c'était sur une vieille version.
D'ailleurs je comprends pas trop, pour tester un moteur de VS j'aurais pris un SF2, les sprites sont déjà faits, et niveau collision et timings, si ça passe pour SF2, ça passe pour tout
Tryphon- Docteur *
- Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016
TaMa- Patient contaminé
- Nombre de messages : 701
Age : 43
Localisation : Lyon
Date d'inscription : 06/03/2013
Re: Programmer la SEGA Megadrive en Basic
Bon,
Je suis sur l'ancienne version du coup.
Autre question :
est-il possible dans une étiquette de Tile d'avoir un Data avec 8 variables définissant chaque couleur / ou une chaîne de 8 caractères ?
J'ai tenté mais je n'y arrive pas.
Je souhaite avoir une Tile avec 15 variantes de couleurs. J'affiche ensuite ces 15 variantes en même temps à l'écran.
Il me faut donc 15 emplacements mémoire car différentes couleurs, n'est-ce pas ?
Mais je ne veux pas écrire mes 15 Tiles et préfère trouver un autre moyen, s'il y a bien évidemment.
Je pensais à une approche de ce genre >>> ATTENTION >>> ce n'est pas vraiment du code mais une représentation
Est-il possible de faire quelque chose de ce genre en Basic ? :
===================================================
M = 256 'emplacement mémoire
For C = 1 To 15 'numéro couleur en décimal
H$ = Hex$(C) 'numéro couleur en hexadécimal (String)
LoadTiles E_Tile,1,M
M+1 = M
EndFor
E_Tile:
DataLong $HHHHHHH0
DataLong $HHHHHHH0
DataLong $HHHHHHH0
DataLong $HHHHHHH0
DataLong $HHHHHHH0
DataLong $HHHHHHH0
DataLong $HHHHHHH0
DataLong $000000000
===================================================
Merci :)
Je suis sur l'ancienne version du coup.
Autre question :
est-il possible dans une étiquette de Tile d'avoir un Data avec 8 variables définissant chaque couleur / ou une chaîne de 8 caractères ?
J'ai tenté mais je n'y arrive pas.
Je souhaite avoir une Tile avec 15 variantes de couleurs. J'affiche ensuite ces 15 variantes en même temps à l'écran.
Il me faut donc 15 emplacements mémoire car différentes couleurs, n'est-ce pas ?
Mais je ne veux pas écrire mes 15 Tiles et préfère trouver un autre moyen, s'il y a bien évidemment.
Je pensais à une approche de ce genre >>> ATTENTION >>> ce n'est pas vraiment du code mais une représentation
Est-il possible de faire quelque chose de ce genre en Basic ? :
===================================================
M = 256 'emplacement mémoire
For C = 1 To 15 'numéro couleur en décimal
H$ = Hex$(C) 'numéro couleur en hexadécimal (String)
LoadTiles E_Tile,1,M
M+1 = M
EndFor
E_Tile:
DataLong $HHHHHHH0
DataLong $HHHHHHH0
DataLong $HHHHHHH0
DataLong $HHHHHHH0
DataLong $HHHHHHH0
DataLong $HHHHHHH0
DataLong $HHHHHHH0
DataLong $000000000
===================================================
Merci :)
TaMa- Patient contaminé
- Nombre de messages : 701
Age : 43
Localisation : Lyon
Date d'inscription : 06/03/2013
Re: Programmer la SEGA Megadrive en Basic
je ne comprends pas bien ton exemple...
ce que je peux te dire c'est que chaque palette a 16 couleurs, numerotées de 0 à F :
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
une fois les couleurs de ta palette definies, tu peux afficher une tile de 8x8 pixels ainsi, par exemple :
datalong $00000000
datalong $01111110
datalong $02000000
datalong $01000000
datalong $03AB0000
datalong $07000000
datalong $04000000
datalong $00000000
voila, je te conseile d'aller voir cette page ou tout est expliqué:
http://devster.monkeeh.com/sega/basiegaxorz/basiegaxorz_full.html
et aussi un de mes jeux assez simple ou tu trouveras tout dans mon listing
pour y faire un jeu :
http://crazycarscpc.free.fr/
ce que je peux te dire c'est que chaque palette a 16 couleurs, numerotées de 0 à F :
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
une fois les couleurs de ta palette definies, tu peux afficher une tile de 8x8 pixels ainsi, par exemple :
datalong $00000000
datalong $01111110
datalong $02000000
datalong $01000000
datalong $03AB0000
datalong $07000000
datalong $04000000
datalong $00000000
voila, je te conseile d'aller voir cette page ou tout est expliqué:
http://devster.monkeeh.com/sega/basiegaxorz/basiegaxorz_full.html
et aussi un de mes jeux assez simple ou tu trouveras tout dans mon listing
pour y faire un jeu :
http://crazycarscpc.free.fr/
Re: Programmer la SEGA Megadrive en Basic
.
Dernière édition par TaMa le Lun 19 Oct 2020 - 21:44, édité 2 fois
TaMa- Patient contaminé
- Nombre de messages : 701
Age : 43
Localisation : Lyon
Date d'inscription : 06/03/2013
Re: Programmer la SEGA Megadrive en Basic
Merci pour les liens, je vais regarder.
Sinon, pour créer un sprite, je sais faire :)
E_Tile:
DataLong $11111110
DataLong $11111110
DataLong $11111110
DataLong $11111110
DataLong $11111110
DataLong $11111110
DataLong $11111110
DataLong $00000000
* Si je veux afficher à l'écran 15 fois la TILE ci-dessus avec chaque copie dans une couleur différente d'une même palette, suis-je obligé de créer 15 TILES en changeant la valeur de la couleur ?
* Ce que je souhaite, si c'est possible en BASIC, c'est pouvoir avoir cette TILE pour laquelle les DATA contiennent des variables pour afficher les couleurs et non leurs valeurs directement.
Ainsi, je pourrais me faire une boucle permettant d'incrémenter la valeur de la couleur et l'emplacement mémoire tout en n'écrivant qu'une seule fois mon TILE.
> précision de mes commentaires >
> je reprécise que ce n'est pas exactement du code mais une représentation de ce que je souhaite faire >
===================================================
M = 256 'emplacement mémoire pour mettre mon premier TILE sur 15
For C = 1 To 15 'boucle incrémentant le numéro de la couleur en décimal (15 couleurs de la palette
H$ = Hex$(C) 'je souhaite passer ensuite ce numéro décimal en hexadécimal (ici String)
LoadTiles E_Tile,1,M 'je charge ma TILE dont la couleur est définie par H$ dans l'emplacement mémoire M
M = M+1 'prochain emplacement mémoire pour enregistrer une nouvelle TILE avec la couleur suivante
EndFor
E_Tile: 'ma TILE, écrite qu'une seule fois
DataLong $HHHHHHH0 'je souhaite mettre ma variable "H" dans la DATA, est-ce possible d'y insérer une variable ?
DataLong $HHHHHHH0
DataLong $HHHHHHH0
DataLong $HHHHHHH0
DataLong $HHHHHHH0
DataLong $HHHHHHH0
DataLong $HHHHHHH0
DataLong $000000000
===================================================
>>> Si on ne peut pas faire cela, alors mon exemple deviendrait plus long à écrire
===================================================
E_Tile1:
DataLong $11111110
DataLong $11111110
DataLong $11111110
DataLong $11111110
DataLong $11111110
DataLong $11111110
DataLong $11111110
DataLong $00000000
E_Tile2:
DataLong $222222220
DataLong $222222220
DataLong $222222220
DataLong $222222220
DataLong $222222220
DataLong $222222220
DataLong $222222220
DataLong $000000000
E_Tile3:
DataLong $33333330
DataLong $33333330
DataLong $33333330
DataLong $33333330
DataLong $33333330
DataLong $33333330
DataLong $33333330
DataLong $00000000
ainsi de suite pour 12 autres TILES jusqu'à la couleur "F"
===================================================
Sinon, pour créer un sprite, je sais faire :)
E_Tile:
DataLong $11111110
DataLong $11111110
DataLong $11111110
DataLong $11111110
DataLong $11111110
DataLong $11111110
DataLong $11111110
DataLong $00000000
* Si je veux afficher à l'écran 15 fois la TILE ci-dessus avec chaque copie dans une couleur différente d'une même palette, suis-je obligé de créer 15 TILES en changeant la valeur de la couleur ?
* Ce que je souhaite, si c'est possible en BASIC, c'est pouvoir avoir cette TILE pour laquelle les DATA contiennent des variables pour afficher les couleurs et non leurs valeurs directement.
Ainsi, je pourrais me faire une boucle permettant d'incrémenter la valeur de la couleur et l'emplacement mémoire tout en n'écrivant qu'une seule fois mon TILE.
> précision de mes commentaires >
> je reprécise que ce n'est pas exactement du code mais une représentation de ce que je souhaite faire >
===================================================
M = 256 'emplacement mémoire pour mettre mon premier TILE sur 15
For C = 1 To 15 'boucle incrémentant le numéro de la couleur en décimal (15 couleurs de la palette
H$ = Hex$(C) 'je souhaite passer ensuite ce numéro décimal en hexadécimal (ici String)
LoadTiles E_Tile,1,M 'je charge ma TILE dont la couleur est définie par H$ dans l'emplacement mémoire M
M = M+1 'prochain emplacement mémoire pour enregistrer une nouvelle TILE avec la couleur suivante
EndFor
E_Tile: 'ma TILE, écrite qu'une seule fois
DataLong $HHHHHHH0 'je souhaite mettre ma variable "H" dans la DATA, est-ce possible d'y insérer une variable ?
DataLong $HHHHHHH0
DataLong $HHHHHHH0
DataLong $HHHHHHH0
DataLong $HHHHHHH0
DataLong $HHHHHHH0
DataLong $HHHHHHH0
DataLong $000000000
===================================================
>>> Si on ne peut pas faire cela, alors mon exemple deviendrait plus long à écrire
===================================================
E_Tile1:
DataLong $11111110
DataLong $11111110
DataLong $11111110
DataLong $11111110
DataLong $11111110
DataLong $11111110
DataLong $11111110
DataLong $00000000
E_Tile2:
DataLong $222222220
DataLong $222222220
DataLong $222222220
DataLong $222222220
DataLong $222222220
DataLong $222222220
DataLong $222222220
DataLong $000000000
E_Tile3:
DataLong $33333330
DataLong $33333330
DataLong $33333330
DataLong $33333330
DataLong $33333330
DataLong $33333330
DataLong $33333330
DataLong $00000000
ainsi de suite pour 12 autres TILES jusqu'à la couleur "F"
===================================================
TaMa- Patient contaminé
- Nombre de messages : 701
Age : 43
Localisation : Lyon
Date d'inscription : 06/03/2013
Re: Programmer la SEGA Megadrive en Basic
ok, grace à tes explications, je viens de comprendre
je ne sais pas si c'est possible d'integrer une variable dans un datalong, le mieux serait d'essayer
n'oublies pas de toujours commencer chaque ligne par un espace,
a part pour les labels.
sinon, creer 15 tiles differentes me semble le,plus simple à faire.
bex compile des dizaines de milliers de datalong à la vitesse de l'eclair
je ne sais pas si c'est possible d'integrer une variable dans un datalong, le mieux serait d'essayer
n'oublies pas de toujours commencer chaque ligne par un espace,
a part pour les labels.
sinon, creer 15 tiles differentes me semble le,plus simple à faire.
bex compile des dizaines de milliers de datalong à la vitesse de l'eclair
Re: Programmer la SEGA Megadrive en Basic
C'est pas toujours facile d'expliquer ce genre de choses... Tant mieux si tu as pu comprendre mon charabia :)
Ouais j'essaye mais pas certain que j'y arrive, le BASIC a ses limites.
J'ai pour l'instant fait mes 15 Tiles pour pas me bloquer dans mon projet.
Pourquoi mettre un espace en début de chaque ligne ? C'est pareil sur SECOND BASIC ?
Ouais j'essaye mais pas certain que j'y arrive, le BASIC a ses limites.
J'ai pour l'instant fait mes 15 Tiles pour pas me bloquer dans mon projet.
Pourquoi mettre un espace en début de chaque ligne ? C'est pareil sur SECOND BASIC ?
TaMa- Patient contaminé
- Nombre de messages : 701
Age : 43
Localisation : Lyon
Date d'inscription : 06/03/2013
Re: Programmer la SEGA Megadrive en Basic
ah oui :
"Note: All commands have to have a space/tab in front"
Mais c'est pour BasiEgaXorz
Je ne sais pas si cela s'applique à Second Basic
"Note: All commands have to have a space/tab in front"
Mais c'est pour BasiEgaXorz
Je ne sais pas si cela s'applique à Second Basic
TaMa- Patient contaminé
- Nombre de messages : 701
Age : 43
Localisation : Lyon
Date d'inscription : 06/03/2013
Re: Programmer la SEGA Megadrive en Basic
pour second basic je ne sais pas.
meme s'il fonctionne super bien, basiegaxorz a parfois qq trucs bizarre
comme aussi, ne jamais mettre de commentaire sur la meme ligne que le THEN,
si il y a un END IF plus bas.
meme s'il fonctionne super bien, basiegaxorz a parfois qq trucs bizarre
comme aussi, ne jamais mettre de commentaire sur la meme ligne que le THEN,
si il y a un END IF plus bas.
Re: Programmer la SEGA Megadrive en Basic
Ok c'set noté.
Là je rencontre un problème avec "Datafiles"...
J'appelle un fichier Bin renseignant des Data pour afficher des Tiles.
Cela m'affiche n'importe quoi et de plus, même quand je change mes Tiles l'affichage est le même, comme si mes Tiles n'étaient en fait pas lues.
Je n'ai pas d'erreur à la compilation des deux documents.
Si j'inclue les tiles dans mon fichier principale et que je retire ce lien, pas de souci, elles s'affichent correctement.
fichier principale et celui qui est appelé (dans sa version .SBS) :
Ce que cela donne :
Ce que j'ai quand je mets les tiles directement dans le fichier principal :
Là je rencontre un problème avec "Datafiles"...
J'appelle un fichier Bin renseignant des Data pour afficher des Tiles.
Cela m'affiche n'importe quoi et de plus, même quand je change mes Tiles l'affichage est le même, comme si mes Tiles n'étaient en fait pas lues.
Je n'ai pas d'erreur à la compilation des deux documents.
Si j'inclue les tiles dans mon fichier principale et que je retire ce lien, pas de souci, elles s'affichent correctement.
fichier principale et celui qui est appelé (dans sa version .SBS) :
Ce que cela donne :
Ce que j'ai quand je mets les tiles directement dans le fichier principal :
TaMa- Patient contaminé
- Nombre de messages : 701
Age : 43
Localisation : Lyon
Date d'inscription : 06/03/2013
Re: Programmer la SEGA Megadrive en Basic
on ne voit pas la fin de la ligne de chargement du fichier,
peut etre que ça pourrais venir de là (au fait, pourquoi des fichiers .sbs au lieu des .bas ? de plus tu charge un .bin ???)
edit: j'etais arrivé à charger des tiles dans un fichier externe, mais je ne m'en suis servi
j'avais tout de meme gardé l'exemple au cas oû. ce weekend je ne suis pas chez moi, lundi je chercherais dans mon ordi
peut etre que ça pourrais venir de là (au fait, pourquoi des fichiers .sbs au lieu des .bas ? de plus tu charge un .bin ???)
edit: j'etais arrivé à charger des tiles dans un fichier externe, mais je ne m'en suis servi
j'avais tout de meme gardé l'exemple au cas oû. ce weekend je ne suis pas chez moi, lundi je chercherais dans mon ordi
Re: Programmer la SEGA Megadrive en Basic
-------------------------------------
> "on ne voit pas la fin de la ligne de chargement du fichier" :
tiles:
DataFile "D:\PROG\Megadrive\BASIC\work\BLAST-01-TILES.bin",@Bin
-------------------------------------
> Le format .SBS est celui du logiciel Second Basic (SBS)
-------------------------------------
> il est possible de charger du ASM, TXT et BIN
voir la doc pour "Datafile" :
http://www.sbasic.second-dimension.com/commands/datafile.html
D'ailleurs, j'ai l'impression que ce n'est pas toujours correct.
Concernant leur exemple :
LoadTiles MyTiles,10,500
Reload MyIntegers
ReadInt c
Print c
MyTiles:
DataFile graphics\my_tiles, @Bin
MyIntegers:
DataFile "c:\dev\my_ints.asm"
>>> Si j'appelle mon BIN sans mettre de guillements, j'ai une erreur à la compilation et si je rajoute l'extension alors cela plante.
La seule écriture ok que j'ai trouvé c'est "guillements + extention + ,@extension" sinon ça pose toujours un problème
j'ai tenté de mettre mes tiles dans un TXT mais cela plante à la compilation
-------------------------------------
Second Basic est différent de BasiEgaXorz sur certains points je pense donc ce qui fonctionne chez toi ne fonctionnera pas forcément chez moi. A tenter tout de même.
Par exemple j'ai des soucis avec Second Basic V3 concernant les variables, j'utilise donc pour l'instant l'ancienne version. Faudra que je me penche sur ce problème, sans doute une syntaxe légèrement différente.
Les docs des versions 2 et 3 semblent pourtant identiques (exemple du "Datafile")
-------------------------------------
> "on ne voit pas la fin de la ligne de chargement du fichier" :
tiles:
DataFile "D:\PROG\Megadrive\BASIC\work\BLAST-01-TILES.bin",@Bin
-------------------------------------
> Le format .SBS est celui du logiciel Second Basic (SBS)
-------------------------------------
> il est possible de charger du ASM, TXT et BIN
voir la doc pour "Datafile" :
http://www.sbasic.second-dimension.com/commands/datafile.html
D'ailleurs, j'ai l'impression que ce n'est pas toujours correct.
Concernant leur exemple :
LoadTiles MyTiles,10,500
Reload MyIntegers
ReadInt c
Print c
MyTiles:
DataFile graphics\my_tiles, @Bin
MyIntegers:
DataFile "c:\dev\my_ints.asm"
>>> Si j'appelle mon BIN sans mettre de guillements, j'ai une erreur à la compilation et si je rajoute l'extension alors cela plante.
La seule écriture ok que j'ai trouvé c'est "guillements + extention + ,@extension" sinon ça pose toujours un problème
j'ai tenté de mettre mes tiles dans un TXT mais cela plante à la compilation
-------------------------------------
Second Basic est différent de BasiEgaXorz sur certains points je pense donc ce qui fonctionne chez toi ne fonctionnera pas forcément chez moi. A tenter tout de même.
Par exemple j'ai des soucis avec Second Basic V3 concernant les variables, j'utilise donc pour l'instant l'ancienne version. Faudra que je me penche sur ce problème, sans doute une syntaxe légèrement différente.
Les docs des versions 2 et 3 semblent pourtant identiques (exemple du "Datafile")
-------------------------------------
TaMa- Patient contaminé
- Nombre de messages : 701
Age : 43
Localisation : Lyon
Date d'inscription : 06/03/2013
Re: Programmer la SEGA Megadrive en Basic
ok, je n'ai jamais utilisé second basic, uniquement bex
voici ce qu'il'y a dans le wiki de bex :
Command_DATAFILE:
Syntax: Datafile ,[BIN]
Description: Inserts data from an external file into the basic program that can be read by command Read. has to be a file inside the compiler directory. When keyword BIN is used, the file will be included as a binary file. Example: Datafile Levels.dat,BIN. If BIN is left out, then the file will be included as a text. Proper text file syntax (same as assembler):
dc.b ,......
dc.w ,......
dc.l ,......
il faut que je retrouve mon exemple, mais logiquement ce n'est pas un bin que du dois charger avec DATAFILE, mais un .bas ou un .txt.
voici ce qu'il'y a dans le wiki de bex :
Command_DATAFILE:
Syntax: Datafile ,[BIN]
Description: Inserts data from an external file into the basic program that can be read by command Read. has to be a file inside the compiler directory. When keyword BIN is used, the file will be included as a binary file. Example: Datafile Levels.dat,BIN. If BIN is left out, then the file will be included as a text. Proper text file syntax (same as assembler):
dc.b ,......
dc.w ,......
dc.l ,......
il faut que je retrouve mon exemple, mais logiquement ce n'est pas un bin que du dois charger avec DATAFILE, mais un .bas ou un .txt.
Re: Programmer la SEGA Megadrive en Basic
J'ai tenté avec un TXT mais la compilation plante. Pas la bonne syntaxe ? Je ne sais pas.
Je vais peut-être contacter les gars de Second Basic directement je pense.
Je vais peut-être contacter les gars de Second Basic directement je pense.
TaMa- Patient contaminé
- Nombre de messages : 701
Age : 43
Localisation : Lyon
Date d'inscription : 06/03/2013
Re: Programmer la SEGA Megadrive en Basic
Ok c'est bon j'ai réussi !!!
Alors, c'est bien avec un TXT, le chemin entre guillemets et pas de ",@Bin" (je sais pas à quoi cela sert du coup) sinon j'ai un gros pâté.
DONC >
---------------------------------------------------------------------
tiles:
DataFile "D:\PROG\Megadrive\BASIC\work\BLAST-01-TILES.txt"
---------------------------------------------------------------------
De plus, il faut bien écrire ses Data au format Assembleur comme indiqué dans la doc de BEX, ce n'est pas indiqué dans celle de Second Basic.
du coup pas de DataLong $00000000 mais dc.l $00000000
et pour les commentaires, mettre un point-virgule devant, sinon la compilation plante également
Super !
Bon, par contre pour une image en 40x28 tiles, j'ai un décalage vers la droite...
Alors, c'est bien avec un TXT, le chemin entre guillemets et pas de ",@Bin" (je sais pas à quoi cela sert du coup) sinon j'ai un gros pâté.
DONC >
---------------------------------------------------------------------
tiles:
DataFile "D:\PROG\Megadrive\BASIC\work\BLAST-01-TILES.txt"
---------------------------------------------------------------------
De plus, il faut bien écrire ses Data au format Assembleur comme indiqué dans la doc de BEX, ce n'est pas indiqué dans celle de Second Basic.
du coup pas de DataLong $00000000 mais dc.l $00000000
et pour les commentaires, mettre un point-virgule devant, sinon la compilation plante également
Super !
Bon, par contre pour une image en 40x28 tiles, j'ai un décalage vers la droite...
TaMa- Patient contaminé
- Nombre de messages : 701
Age : 43
Localisation : Lyon
Date d'inscription : 06/03/2013
Re: Programmer la SEGA Megadrive en Basic
Ok celui-là était simple :
le décalage vient du fait sans doute que j'ai pas assez de place pour tout stocker.
Du coup, au lieu de partir de l'emplacement 256, je part du 0 (ce qui doit sans doute virer ma table ASCII du coup).
Et voilà !
Une image tirée d'une BD, qui est à la base en noir et blanc.
Je l'ai passé sur Photoshop en 320x224, 16 couleurs GIF.
Puis Palette changée car pas assez de niveaux de gris sur la MD :
pour plus de nuances, j'ai pris du coup les 8 nuances de gris (du noir au blanc) et 8 nuances d'une autre couleur.
Ensuite, création des Tiles via ImaGenesis.
L'avantage avec le DataFile c'est qu'il n'y a pas de compilation à faire avec le fichier TXT puisque déjà en assembleur :)
C'est beaucoup plus rapide du coup pour générer son BIN.
le décalage vient du fait sans doute que j'ai pas assez de place pour tout stocker.
Du coup, au lieu de partir de l'emplacement 256, je part du 0 (ce qui doit sans doute virer ma table ASCII du coup).
Et voilà !
Une image tirée d'une BD, qui est à la base en noir et blanc.
Je l'ai passé sur Photoshop en 320x224, 16 couleurs GIF.
Puis Palette changée car pas assez de niveaux de gris sur la MD :
pour plus de nuances, j'ai pris du coup les 8 nuances de gris (du noir au blanc) et 8 nuances d'une autre couleur.
Ensuite, création des Tiles via ImaGenesis.
L'avantage avec le DataFile c'est qu'il n'y a pas de compilation à faire avec le fichier TXT puisque déjà en assembleur :)
C'est beaucoup plus rapide du coup pour générer son BIN.
Dernière édition par TaMa le Lun 26 Oct 2020 - 22:02, édité 1 fois
TaMa- Patient contaminé
- Nombre de messages : 701
Age : 43
Localisation : Lyon
Date d'inscription : 06/03/2013
Page 8 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 8 sur 9
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum