|
Post by beginnerxorz on Nov 27, 2013 7:18:06 GMT -5
I just opened echo bex.bex and compiled. I got that error log. am I doing anything wrong?
|
|
|
Post by sega16 on Nov 28, 2013 20:20:12 GMT -5
I don't think that's enough for sega16 to go on. What were you trying to do in the first place that led to that error log? Well actually I think I know what may have happened. The sample code will work if and only if you extract the files in echo_bex.zip to the directory in which basiegaxorz is installed. Do not create a folder in the directory just directly extract it.
|
|
|
Post by beginnerxorz on Nov 29, 2013 5:36:33 GMT -5
I did that, failed compiling again!
|
|
|
Post by sega16 on Nov 29, 2013 10:20:54 GMT -5
Are you getting the same or different errors?
|
|
|
Post by beginnerxorz on Nov 29, 2013 10:28:26 GMT -5
Yes I am getting the Same errors.
|
|
|
Post by sega16 on Nov 29, 2013 11:01:54 GMT -5
Well then you did something wrong. You need to extract all files in echo_bex.zip in the location that basiegaxorz is installed. This is usually in program files or program files (x86). I just tested it in a clean install of basiegaxorz and the code provided in my first post compiled without error.
|
|
|
Post by beginnerxorz on Nov 29, 2013 11:07:38 GMT -5
I got the files from echo_bex.zip and put the folder into the BasiEgaXorz directory. Am I doing something wrong?
|
|
|
Post by sega16 on Nov 29, 2013 11:16:38 GMT -5
Yes if you mean the same directory that I am talking about. When I say basiegaxorz directory I mean where you would find basiegaxorz.exe not where you have saved the bex project. Also make sure you copy and paste EVERYTHING in the code box.
|
|
zenac
Moldy Popcorn
Posts: 41
|
Post by zenac on Apr 15, 2014 6:01:12 GMT -5
How do I convert a XM file to a XIF file? I have used "xm2esfgui.exe" to do this (I only selected the XM file and pressed the "Create XIF file" without changing other options). It created a XIF file and I used that in "xm2esf.exe" to create a ESF file. I have edited the files "songlist.68k" and "bgms.68k" to include my new ESF file. But when I run the program on the Sega Genesis emulator, my new song does not play very well. Does anyone here can select the right options of XM2ESF? Click here to see the image
|
|
|
Post by Tamkis on Apr 15, 2014 21:47:08 GMT -5
How do I convert a XM file to a XIF file? I have used "xm2esfgui.exe" to do this ( I only selected the XM file and pressed the "Create XIF file" without changing other options). You will need to change other options! Select if the song is either BGM/SFX, select if it loops, the ticks per, the amount and type of channels, and then allocate the channels to the appropriate type. Also, you will need to assign your instruments. See the attached pic for an example. Could you provide us with a quick video of the bad music? Will you be using your own, custom instruments, or only the default ones included with the echo_bex package? If using your own, add your own .ewf and .eif instrument files in the "PCM" and "FM" folders respectively inside "data"; otherwise, the song will be using the default instruments, and may sound differently than you audially intendid. Afterwards, open "list.68k", modify the contents under the label "PointerList:" with your own Echo_ListEntry lines, and then add line labels underneath defining the instrument. The first Echo_List Entry is the 1st instrument, the 2nd slot is the 2nd, ect. The instruments can either be defined by incbin'ing your instrument files (in the case of FM .eif and PCM .ewf files), or you can define them with an array of bytes (dc.b for PSG instruments). Examine the original list.68k for reference. I created my own instruments by converting from .vgi from Shiru's VGM MM, using the instrument converter here.======================== Attachments:
|
|
zenac
Moldy Popcorn
Posts: 41
|
Post by zenac on Apr 16, 2014 7:20:47 GMT -5
How do I convert a XM file to a XIF file? I have used "xm2esfgui.exe" to do this ( I only selected the XM file and pressed the "Create XIF file" without changing other options). You will need to change other options! Select if the song is either BGM/SFX, select if it loops, the ticks per, the amount and type of channels, and then allocate the channels to the appropriate type. Also, you will need to assign your instruments. See the attached pic for an example. Could you provide us with a quick video of the bad music? Will you be using your own, custom instruments, or only the default ones included with the echo_bex package? If using your own, add your own .ewf and .eif instrument files in the "PCM" and "FM" folders respectively inside "data"; otherwise, the song will be using the default instruments, and may sound differently than you audially intendid. Afterwards, open "list.68k", modify the contents under the label "PointerList:" with your own Echo_ListEntry lines, and then add line labels underneath defining the instrument. The first Echo_List Entry is the 1st instrument, the 2nd slot is the 2nd, ect. The instruments can either be defined by incbin'ing your instrument files (in the case of FM .eif and PCM .ewf files), or you can define them with an array of bytes (dc.b for PSG instruments). Examine the original list.68k for reference. I created my own instruments by converting from .vgi from Shiru's VGM MM, using the instrument converter here. ======================== Thank you so much, Tamkis. Now, I am at work but I want to test your advices soon. I take note of your text.
|
|
|
Post by Tamkis on Apr 19, 2014 12:28:31 GMT -5
Nevermind. Don't use the converter for .vgi and .tfi files from my previous post; it produces incorrectly converted files. Compile the .vgi and .tfi converters from sikthehedgehog's github page, or download the attached zip file. It contains the .vgi and the pcm2ewf converters compiled for Windows. Attachments:Converters.zip (21.87 KB)
|
|
zenac
Moldy Popcorn
Posts: 41
|
Post by zenac on Apr 22, 2014 8:07:15 GMT -5
Nevermind. Don't use the converter for .vgi and .tfi files from my previous post; it produces incorrectly converted files. Compile the .vgi and .tfi converters from sikthehedgehog's github page, or download the attached zip file. It contains the .vgi and the pcm2ewf converters compiled for Windows. Thank you again, Tamkis. Your hints seem to be so valuable. In the next days, I intend to create a new XM audio file and, after some conversions, play it through a Sega Genesis ROM.
|
|
zenac
Moldy Popcorn
Posts: 41
|
Post by zenac on Apr 29, 2014 9:25:42 GMT -5
I did a simple test using Echo library in BasiEgaXorz.
Using the music sheets of a song, I have created a XM file and I have converted it to ESF. My XM file used 9 audio channels (5 FM, 1 PCM and 3 PSG without the PSG noise channel).
I have got a good result, the song was played inside the ROM.
I have got some small problems: sometimes the PSG notes didn't play and there is a strange sound in the end of the loop (when the song reaches the end and it starts again).
But now I will be back in the code programming. Later I intend to insert songs in the Genesis ROM.
|
|
|
Post by Tamkis on May 10, 2014 23:38:51 GMT -5
I have successfully been able to not only create songs for the Echo sound engine, but also have been able to simultaneous play both a song and a PCM sfx! I also was able to easy plop the engine into an in-progress homebrew port project. (More details about the in-progress homebrew port at a later date )
I have a question for those who have experience with using the Echo sound engine and coding: How could I force a delay between certain Echo sound effects? I've tried the following code, but to no avail of the program halting until the sfx is finished playing: asm moveq #0,d0 moveq #0,d1 move.w (__INTEGER_E_ID),d0 lea (SongList), a1 ; Get song address lsl.l #2, d0 adda.l d0,a1 movea.l (a1),a0 moveq #0,d0 jsr Echo_PlaySFX ; Play song jsr Echo_GetStatus end asm regmove.w d0,E_Wait while E_Wait.1=1 asm jsr Echo_GetStatus end asm regmove.w d0,E_Wait wend
The code is supposed to play a sfx, and then go into a loop until Echo signals that the sfx has stopped playing, via the value of the 1st bit returned from Echo_GetStatus. However, the program goes into an infinite loop. (For the above preview video, I simply commented out the delay code and used a sleep command for now.) To quote the ASM API documentation about the Echo_GetStatus command:
|
|