Identifiant:
Mot de passe:
Accueil
Devblogs
Voir tous les devblogs
Obtenir un devblog
Fiches Homebrews
Chat (IRC)
NoPaste
Lexique
Wikis
NDS/GBA
PSP
Wii
Forum
Accéder au forum
Messages non lus
Réponses non lues
Au secours !!!
Options
Rechercher
Se Connecter
Inscrivez-vous
Développement Amateur Francophone
|
Les News
|
News
|
[80] PVSnesLib pour les 20 ans de la SNES, Adaptation du SnesSDK
Pages: [
1
]
2
3
Bas de page
Imprimer
Auteur
Fil de discussion: [80] PVSnesLib pour les 20 ans de la SNES, Adaptation du SnesSDK (Lu 3697 fois)
0 Membres et 1 Invité sur ce fil de discussion.
Alekmaul
Papi codeur et
Administrateur
Messages: 1401
Out of memory error ...
[80] PVSnesLib pour les 20 ans de la SNES, Adaptation du SnesSDK
« 03 Juin 2012, 14:36:51 »
Programmer en C sur SNES, c'est possible
Hello,
A la demande d'une personne d'un autre forum et histoire de reprendre un peu de service dans le développement, j'ai voulu me lancer dans une librairie C générique Snes (Faut que les Homebrews reviennent pour les 20 ans de la console !) à la façon de la librairie devkipro / libnds.
Cette librairie est basée sur le Snes SDK mais de toute façon, tout est expliqué dans le Wiki
Il manque pas mal de choses pour avoir toutes les fonctionnalités de la Snes (pas de mode 7 "à la mario" par exemple ...).
Le wiki :
http://www.portabledev.com/wiki/doku.php
La doc :
http://www.portabledev.com/media/SNES/PVSnesLib/doc/index.html
Le code :
http://code.google.com/p/pvsneslib/
La documentation (accessible depuis le wiki, comme le code ) ainsi que les liens avec les exemples sont directement générés depuis la libSnes.
Je vais continuer en adaptant un certain nombre de mes homebrews GBA, je pense surtout à CodeName Hacker.
Merci de me dire ce que vous en pensez et si certains veulent m'aider, je suis preneur
En cadeau, petite image de ma SupaBoy avec UWOL (de la team Mojo Twins
http://www.mojontwins.com/juegos_mojonos/uwol-quest-for-money/
) porté grâce à PVSnesLib.
Et aussi une video de mario avec le son, le tout en C avec PVSnesLib :
http://www.youtube.com/watch?v=a5bYk0_fPzQ
Journalisée
Mon site
PortableDev
: l'émulation sur
GBA
et sur
DS
EvilTroopa
Administrateur
Messages: 648
1010011010 the Number of the Beast
Re : [80] PVSnesLib pour les 20 ans de la SNES, Adaptation du SnesSDK
«
Réponse #1 :
04 Juin 2012, 19:50:39 »
Je vais essayer de bricoler quelque chose cet été
«
Dernière édition: 06 Juin 2012, 23:50:22 par EvilTroopa
»
Journalisée
A mushroom a day, keeps the koopas away.
birslip
Administrateur
Messages: 552
Re : [80] PVSnesLib pour les 20 ans de la SNES, Adaptation du SnesSDK
«
Réponse #2 :
04 Juin 2012, 21:05:57 »
Hé! Ça m'intéresse un peu aussi, tu te bases sur quel logiciel pour compiler? Tu sais si c'est compatible sur autre chose que windows?
Le C sur snes c'est le *vrai* C (comme celui compilé par gcc par exemple) ou une version simplifiée?
Journalisée
mon super blog!
PypeBros
Hero Member
Messages: 707
Posez-vous les bonnes questions
Re : [80] PVSnesLib pour les 20 ans de la SNES, Adaptation du SnesSDK
«
Réponse #3 :
04 Juin 2012, 22:02:11 »
punaise! c'est limite exagéré, le tableau spc700data[] ! qu'est-ce qu'il a bouffé, le sound.c ??
Journalisée
j'ai besoin de vous 2 minutes pour mes recherches sur le SPaM
Alekmaul
Papi codeur et
Administrateur
Messages: 1401
Out of memory error ...
Re : Re : [80] PVSnesLib pour les 20 ans de la SNES, Adaptation du SnesSDK
«
Réponse #4 :
05 Juin 2012, 20:16:18 »
Citation de: PypeBros le 04 Juin 2012, 22:02:11
punaise! c'est limite exagéré, le tableau spc700data[] ! qu'est-ce qu'il a bouffé, le sound.c ??
Pas trop compris la remarque, mais il est plus là dans la version à venir. En plus, si tu regardes bien la lib, c'est normalement passé en constante dans la section .rowdata, donc pas en ram (heureusement ...).
En effet, j'utilise snesmod maintenant pour réaliser la musique au format it et les sons au format brr. y'a bien entendu toujours l'initialisaiton du spc700, mais il se trouve lui aussi dans une section rom pour le code assembleur de ce dernier , donc pas de pb ;-)
Citation de: birslip le 04 Juin 2012, 21:05:57
Hé! Ça m'intéresse un peu aussi, tu te bases sur quel logiciel pour compiler? Tu sais si c'est compatible sur autre chose que windows?
Le C sur snes c'est le *vrai* C (comme celui compilé par gcc par exemple) ou une version simplifiée?
Si tu regardes bien le wiki
et la doc
, tu verras que c'est basé sur snessdk et donc wladx pour la compil asm et 816-tcc pour le code C. C'est pas optimisé pour un poil, donc attention à pas mal de truc. Je mets sur le wiki les "best practices" pour s'en sortir avec le compilo ...
C'est aussi pas pour rien qu'un script python fait une première phase d'optimisation. mic_ avait fait un autre exécutable pour encore plus optimiser mais il marche pas out le temps. tant que j'ai pas trouvé pourquoi, je l'intègre pas à la lib / kit de dev.
Le snes sdk peut facilement être compilé sous Linux ou mac os avec GCC pour moi, donc ensuite, tu auras un tcc et wladx qui va bien pour travailler avec la lib
.
«
Dernière édition: 06 Juin 2012, 07:31:26 par Alekmaul
»
Journalisée
Mon site
PortableDev
: l'émulation sur
GBA
et sur
DS
PypeBros
Hero Member
Messages: 707
Posez-vous les bonnes questions
Re : Re : Re : [80] PVSnesLib pour les 20 ans de la SNES, Adaptation du SnesSDK
«
Réponse #5 :
06 Juin 2012, 09:31:16 »
Citation de: Alekmaul le
Hier
à 20:16:18
Citation de: PypeBros le 04 Juin 2012, 22:02:11
punaise! c'est limite exagéré, le tableau spc700data[] ! qu'est-ce qu'il a bouffé, le sound.c ??
Pas trop compris la remarque, mais il est plus là dans la version à venir. En plus, si tu regardes bien la lib, c'est normalement passé en constante dans la section .rowdata, donc pas en ram (heureusement ...).
En effet, j'utilise snesmod maintenant pour réaliser la musique au format it et les sons au format brr. y'a bien entendu toujours l'initialisaiton du spc700, mais il se trouve lui aussi dans une section rom pour le code assembleur de ce dernier , donc pas de pb ;-)
Ah ok. Je m'attendais à une table des fréquences ou qqch comme ça, mais en fait, c'était l'ensemble du code pour le co-processeur sonore, c'est ça ? placé dans un tableau plutôt qu'un .bin rajouté au niveau de l'édition de lien, j'imagine. Limitation du linker dans le sdk ?
Journalisée
j'ai besoin de vous 2 minutes pour mes recherches sur le SPaM
Alekmaul
Papi codeur et
Administrateur
Messages: 1401
Out of memory error ...
Re : [80] PVSnesLib pour les 20 ans de la SNES, Adaptation du SnesSDK
«
Réponse #6 :
06 Juin 2012, 15:56:52 »
oui, c'est le code ASM du spc-700 ensuite transféré dans sa mémoire. La Snes fonctionne comme cela, on peut rien y faire.
Ce n'est en effet pas une table de fréquence
Le code est donc petit, mois de 20Ko ...
Et comme tu dis, que ce soit un fichier bin linké ou un tableau déclaré, c'est du kif kif pour le compilo ;-)
Journalisée
Mon site
PortableDev
: l'émulation sur
GBA
et sur
DS
EvilTroopa
Administrateur
Messages: 648
1010011010 the Number of the Beast
Re : [80] PVSnesLib pour les 20 ans de la SNES, Adaptation du SnesSDK
«
Réponse #7 :
07 Juin 2012, 22:47:10 »
Petit test rapido :
Edit : oulaaah grosse image pour la largeur du site. Pardon !
Modif par alekmaul : image remise à l'echelle via la commande
[ img width=xxx ]
snesdev_screen01.png
(108.06 Ko, 1280x800 - vu 464 fois.)
«
Dernière édition: 08 Juin 2012, 04:55:24 par Alekmaul
»
Journalisée
A mushroom a day, keeps the koopas away.
EvilTroopa
Administrateur
Messages: 648
1010011010 the Number of the Beast
Re : [80] PVSnesLib pour les 20 ans de la SNES, Adaptation du SnesSDK
«
Réponse #8 :
08 Juin 2012, 09:32:33 »
On s'organise un petit concours type "demake" sur SNES pour la fin de l'été ?
Journalisée
A mushroom a day, keeps the koopas away.
Alekmaul
Papi codeur et
Administrateur
Messages: 1401
Out of memory error ...
Re : [80] PVSnesLib pour les 20 ans de la SNES, Adaptation du SnesSDK
«
Réponse #9 :
08 Juin 2012, 11:55:59 »
Perso, je suis partant mais faudrait alimenter le wiki pour que tout le monde soit au même niveau de connaissance de la console. Elle pas pas aussi simple qu'une GBA par exemple (accès aux OAM ou VRAM uniquement sur VBL, etc ...).
ET ça fera de la concurrence à pdroms.de qui faisait pas mal de concours retro y'a encore quelques années
Journalisée
Mon site
PortableDev
: l'émulation sur
GBA
et sur
DS
EvilTroopa
Administrateur
Messages: 648
1010011010 the Number of the Beast
Re : [80] PVSnesLib pour les 20 ans de la SNES, Adaptation du SnesSDK
«
Réponse #10 :
09 Juin 2012, 08:59:02 »
J'ai essayé de faire un test rapide en C++ mais ça n'a pas voulu compiler.
C'est un problème lié à la lib ou au compilo ?
Sinon j'ai testé un peu tous les exemples, j'ai déjà une bonne idée de jeu à faire, mais je ne sais pas encore si ça sera jouable techniquement.
Tu pourrais expliquer un peu ce que tu disais à propos de l'accès aux OAM et VRAM lors du VBL ?
Quelle contrainte ça ajoute au niveau du code ?
Journalisée
A mushroom a day, keeps the koopas away.
Alekmaul
Papi codeur et
Administrateur
Messages: 1401
Out of memory error ...
Re : [80] PVSnesLib pour les 20 ans de la SNES, Adaptation du SnesSDK
«
Réponse #11 :
09 Juin 2012, 10:21:24 »
Attention, j'ai relivré pvsneslib ce matin, y'avait un bug dans la gestion des musics qui faisait planter la lib.
Par rapport aux OAM et VRAM, regarde le code de likemario ici :
http://www.portabledev.com/media/SNES/PVSnesLib/doc/a00013.html
, tu verras que pour la gestion de la mise à jour de la VRAM, je suis obligé d'attendre la VBL. Pour les oam, la mise à jour est déjà intégrée dans la lib, y'a qu'a mettre à jour les sprites avec oamset et oamsetex. Cet exemple te permet aussi de comprendre que les sprites ne sont pas comme sur GBA ou DS, ils sont entrelacés :
http://www.portabledev.com/media/SNES/PVSnesLib/doc/a00010.html
.
Pour le C++, c'est cuit, que du C, le compilo supporte que ça. Et regarde le wiki, tu verras aussi ici
http://www.portabledev.com/wiki/doku.php?id=bug_tcc_en
que le compilo est pas géant et qu'il faut faire gaffe à certaines choses.
Faut vraiment que je trouve le temps de mettre à jour les Day3 et Day4 sur le wiki pour aider à comprendre tout cela ...
Journalisée
Mon site
PortableDev
: l'émulation sur
GBA
et sur
DS
EvilTroopa
Administrateur
Messages: 648
1010011010 the Number of the Beast
Re : [80] PVSnesLib pour les 20 ans de la SNES, Adaptation du SnesSDK
«
Réponse #12 :
09 Juin 2012, 11:50:11 »
Après avoir posté le message j'ai jeté un oeil à toutes les pages du wiki, donc j'ai pu voir les différentes contraintes du code.
J'avais pas trop regardé l'exemple de likemario parce que j'avais du mal à piger d'autres trucs.
Merci pour ces quelques précisions et vivement la suite
Journalisée
A mushroom a day, keeps the koopas away.
birslip
Administrateur
Messages: 552
Re : [80] PVSnesLib pour les 20 ans de la SNES, Adaptation du SnesSDK
«
Réponse #13 :
09 Juin 2012, 22:02:01 »
Bon j'ai installé le tout. Ça fonctionne nickel, bravo Alekmaul!
Cependant j'ai une petite question... Comment on fait pour avoir deux sprites différents? Je comprends pas bien comment fonctionne le paramètre address de la fonction oamInitGfxSet... J'imagine que c'est un peu comme sur GBA mais j'ai oublié depuis le temps
Edit: C'est bon j'ai trouvé comment faire, tu l'as dis toi même, les sprites sont entrelacés, c'est un peu déroutant...
Edit n°2: Bon j'ai bien joué, j'ai commencé à faire un remake de jetpack joyride
jetpackjoysnes.png
(33.06 Ko, 276x282 - vu 112 fois.)
«
Dernière édition: 09 Juin 2012, 23:22:58 par birslip
»
Journalisée
mon super blog!
Alekmaul
Papi codeur et
Administrateur
Messages: 1401
Out of memory error ...
Re : [80] PVSnesLib pour les 20 ans de la SNES, Adaptation du SnesSDK
«
Réponse #14 :
10 Juin 2012, 06:33:54 »
Bravo birslip, j'adore ! Les graphismes sont de toi, ils sont sympa ?
Pour les sprites, oui, c'est pas simple, j'ai pas encore tout compris non plus d'ailleurs
sur le mode d'adressage, il faut des adresses pair pour loger les graphismes sinon ça passe pas.
Regards l'exemple fournis avec les sprites animés, c'est le simple.
Spéciale pour Foxy, j'espère le sortir un jour sur SNES, la conversion est faite, reste les sprites et l'optimisation du code ....
http://www.youtube.com/v/_01ESSfyCWw?fs=1&hl=fr_FR&rel=0
Aussi, le jour 3 sur les sprites est dans le WIKI maintenant :
http://www.portabledev.com/wiki/doku.php?id=sprites_en
«
Dernière édition: 10 Juin 2012, 08:13:47 par Alekmaul
»
Journalisée
Mon site
PortableDev
: l'émulation sur
GBA
et sur
DS
Pages: [
1
]
2
3
Haut de page
Imprimer
Aller à:
Merci de choisir une destination:
-----------------------------
Compos
-----------------------------
=> Compo Débile Dev-Fr !
-----------------------------
Les News
-----------------------------
=> News
=> Vos News
-----------------------------
Général
-----------------------------
=> Discussion générale
=> Demande de blogs
=> Evolution du site
-----------------------------
Articles
-----------------------------
=> Interviews
=> Tests
===> Vos Tests
=> Démos Techniques
=> Pimp My Code
=> Tutoriaux
=> Le HS total du dimanche
-----------------------------
Divers Developpement
-----------------------------
=> Idées de Projets
=> Codes et Optimisations
=> Emulation
=> Graphismes
=> Game Design / Level Design
=> Musiques
=> Autre
-----------------------------
Dev-FR Coding Compo 2007
-----------------------------
=> International Section
===> Apps
===> Games
=> Section Francophone
===> Applications
===> Jeux
-----------------------------
Nintendo DS/GBA
-----------------------------
=> Projets
=> Aide au développement
=> Résolu via IRC
-----------------------------
PSP
-----------------------------
=> Projets
=> Aide au développement
-----------------------------
iPhone / iTouch
-----------------------------
=> Projets
=> Aide au développement
=> Tutoriels
-----------------------------
Android
-----------------------------
=> Projets
=> Aide au développement
=> Tutoriels
-----------------------------
Dingoo
-----------------------------
=> Projets
=> Aide au développement
-----------------------------
Wii/NGC
-----------------------------
=> Projets
=> Aide au développement
-----------------------------
PS3/Linux
-----------------------------
=> Projets
=> Divers
-----------------------------
Xbox 360
-----------------------------
=> Projets
=> Aide au développement
=> Tutoriels
-----------------------------
Windows/Mac/Linux
-----------------------------
=> Projets
=> Aide au developpement
-----------------------------
PocketPC
-----------------------------
=> Projets
-----------------------------
Matériel
-----------------------------
=> Consoles
=> Ordinateurs
=> UltraPortables