Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Hi This is very interesting as a chiptune musician, can I ask what it is the intended workflow if I wanted to run my own xm files. Open the cdi add the xm files and remake the cdi ? 

Many XM features are not supported, and there are several limitations.

There is not really an "intended workflow" at the moment beyond just "build the demo for the game jam submission". Currently, you'd need to rebuild the entire project from source to change which .xm files are included, with minor edits to the source code.

If you have a .xm file you'd like me to try to play with this software, I'd be happy to make a build for you (possibly with spontaneous newly-developed XM features if I notice your .xm file depends on something I didn't implement yet).

Thanks for the reply, I'd be happy adjust the XM to suit if I knew the exact command and sample limitations, but happy to send you it either way, I ordered a dreamcast after seeing your tracker/player but had been meaning to get one anyway, so still getting it set up for homebrew, I play live shows in the chipscene and it would be amazing to get a dreamcast on stage. Is it a possibility to have it load xm files from the folder in gdemu or something in future? so close to having a music scene for dreamcast

> Is it a possibility to have it load xm files from the folder in gdemu or something in future
Another game jam entry, https://purist.itch.io/dreamcast-jvm, does work this way, loading Java class files from the iso9660 filesystem. I just didn't bother to implement it for the XM player. Yes, it's definitely possible.

> so close to having a music scene for dreamcast

I think this would be interesting, but perhaps (even despite my own efforts), there's still a lot of work that could be done:

- AICA has hardware volume envelope generators, but the XM musicians I worked with for this jam were timid to use them, because there currently isn't good tooling to simulate them in an artist-friendly way.

- Similarly, AICA also has pitch and amplitude LFOs

- AICA also has a hardware low pass filter.

I think a properly min-maxed collections of sampled instruments for Dreamcast would make very liberal use of all of these features--with good tools, it would allow musicians to greatly reduce the storage requirements (in bytes) for a given desired instrument, while still producing a satisfactory sound.

Even more under-utilized is the AICA DSP, which can produce arbitrary real-time audio effects at "zero cost" to the performance of the rest of the Dreamcast application. Per channel effects could include but are not limited to:

- surround
- reverb
- reflection
- echo/delay
- chorus
- distortion

Etc...

I think to properly unleash the potential of the AICA, one would need to create a complete "DAW" specifically for the AICA, to expose all of these effects in an artist-friendly way.

It also has the yamaha XG/XS midi engine right, I have a few similar hardware synths like yamaha qy100/nsx-39 (hatsune miku) that has these same dsp effects I believe. I write everything in trackers, for c64, gameboy, amiga, megadrive/genesis,psp they all have native trackers or cross platform tools (you can use furnace/deflemask and use simple tools to convert song to bin file for megadrive for example), the chiptune scene mostly uses these.

Seeing chips like the saturn (interesting chip) that has zero music tools to the  power that the AICA chip has. until your project, seemingly untouched.

Yeah it would be possible it seems could have a native tracker on the dreamcast. Imagine your inputting notes into the tracker via the official keyboard and mouse, the tracker supports mod or xm commands but extends to harness the dsp and midi engine also. using instruments from both the aica midi engine and samples selected from folder. Testing some notes live playing on the keyboard before inputting.  Thats the sort of thing I dream of. 

I see it has some official but rare midi input hardware also.  Things like c64/amiga, nes, snes, megadrive, gameboy you can hook a midi keyboard or sequencer to in a similar way. 

Of course we are used to working with limitations with whatever tools even remotely work. Having your player read xm files from a folder would be enough to make it viable.
commands I used in my track were 0 (arp) , 4 (vibrato), 2 (porta down), EC (note cut), E9(retrig), 3(porta to note) and volume column commands like volume number and -(reduce by amount)

Thanks again for your thoughts. You can find me at avrilcadabra on youtube and such, love using consoles and old computers for music.