Game Boy :
2 square waves, 1 programmable 32-sample 4-bit PCM wave, 1 white noise, and one audio input from the cartridge.[25] The unit only has one speaker, but headphones provide stereo sound (for further information, see Game Boy music)
En clair, au niveau rhytmique, on est proche de ce que fait le beat-voxing: un son masque complètement le précédent. Et celui qui veut faire dire "Ghostbuster ... wha hahahaa !" a sa console doit reprogrammer à la volée le buffer de 16 bytes jusqu'à ce que l'ensemble du sample ait été joué. Oui, quand ils disent "32-sample", ils parlent bien de 32 bytes si le son avait été 8-bit, et de 16 bytes vu qu'on a que 4 bit par échantillon. Rien à voir donc avec le "sample" d'un soundtracker.
Autant dire que quand "Zelda: Link's awakening" nous chante une mouette qui passe, le "z80" ne doit pas être loin
SNES et son SPC-700 -- une sorte de System-on-Chip intégrant un CPU de C64 (6502), des unités de conversion Analogique/Digital, de l'ADSR en hardware, lecture de samples à vitesse variable et mixage hardware pour 8 pistes. 64KB de RAM dédié au contrôle de tout ce petit monde (et aux samples, évidemment) grâce à un programme pour SPC qui aura été "uploadé" depuis le CPU principal de la console. Ca me rappelle un peu le tandem ARM7/ARM9 de la DS, mais en horriblement plus custom :P
GBA :
The GBA supplies four 'analogue' sound channels for Tone and Noise (mostly compatible to CGB sound), as well as two 'digital' sound channels (which can be used to replay 8bit DMA sample data).
La réalité me semble un peu plus tordue: deux canaux de "square wave à timbre programmable", avec enveloppe simplifiée (linéaire, quoi), et un de ces canaux est capable de "portamento" en hardware. On a un canal de bruit (canal#4) et un "chipsound programmable" similaire au canal 3 du bon vieux gameboy. A côté de ça, deux canaux jouent ce qui sort de la ROM (ou de la RAM si on veut faire un modplayer) à grand renfort de transfer DMA -- exactement comme une Sound Blaster 8 bit, donc. De quoi expliquer le "look" si particulier de la bande son de Zelda: Minish Cap qui mélange "sons gameboy" avec des strings orchestraux et des voix numérisées pour les personnages. Pour jouer un .MOD de 4 pistes sur cette console, il faudra faire le mixage et le traitement de la hauteur de la note entièrement en software sur le processeur ARM à 33MHz. Si c'est techniquement possible, on aura sans doute plus grand-chose comme puissance de calcul à dédier au jeu lui-même qui devient une sorte "d'annexe au modplayer" façon Crazy Brix. Il faut aussi rappeler que le GBA a relativement peu de RAM (32K, plus de la "EWRAM" à accès
plein d'infos sur le son du GBC (sauf à quel point celà diffère du GB :P) On notera sur GB et GBC la présence d'une ligne "audio IN" de la cartouche vers la machine. Pas souvent utilisée commercialement, mais ça ouvre la possibilité de monter un soundchip ADlib sur une cartouche GBC pour se faire un remake ultime de Fury of the Furries ;)
Voilà en tout cas qui me fait plutôt envie de couper court à la recherche de cartouche GBA revival de la SNES pour jouer sur ma DS... je sens bien qu'un émulateur SNES dernier cri (le mien doit bien avoir 1 an voir plus d'âge) proposera un meilleur rendu...
ReplyDeleteCeci dit, petit point chouette dans Super Mario World... On peut sauvegarder quand on veut !
Idem avec Donkey ... mais d'un autre côté, un bon émulateur offre toujours cette fonction-là :P
ReplyDeletePar contre, il y a eu quelques bon tuyaux sur GBA: Kirby's Amazing Mirror, Donkey: King of Swing pour ne citer qu'eux.
et Ian Stocker nous confie qu'il travaillait avec plus ou moins de pistes (sur GBA) selon le temps CPU disponible dans telle ou telle partie du jeu ... Impressionnant!
ReplyDeletelire aussi le thread de l'été de Cactuceratops
ReplyDeletehttp://belogic.com/gba/directsound.shtml ohoo!
ReplyDeleteIan Stocker managed to run 16-tracks on GBA for HP:Prisoner of Azkaban as the game wasn't using too much CPU.
ReplyDeleteYup, the GBA does not have a dedicated sound chip, so the number of channels would vary depending on the CPU load of that part of the game. I also wrote software to limit the channel usage so I could have the same source file for the GBA and DS version.
ReplyDeleteI only used the GBA hardware channels in the first few soundtracks I did. Once we got a tracker-based driver going, I never touched them again...
I remade my 2018 Game Boy APU infographic. Check out the new informations.
ReplyDelete