Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Mar 13, 2014 16:24:30 GMT -5
Yes please. I use the third and fourth (noise) channels for my sound-effects. Try the attached version. Simply call "vgm_disable" ( followed by the channel number ) when you want to start playing a sound effect, and call "vgm_enable" when the sound effect is done. I'm not caching any of the instructions, so the VGM player might continue with a incorrect note after calling vgm_enable ( in case the first instruction is a volume instruction ). I could fix this if you really want to .. but it adds quite a few cycles. Anyway, press A/B/C/Start to disable each of the 4 channels, and release to enable again. Attachments:VGM_Player.bex (2.61 KB)
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Mar 14, 2014 14:40:09 GMT -5
(...) but this only took 10 minutes* to write... That's because you know what you're doing, even reading your code, I have no idea what this is all about, but I'm still learning Thanks a lot BTW, this will be really useful ! Moon is a beast with his knowledge of game development, and we're lucky to have someone that has that knowledge and willing to help those who put effort in
|
|
bonaf
Moldy Popcorn
Posts: 28
|
Post by bonaf on Mar 14, 2014 15:15:14 GMT -5
I'm not caching any of the instructions, so the VGM player might continue with a incorrect note after calling vgm_enable ( in case the first instruction is a volume instruction ). I could fix this if you really want to .. but it adds quite a few cycles. Or perhaps ignoring the first instruction after a vgm_enable if it's a volume instruction ? I'll try that. Other than that, it works well in the game, thanks
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Mar 14, 2014 15:30:13 GMT -5
Or perhaps ignoring the first instruction after a vgm_enable if it's a volume instruction ? In that case you want to ignore all volume instructions until you've received a note instruction for the first time since vgm_enable has been called for a specific channel .. as there might be multiple volume instructions before a note instruction occurs. Although at that point doing a proper caching solution is probably faster
|
|
bonaf
Moldy Popcorn
Posts: 28
|
Post by bonaf on Mar 14, 2014 15:43:05 GMT -5
Yes, you're right. Well I'll try to "play" with your code and see what I can do with it.
|
|
bonaf
Moldy Popcorn
Posts: 28
|
Post by bonaf on Mar 21, 2014 16:46:39 GMT -5
New version : Thanks to Moon, the music is much nicer now Other updates : new arena (My Hero), new character (Psycho Fox, not yet able to transform), victory animation (done by Watain) for Steve (My Hero).
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Mar 21, 2014 19:25:56 GMT -5
Nice work! The music does make a difference
|
|
bonaf
Moldy Popcorn
Posts: 28
|
Post by bonaf on Apr 13, 2014 13:44:15 GMT -5
Hello everyone,
here is a video showing the game played on a real 50hz console (via Everdrive) :
Last few changes to the game : new victory animations, new arena and bugs corrected.
|
|
zenac
Moldy Popcorn
Posts: 41
|
Post by zenac on Apr 15, 2014 14:54:16 GMT -5
Attached is a quick & dirty SN76489-only VGM player ( in BASIC, no inline assembly nor peek / poke ). Only SN76489? Can't we use in BasiEgaXorz a VGM file for Sega Genesis using YM2612 and beyond PSG?
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Apr 15, 2014 15:13:17 GMT -5
Only SN76489? Can't we use in BasiEgaXorz a VGM file for Sega Genesis using YM2612 and beyond PSG? You can write a VGM player in BEX* that supports the YM2612 as well .. but since bonaf is doing a Master System styled / inspired game, i figured he'd only need PSG ( SN76489 ) support. *Even though there aren't any FM commands available ( unlike the PSG commands ).
|
|
zenac
Moldy Popcorn
Posts: 41
|
Post by zenac on Apr 16, 2014 7:09:20 GMT -5
Only SN76489? Can't we use in BasiEgaXorz a VGM file for Sega Genesis using YM2612 and beyond PSG? You can write a VGM player in BEX* that supports the YM2612 as well .. but since bonaf is doing a Master System styled / inspired game, i figured he'd only need PSG ( SN76489 ) support. *Even though there aren't any FM commands available ( unlike the PSG commands ). Thank you, moon. I have made a successful test using "psg" and "psgvol" commands. Your hint of using a VGM file is great. Now I am fighting to use YM2612 during the game and making some experiments with Echo library. Bonaf, congratulations for your progress!
|
|
bonaf
Moldy Popcorn
Posts: 28
|
Post by bonaf on May 15, 2014 7:58:49 GMT -5
Hello everyone, new version of the game : What's new : - two new characters (Mick from Ghost House and Joe Musashi) - three new arenas - music test - better AI and better interface - random mode for characters and arenas - some other minor features ROM dowload link : david.bonafonte.free.fr/SMSBrawl/SMSBrawl.binAs a bonus, a glimpse of a future cover :
|
|
bonaf
Moldy Popcorn
Posts: 28
|
Post by bonaf on Sept 28, 2014 14:01:01 GMT -5
Hello everybody,
big update, the character roster is complete :
The game isn't finished yet, I still have the power-ups to add and a few other things.
|
|
|
Post by Tamkis on Sept 28, 2014 22:48:39 GMT -5
Very nice to see a rather original, functional game being worked on using BEX! Not sure if the other forum members know, but this homebrew is receiving some notice on the interwebz! PDRoms.de entryYouTube Video review
|
|
bonaf
Moldy Popcorn
Posts: 28
|
Post by bonaf on Nov 23, 2014 14:53:47 GMT -5
I guess I'm getting close to some limits of the compiler with my game.
I got the following error today :
Output File: basic.bin Pass 1 Pass 2 basic.s:32694: *** Error: Word branch out of range *** 022006 6700 804A beq IF_JUMP_815
00001 Total Error(s)
Anyone's got any idea how I can optimize my code to avoid that ? Is that somewhat related to the size of the source code file ?
That's quite unfortunate, especially since I'm very close to the end of the project...
EDIT : got it apparently, I had a block of code which was too long, I split it with some GOSUBs. It seems to work fine now.
|
|