Programmation sur Saturn
+5
Urbinou
65c02
erikrom2
dub
Strider
9 participants
Page 1 sur 2
Page 1 sur 2 • 1, 2
Programmation sur Saturn
Salut, je m'intéresse en ce moment à la Saturn, côté programmation, pour savoir ce que l'on peut faire sur cette console.
Y a-t-il ici des gens qui codent (codaient ?) sur cette console ?
J'ai déjà trouvé les docs officielles de Sega mais je cherche plutôt des retours d'expérience et des librairies.
Par exemple il existe la librairie Yaul (Yet Another Useless Library) créée par Israel Jacques, mais impossible de mettre la main dessus.
Ce n'est pas forcément pour coder un jeu, mais j'aimerais bien explorer les possibilités de cette sympathique console.
Si vous avez des infos, je suis preneur, merci.
Y a-t-il ici des gens qui codent (codaient ?) sur cette console ?
J'ai déjà trouvé les docs officielles de Sega mais je cherche plutôt des retours d'expérience et des librairies.
Par exemple il existe la librairie Yaul (Yet Another Useless Library) créée par Israel Jacques, mais impossible de mettre la main dessus.
Ce n'est pas forcément pour coder un jeu, mais j'aimerais bien explorer les possibilités de cette sympathique console.
Si vous avez des infos, je suis preneur, merci.
Strider- Patient contaminé
-
Nombre de messages : 177
Age : 49
Localisation : Grenoble
Date d'inscription : 20/05/2015
Re: Programmation sur Saturn
J'ai par habitude de regarder les kits chez Sébastian mihai.
http://sebastianmihai.com/main.php?t=118&n=Sega-Saturn-development-Saturnade
Le code source du jeu en C est lisible et ne semble pas demander des compétences spécifiques. J'aimerai bien de mon côté développer un jeu en 2D sur cette incroyable machine, mais c'est l'aspect test / distribution qui me freine. Pas d'everdrive et je ne sais pas si on peut faire des CD sur un saturn sans puce (ce qui m'étonnerait
).
Je n'ai pas installé le kit pour l'instant à cause de la partie hardware (test / distribution). Mais j'ai hâte de m'y mettre, en doit en avoir dans le ventre.
http://sebastianmihai.com/main.php?t=118&n=Sega-Saturn-development-Saturnade
Le code source du jeu en C est lisible et ne semble pas demander des compétences spécifiques. J'aimerai bien de mon côté développer un jeu en 2D sur cette incroyable machine, mais c'est l'aspect test / distribution qui me freine. Pas d'everdrive et je ne sais pas si on peut faire des CD sur un saturn sans puce (ce qui m'étonnerait

Je n'ai pas installé le kit pour l'instant à cause de la partie hardware (test / distribution). Mais j'ai hâte de m'y mettre, en doit en avoir dans le ventre.
Re: Programmation sur Saturn
les deux processeurs de cette bécane ont ils été un jour TOTALEMENT exploité , la est la question , devant la difficulté de la tache pas sur qu'on le sache de façon objective .
pour la 2d elle a fait ses preuve , mais en 3D ...
pour la 2d elle a fait ses preuve , mais en 3D ...
Re: Programmation sur Saturn
Pas simple de développer sur 2 procs principales en même temps. C'est sûr qu'en 2D, elle en a dans le ventre mais je sais pas si c'est du sprite hardware / software.
Mais pour moi, c'est surtout le problème du support physique : faire ses cartouches / CD.
Mais pour moi, c'est surtout le problème du support physique : faire ses cartouches / CD.
Re: Programmation sur Saturn
Oui, elle carbure en 2D : c'est du sprite hard
Si on dit qu'elle est à la ramasse au niveau 3D, ce n'est pas à cause de sa puissance.
C'est parce que son hardware de rendu n'est pas vraiment fait pour la 3D.
La saturn est faite pour afficher des sprites comme la megadrive.
Elle sait tordre ses sprites pour qu'ils se déforment en 3D
Elle n'affiche pas de triangle mais des quads.
Elle ne gère pas "les textures" comme toutes les autres machines 3D; elle associe juste un index de tile image à un polygone.
Cela veut dire : pas de coordonnées de texture, pas de clipping, etc...
N’empêche que c'est une bonne console.
Mais il vaut mieux la considérer comme une mega 32X que comme une psone.
Si on dit qu'elle est à la ramasse au niveau 3D, ce n'est pas à cause de sa puissance.
C'est parce que son hardware de rendu n'est pas vraiment fait pour la 3D.
La saturn est faite pour afficher des sprites comme la megadrive.
Elle sait tordre ses sprites pour qu'ils se déforment en 3D
Elle n'affiche pas de triangle mais des quads.
Elle ne gère pas "les textures" comme toutes les autres machines 3D; elle associe juste un index de tile image à un polygone.
Cela veut dire : pas de coordonnées de texture, pas de clipping, etc...
N’empêche que c'est une bonne console.
Mais il vaut mieux la considérer comme une mega 32X que comme une psone.
Re: Programmation sur Saturn
dub a écrit:J'ai par habitude de regarder les kits chez Sébastian mihai.
http://sebastianmihai.com/main.php?t=118&n=Sega-Saturn-development-Saturnade
Le code source du jeu en C est lisible et ne semble pas demander des compétences spécifiques. J'aimerai bien de mon côté développer un jeu en 2D sur cette incroyable machine, mais c'est l'aspect test / distribution qui me freine. Pas d'everdrive et je ne sais pas si on peut faire des CD sur un saturn sans puce (ce qui m'étonnerait).
Je n'ai pas installé le kit pour l'instant à cause de la partie hardware (test / distribution). Mais j'ai hâte de m'y mettre, en doit en avoir dans le ventre.
Merci, je ne connaissais pas ce site. En revanche, j'avais déjà entendu parler du kit SaturnOrbit mais hélas il n'est disponible que pour Windows.
De mon côté, j'ai regardé SaturnSDK (https://github.com/SaturnSDK) mais je suis bloqué car je n'arrive pas à installer le cross-compilateur sous Linux.
C'est dommage, pour une fois qu'on trouve de la doc à foison

Strider- Patient contaminé
-
Nombre de messages : 177
Age : 49
Localisation : Grenoble
Date d'inscription : 20/05/2015
Re: Programmation sur Saturn
C'est cool d'avoir envie.Strider a écrit:dub a écrit:J'ai par habitude de regarder les kits chez Sébastian mihai.
http://sebastianmihai.com/main.php?t=118&n=Sega-Saturn-development-Saturnade
Le code source du jeu en C est lisible et ne semble pas demander des compétences spécifiques. J'aimerai bien de mon côté développer un jeu en 2D sur cette incroyable machine, mais c'est l'aspect test / distribution qui me freine. Pas d'everdrive et je ne sais pas si on peut faire des CD sur un saturn sans puce (ce qui m'étonnerait).
Je n'ai pas installé le kit pour l'instant à cause de la partie hardware (test / distribution). Mais j'ai hâte de m'y mettre, en doit en avoir dans le ventre.
Merci, je ne connaissais pas ce site. En revanche, j'avais déjà entendu parler du kit SaturnOrbit mais hélas il n'est disponible que pour Windows.
De mon côté, j'ai regardé SaturnSDK (https://github.com/SaturnSDK) mais je suis bloqué car je n'arrive pas à installer le cross-compilateur sous Linux.
C'est dommage, pour une fois qu'on trouve de la doc à foison(http://koti.kapsi.fi/~antime/sega/docs.html)

ça me dirait bien de me remettre à coder sur saturn.
J'ai regardé vite fait SaturnOrbit sous windows, le sdk semble s'appuyer sur la librairie officiel de l'époque (c'est les même nom de tool et de lin en tout cas).
Mais c'est tellement vieux que je ne peux pas lancer le convertisseur d'image sur mon pc 64 bits moderne de merde.
Je vais regarder saturnsdk.
Peut être qu'en se prenant la tête à plusieurs on pourrait se faire une chaine de compile.
Re: Programmation sur Saturn
65c02 a écrit:ça me dirait bien de me remettre à coder sur saturn.
Tu as codé quoi dessus ? Hobby ou commercial ?
Put*n, mais sur quoi n'as-tu jamais codé ?

Re: Programmation sur Saturn
Je vais y regarder aussi de mon côté. J'ai un virtual de lubuntu.
J'ai essayé aussi d'installer le GCC mais il me bloque à la ligne 50.
Tu peux me dire comment tu fais pour l'install. T'inquiètes j'ai déjà de bonnes bases pour linux. J'ai pas trouvé de doc sur comment installer. Y a peut-être un ordre.
J'ai cloner le git de gcc-sh2 et tenté un download.sh ou build.sh et j'ai toujours le message :
impossible d'ouvrir binutils-.tar.bz2.sig
J'ai essayé aussi d'installer le GCC mais il me bloque à la ligne 50.
Tu peux me dire comment tu fais pour l'install. T'inquiètes j'ai déjà de bonnes bases pour linux. J'ai pas trouvé de doc sur comment installer. Y a peut-être un ordre.
J'ai cloner le git de gcc-sh2 et tenté un download.sh ou build.sh et j'ai toujours le message :
impossible d'ouvrir binutils-.tar.bz2.sig
Re: Programmation sur Saturn
CommercialUrbinou a écrit:65c02 a écrit:ça me dirait bien de me remettre à coder sur saturn.
Tu as codé quoi dessus ? Hobby ou commercial ?
Put*n, mais sur quoi n'as-tu jamais codé ?

J'ai participé à ça.

dub a écrit:Je vais y regarder aussi de mon côté. J'ai un virtual de lubuntu.
J'ai essayé aussi d'installer le GCC mais il me bloque à la ligne 50.
Tu peux me dire comment tu fais pour l'install. T'inquiètes j'ai déjà de bonnes bases pour linux. J'ai pas trouvé de doc sur comment installer. Y a peut-être un ordre.
J'ai cloner le git de gcc-sh2 et tenté un download.sh ou build.sh et j'ai toujours le message :
impossible d'ouvrir binutils-.tar.bz2.sig
Carrément tu pars de zero ?!
je te mp, on va creuser ensemble

Re: Programmation sur Saturn
65c02 a écrit:
Commercial
J'ai participé à ça.
65c02, mon idole

Atlantis, c'est un jeu vachement bien représenté ici dans le forum.
Il faudra nous raconter tes souvenirs d'ancien combattant un jour.
PS : j'arrête le HS

Re: Programmation sur Saturn
dub a écrit:J'ai cloner le git de gcc-sh2 et tenté un download.sh ou build.sh et j'ai toujours le message :
impossible d'ouvrir binutils-.tar.bz2.sig
Oui, il ne trouve pas la variable BINUTILSVER.
D'après le fichier README il faut définir des variables (cf les "export") mais il en manque, notamment BINUTILSVER et BINUTILSREV.
On les trouve dans build-elf.sh :
#!/bin/bash
export BINUTILSVER=2.25.1
export BINUTILSREV=
Mais chez moi ça bloque plus loin lors de la compilation des sources.
Faudrait que je m'y replonge, depuis j'ai installé Linux Mint 17.2 à la place de ma vieille Ubuntu.
Par contre j'avais pris quelques notes sur un wiki, les voici si ça peut éviter à certains de fouiller le net :
* docs, outils dev (anciens) : http://koti.kapsi.fi/~antime/sega/
* communauté dev : https://segaxtreme.net/forums/
* SDK homebrew pour Saturn, outils pour Windows et Linux : https://github.com/SaturnSDK
- CI : https://ci.opengamedevelopers.org/view/SEGA%20Saturn%20SDK/
- IDE customisé pour le dev sur Saturn : Code::Blocks
- ISO Tools : CDRTools' mkisofs for creating an ISO suitable for execution within an emulator
- Compilateur Hitachi SH-2 : basé sur GCC, produit des exécutables au format ELF
* émulateur Yabause : http://sourceforge.net/projects/yabause/
* infos pour faire fonctionner les homebrews : http://vieille.merde.free.fr/#gene
* quelques homebrews : http://www.racketboy.com/retro/sega/saturn/the-state-of-sega-saturn-homebrew
Strider- Patient contaminé
-
Nombre de messages : 177
Age : 49
Localisation : Grenoble
Date d'inscription : 20/05/2015
Re: Programmation sur Saturn
J'ai utilisé un installateur d'IDE / SDK : ftp://ftp.opengamedevelopers.org/saturn-sdk/installer/SEGA-Saturn-SDK_i686-pc-linux-gnu_alpha_latest.run
Mais j'ai un soucis de font avec qt. "QFontDatabase cannot find font directory..." donc j'ai que des carrés à la place du texte.
Mais j'ai un soucis de font avec qt. "QFontDatabase cannot find font directory..." donc j'ai que des carrés à la place du texte.
Re: Programmation sur Saturn
hello , sinon il y aussi la lib de Jo Sega Saturn qui a l'air prometteur
Jo Sega Saturn
Jo Sega Saturn
Re: Programmation sur Saturn
Yes. Excellente lib.
Mais il faut le saturn orbit sous Windows et Strider utilise Linux
Il faudra voir si on arrive à créer la chaine de compilation sous linux.
Mais il faut le saturn orbit sous Windows et Strider utilise Linux

Il faudra voir si on arrive à créer la chaine de compilation sous linux.
Re: Programmation sur Saturn
Pas le temps d'avancer en ce moment mais on n'est pas loin de l'avoir cette chaine (sous ubuntu en tout cas).dub a écrit:Il faudra voir si on arrive à créer la chaine de compilation sous linux.
On a installer le cross compile hitachi ( c'est le plus difficile).
Il reste plus qu'a adapter un makefile, régler le link avec les libs, la création automatique du CD et de valider que ça marche sur un émulateur.
Ce n'est plus qu'une question de temps.
Re: Programmation sur Saturn
J'ai testé la jo engine et ça marche bien sous Windows. Donc on pourra certainement l'utiliser sous Linux.
Re: Programmation sur Saturn
J'ai également testé Jo engine sous seven pro avec core2duo, tout roule et c'est très prometeur !
Sauf le pad 360controller, qui bloque l'émulateur... tant pis pour le pad.
Dans l'exemple demo - gamepad, celui avec un vaisseau spatial, j'ai rajouté un deuxième sprite très facilement.
Il y a un moyen de voir, heu... visuellement, l'affichage des images (tiles et sprites) dans la Vram ? comme dans l'émulateur Gens (menu cpu/debug/genesis/VDP)

Sauf le pad 360controller, qui bloque l'émulateur... tant pis pour le pad.
Dans l'exemple demo - gamepad, celui avec un vaisseau spatial, j'ai rajouté un deuxième sprite très facilement.
Il y a un moyen de voir, heu... visuellement, l'affichage des images (tiles et sprites) dans la Vram ? comme dans l'émulateur Gens (menu cpu/debug/genesis/VDP)
Re: Programmation sur Saturn
Tu peux utiliser yabause, y a un débuggeur. Menu Debug : Soit vdp1 (souvent pour les sprites) et le VDP2 pour les fonds (bouton finaliser)
Re: Programmation sur Saturn
Désolé, j'ai pas encore regardé la doc technique de la Saturn, alors je sais pas comment elle gère sa mémoire !
Joli Screen de Toki
Joli Screen de Toki

Re: Programmation sur Saturn
Ahahah
Il faut vite que je relise les doc des vdp pour faire mon spécialiste alors
Que veux tu savoir ?
Il faut vite que je relise les doc des vdp pour faire mon spécialiste alors

Que veux tu savoir ?
Re: Programmation sur Saturn
Ah, merci pour ta disponibilité, j'attaque alors : Le nombre de sprite et la quantité de vram, le moyen de "voir" cette vram comme dans gens, et aussi ce que tu pense de la pertinence du choix du format tga choisis pour les images du jo engine ?65c02 a écrit:Ahahah
Il faut vite que je relise les doc des vdp pour faire mon spécialiste alors![]()
Que veux tu savoir ?
Et aussi, est ce qu'il y a un déséquilibre cpu/gpu dans une utilisation uniquement 2D ? Si t'affiche 80 sprites + 2 plans + changement vram pour les animations, le tout avec un seul SH2, cela risque de ramer (programmation en C) ? Je suis sûr que non, mais... sait-on jamais, ton expérience sera précieuse.

Re: Programmation sur Saturn
65c02 sera plus précis. Tu utilises le 2ème SH-2 en slave si tu as besoin.
Tu as 2 VDP. Le VDP1 pour les sprites / polygon. Tu peux faire des rotations, distortions, zoom. Tu as 4 plans de sprites mais j'ai pas d'infos sur le max de sprites.
Le VDP2 sert pour le background : 2 plans bitmap et 2 cells.
Pour la VRAM, tu as 12 mbit soit 1.5Mo environ d'après la doc technique.
Pour être plus précis : VDP1 : 512ko de VRAM et 256ko de Framebuffer. Le VDP2 a 128ko par plan donc 512ko.
T'es parti pour un Toki HD
Tu as 2 VDP. Le VDP1 pour les sprites / polygon. Tu peux faire des rotations, distortions, zoom. Tu as 4 plans de sprites mais j'ai pas d'infos sur le max de sprites.
Le VDP2 sert pour le background : 2 plans bitmap et 2 cells.
Pour la VRAM, tu as 12 mbit soit 1.5Mo environ d'après la doc technique.
Pour être plus précis : VDP1 : 512ko de VRAM et 256ko de Framebuffer. Le VDP2 a 128ko par plan donc 512ko.
T'es parti pour un Toki HD

Re: Programmation sur Saturn
Pas mieux que dub
Imagine que la saturn est une super megadrive.
Il n'y a plus vraiment de limitations de sprites au sens où on l'entendait sur MD.
Pas de nombre max par ligne, ni de nombre max tout cours en fait.
Le vdp exécute une liste de commandes d'affichage à chaque frame.
Bien sur, tu es limité mais la limitation est plus en nombre de pixels par frame et la taille de la vram de la liste de commandes. Mais cela dépend tellement de ce que tu fais qu'on ne peut pas donner un limite clair.
Pour ce qui est du format TGA, oui c'est pertinent, vu que c'est un format non compressé et que, de toute façon, ça doit être convertit en format saturn. Alors que ce soit du png du TGA ou autre...
Si tu veux voir la VRAM : soit tu utilises un émulateur qui le fait, soit tu te code une classe de debug que tu embarques dans ton dev. Perso j'opterai pour la deuxième solution.
Pour tes questions niveau SH1 SH2 etc.
Imagines que la saturn c'est un SH1 qui peut demander de l'aide à un SH2 pour paralléliser les calculs.
Les VDP se partagent l'affichage. Ils se bases sur les informations qu'ils ont reçu dans leur VRAM de
SH1 et/ou SH2.
Pour ce qui est de la 2D / 3D.
Tout sur saturn est 2D. Mais il existe un mode d'affichage de sprites qui permet de les déformer comme on veut.
On peut choisir la position écran des quatre coins du sprite.
Du coup, on peut faire un rendu "3D".
Ce mode de sprite rame plus parce qu'il est plus gourmand en calcul.
D'intuition je dirais que le hardware saturn donnerait sa pleine puissance dans un danmaku.
Un max de sprites 2D classiques, pas déformés.
Le SH2 qui calcul les collisions et les déplacements.
Le SH1 qui gère les VDP.

Imagine que la saturn est une super megadrive.
Il n'y a plus vraiment de limitations de sprites au sens où on l'entendait sur MD.
Pas de nombre max par ligne, ni de nombre max tout cours en fait.
Le vdp exécute une liste de commandes d'affichage à chaque frame.
Bien sur, tu es limité mais la limitation est plus en nombre de pixels par frame et la taille de la vram de la liste de commandes. Mais cela dépend tellement de ce que tu fais qu'on ne peut pas donner un limite clair.
Pour ce qui est du format TGA, oui c'est pertinent, vu que c'est un format non compressé et que, de toute façon, ça doit être convertit en format saturn. Alors que ce soit du png du TGA ou autre...
Si tu veux voir la VRAM : soit tu utilises un émulateur qui le fait, soit tu te code une classe de debug que tu embarques dans ton dev. Perso j'opterai pour la deuxième solution.
Pour tes questions niveau SH1 SH2 etc.
Imagines que la saturn c'est un SH1 qui peut demander de l'aide à un SH2 pour paralléliser les calculs.
Les VDP se partagent l'affichage. Ils se bases sur les informations qu'ils ont reçu dans leur VRAM de
SH1 et/ou SH2.
Pour ce qui est de la 2D / 3D.
Tout sur saturn est 2D. Mais il existe un mode d'affichage de sprites qui permet de les déformer comme on veut.
On peut choisir la position écran des quatre coins du sprite.
Du coup, on peut faire un rendu "3D".
Ce mode de sprite rame plus parce qu'il est plus gourmand en calcul.
D'intuition je dirais que le hardware saturn donnerait sa pleine puissance dans un danmaku.
Un max de sprites 2D classiques, pas déformés.
Le SH2 qui calcul les collisions et les déplacements.
Le SH1 qui gère les VDP.
Re: Programmation sur Saturn
Merci pour ces précisions, j'ai une bonne vision d'ensemble maintenant. :)
Re: Programmation sur Saturn
Salut,
Je suis le créateur du Jo Engine. Ça me fait plaisir de savoir que des personnes l'utilisent. D'ici demain je vais mettre en ligne une nouvelle version avec le mode7 et plein de nouvelles fonctionnalités. Vous trouverez tout sur le site officiel.
N'hésitez pas à me contacter si vous avez des soucis :)
Je suis le créateur du Jo Engine. Ça me fait plaisir de savoir que des personnes l'utilisent. D'ici demain je vais mettre en ligne une nouvelle version avec le mode7 et plein de nouvelles fonctionnalités. Vous trouverez tout sur le site officiel.
N'hésitez pas à me contacter si vous avez des soucis :)
Re: Programmation sur Saturn
Bonjour,
pense à te présenter dans la section dédiée du forum stp, ça nous permettra de te souhaiter la bienvenue dans la communauté.
https://www.gamopat-forum.com/f15-l-accueil-des-nouveaux-patients
pense à te présenter dans la section dédiée du forum stp, ça nous permettra de te souhaiter la bienvenue dans la communauté.

https://www.gamopat-forum.com/f15-l-accueil-des-nouveaux-patients
Invité- Invité
Re: Programmation sur Saturn
Votre moteur est génial, merci pour votre travail ! Je compte bien l'utiliser et ainsi vous questionner sur les différentes subtilités.Johannes Fetz a écrit:Salut,
Je suis le créateur du Jo Engine. Ça me fait plaisir de savoir que des personnes l'utilisent. D'ici demain je vais mettre en ligne une nouvelle version avec le mode7 et plein de nouvelles fonctionnalités. Vous trouverez tout sur le site officiel.
N'hésitez pas à me contacter si vous avez des soucis :)

Page 1 sur 2 • 1, 2

» [RCH] Notices Saturn + boite saturn PAL + pads Saturn+ lot de jeux
» Mr ToutLeMonde et la programmation NES...
» Programmation CPS-1
» Mr ToutLeMonde et la programmation NES...
» La programmation Megadrive
» Mr ToutLeMonde et la programmation NES...
» Programmation CPS-1
» Mr ToutLeMonde et la programmation NES...
» La programmation Megadrive
Page 1 sur 2
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum