Monday, June 30, 2008

r4volu7ion

Bon. Si je veux convaincre mes potes de tester mes p'tits Bilous sur leur DS, il serait temps que je m'assure de la compatibilité avec les linkers autres que mon "supercard". Mon frère est sur le point de se marier, donc il n'a pas vraiment besoin de sa DS pour les semaines qui viennent. Je la lui chipe donc, histoire de voir ce qui coince...
  • 26 juin : selon Smealum, ma p'tite démo ne passe pas sur le R4
  • 29 juin : premier test sur la R4 de mon frère, visiblement c'est l'initialisation ARM7/ARM9 qui coince
  • 30 juin: ouf. la R4 est quand-même capable de charger un .nds avec du code 'custom' sur le processeur ARM7. C'est donc juste que mon code est foireux.
  • 13:37 petit debugging à coup de "changement de couleur de fond". l'ARM7 compilé sans NTXM entre bien dans la routine "setupWifi()", mais reste bloqué en attente d'un fifo_temp==IPC_WIFI_INIT. Normal : j'ai retiré toute référence au wifi du côté ARM9 :P ... A noter malgré tout que celà n'empêche plus le traitement des autres évènements ...
  • 17:00 "si tu veux, je teste ça ce soir sur mon M3" dixit Oli ... wait'n'see
  • 20:00 je re-teste entre deux copies ... apparemment, c'est l'activation de la bibliothèque NTXM qui pose des problèmes ... je reprends mes habitudes de développeur de bootsector: on change la couleur de l'écran en fonction des étapes franchies dans le code, avec une légère variation pour prouver que le CPU est toujours bien actif ;)
  • 22:30 ok. c'est l'interruption timer qui douille. je la désactive, ça me fait toujours un runme fonctionnel sur R4 (auto-update et téléchargement compris. fini le card-swapping) mais pas de son :'(
  • 22:55 YES! on rajoute Song=0 dans le constructeur de Player et hop! ça marche "revolution ... r4volu7ion ... mem0ry ... m0re mem0ry" comme disais JMJ ;)

I'm doing tests with my brother's R4 this week and trying to find out what's going wrong with that latest demo. After a couple of hacks, it turned out that the ARM7 is apparently halting at some point when the NTXM player is enabled ... weirdo.

I already found a couple of uninitialized pointers, but unfortunately, the problem can only be reproduced when launching the software from R4 menu (launching from runme works like a charm, but then you need a no-sound version of runme to get bootstrapped :P) I've been somehow cheated in my attempts, though, by the fact that i kept the SuperCard in slot 2 while doing tests from the R4 on slot 1 ... Somehow, the FAT library "prefers" the supercard and i ended up running program out of the R4 that was doing I/O (and WiFi upgrades) through the SCSD :P 

(PS: je ferai une nouvelle release demain, après m'être assuré que j'ai bien un binaire qui marche, l'EFS lib et le DLDI fonctionnel, etc)

edit: éviter le mélange SCSD dans le slot 2 et R4DS dans le slot 1 pour le dev. on est jamais trop sûr duquel est utilisé par la libfat :P du coup, je m'interroge ... est-ce que j'ai vraiment réussi à avoir le son et le wifi sur la R4 ?

3 comments:

LunaVorax said...

Yo ! Je suis actuellement en train d'attendre ma Acekard 2, je l'aurais peut être dans 1~2 semaines dans le pire des cas, mais c'est déjà ça ! La spécificité de ce linker est qu'il ne nécessite pas que l'on patche le homebrew à grand coup de DLDI auparavant.
Je t'enverrais un autre commentaire dès que j'aurais testé tout ça !

En attendant j'ai déjà testé Billou sur No$GBA. C'est du bon travail ! Mais on est évidement loin de la jouabilité parfaite %D

Anonymous said...

bon...c'est bien je vois que ma R4 tourne bien :)

PypeBros said...

PS: vous avez aussi une R4, mais elle reste bloquée sur un écran "Loading" ? Vérifiez le contenu de la carte mémoire: une partie du système de la R4 (le thème au moins) est extrait de la carte SD et il n'y a pas de thème par défaut sur la R4.

Le contenu du répertoire r4 est un minimum (R4system.ini, language.ini, reset.mse, le sous-répertoire skin), le fichier r4.dat situé à la racine. Et si j'étais vous, j'éviterais de trop chipoter à _ds_menu.sys ou _ds_menu.dat.

Rendez-vous sur le site du constructeur pour retrouver les fichier à installer ?