GENERER UN PLAYER ----------------- Une fois qu'une musique est terminee, vous avez sans doute envie de la reutiliser dans vos propres productions. Apres l'avoir convertie de SKS vers un fichier BINaire grace a Generateur de Musique (voir GENSONG.FRA), it est maintenant possible de la jouer avec un des 3 players disponibles. Chargez "GP", ou si vous avez la ROM correspondante, faites |GP. LE MAIN MENU DU GENERATEUR DE PLAYER ------------------------------------ Une fois que le programme est charge, apparait un menu : 1) Show all files on disc ... Catalogue, quoi. 2) Generate a BASIC Player 3) Generate an ASM Player 4) Generate an INTERRUPTION Player Ces options vont vous permettre de generer les players. Voir plus bas. 5) Drive A Permet de passer d'un lecteur a un autre. LES PLAYERS ----------- STarKos vous donne le choix entre 3 players. Pourquoi 3 ? Et bien, car chacun d'eux a ses particularites : - Le Player ASM : Si vous avez l'intention d'utiliser votre musique dans une demo, sans systeme, alors ce player est pour vous, c'est le plus optimise. Les demomakers/fanzmakers choisiront celui la. Attention, ce player corrompt tous les registres, memes auxiliaires, mais pas SP. Son utilisation est donc deconseillee si le systeme est enclenche (risque de crash/bugs etranges). - Le Player BASIC : Celui la est fait pour les utilisateurs BASIC, or pour les codeurs ASM qui voudraient utiliser un player qui ne soit pas dangereux pour le systeme. Ce player est finalement presque pareil que l'ASM, mais sauvegarde quelques registres pour que le systeme ne fasse pas la gueule. - Le Player sous INTERRUPTION : Celui la est pour ceux qui veulent lancer la musique et l'oublier ! Les utilisateurs Basic seront les 1ers interesses, mais il fonctionne biensur pour n'importe quel programme Assembleur qui ne tuerait pas le systeme. Un simple CALL et la musique commence ! Notez bien que, pour les players ASM et BASIC, c'est a VOUS d'appeler la musique aux bons moments (une fois par VBL... jusqu'a 6 fois si votre musique tourne a 300hz). Je pense qu'il est possible d'obtenir une musique a 300hz sous Basic en bidouillant un peu, mais c'est quelque peu inutile ; utilisez plutot le player sous INTERRUPTION. Celui ci detecte automatiquement la frequence de la musique. Dans tous les cas, une interruption a 300hz est lancee (en utilisant les vecteurs system), mais seule une poignee des interruptions sera utilisee pour une musique a moins de 300hz. GENERER UN PLAYER ----------------- Une fois que vous avez choisi le player qui vous correspondait, vous devrez choisir le nom du player a sauver (STKPLBAS/ASM/INT par exemple), puis l'adresse ou vous desirez qu'il soit loge. Puis le player est sauve. UTILISEZ UNE MUSIQUE DANS VOS PROGRAMMES ---------------------------------------- C'est vraiment tres simple, et suit plus ou moins la meme approche que celle du Sountrakker de BSC. D'abord, chargez le player a l'adresse que vous avez entree dans GENPLAY. En Basic, cela donnerait : Memory &1fff:load"PLAYER",&2000 Puis, chargez la musique la ou vous l'avez compilee sous GENSONG. Load"SONG",&3000 NOTE : PRECISEZ TOUJOURS LES ADRESSES QUAND VOUS CHARGEZ UNE MUSIQUE OU UN PLAYER. Cela est necessaire, car les Start et Exec addresses des headers des fichiers ne sont pas bonnes. Lancer une musique varie un peu selon le player que vous utilisez : Si vous utilisez le player BASIC : ---------------------------------- Trois CALLs sont disponibles : CALL PLAYER,ADSONG = Initialise la musique. CALL PLAYER+3 = Joue la musique. CALL PLAYER+6 = Stoppe la musique. L'initialisation est NECESSAIRE une fois avant de jouer la musique une 1ere fois. N'OULIEZ PAS le parametre ADSONG ! Il s'agit logiquement de l'adresse de votre musique, le player en a besoin pour fonctionner. Dans notre exemple, nous devrions ecrire : CALL &2000,&3000 pour initialiser la musique. CALL &2003 pour la jouer. CALL &2006 pour la stopper. Vous pouvez egalement reinitialiser la musique si vous voulez la faire recommencer. Notez que le player BASIC peut aussi etre appele par un programme ASM, mais qu'il est un chouillas plus lent. En Assembleur, pour donner ADSONG au player Basic lors de l'initialisation, passez le par DE (comme plus bas). Si vous utilisez le player ASM : -------------------------------- Et bien ca marche presque pareil : CALL PLAYER pour initialise la musique, avec DE pointant sur la musique. CALL PLAYER+3 = Joue la musique. CALL PLAYER+6 = Stoppe la musique. Dans notre exemple, cela donnerait : LD DE,&3000 ; CALL &2000 pour initialiser. CALL &2003 pour jouer. CALL &2006 pour stopper. Soyez sur que le systeme n'est pas utilise, sinon ca va planter. Tous les registres sont modifies. Si vous utilisez le player sous INTERRUPTIONS : ----------------------------------------------- C'est encore plus simple : CALL PLAYER,ADSONG = initialise et commence la musique CALL PLAYER+3 = Stoppe la musique. De meme, si vous utilisez cette musique dans un programme Assembleur, utilisez DE pour donner ADSONG lors de l'initialisation, exactement comme plus haut. Voila ! Pour plus d'informations techniques sur les players (et comment bidouiller avec), lisez PLAYERS.FRA.