Author Topic: HuSound  (Read 3761 times)

TailChao

  • Full Member
  • ***
  • Posts: 156
Re: HuSound
« Reply #15 on: November 10, 2014, 03:48:13 PM »
Most of Atlantean is inline assembly, and most of Squirrel is wrapper code to call into the asm stuff.  :)
Which is fine. My point was that WLA-DX is very different syntactically from HuC, inline ASM or not. This would complicate moving HuSound to the HuC environment.

(Edit: Just trying to be clear on what is and is not with the driver, no offense to you or your game).
« Last Edit: November 10, 2014, 04:03:23 PM by TailChao »

Arkhan

  • Hero Member
  • *****
  • Posts: 14142
  • Fuck Elmer.
    • Incessant Negativity Software
Re: HuSound
« Reply #16 on: November 11, 2014, 03:20:13 PM »
Oh, yeah.   None taken.  Taking offense is for pussies.  This isn't a Neo Geo forum, hahahahahrgthghbnoidj.

What made you pick WLA-DX anyway?
[Fri 19:34]<nectarsis> been wanting to try that one for awhile now Ope
[Fri 19:33]<Opethian> l;ol huge dong

I'm a max level Forum Warrior.  I'm immortal.
If you're not ready to defend your claims, don't post em.

saturndual32

  • Full Member
  • ***
  • Posts: 134
Re: HuSound
« Reply #17 on: November 12, 2014, 05:42:39 AM »
TailChao, whats that new Lynx game you are working on all about?. Since you already played tribute to Zonk, with Zaku, could the new one be a Bonk type game for the Lynx  :pray:!?
Or did i hear something about a Metal Gear Solid type game  :)...
A Zaku port to the PCE would be incredible too!!! Ever tought about doing a PCE game?

TailChao

  • Full Member
  • ***
  • Posts: 156
Re: HuSound
« Reply #18 on: November 13, 2014, 01:20:04 AM »
Oh, yeah.   None taken.  Taking offense is for pussies.  This isn't a Neo Geo forum, hahahahahrgthghbnoidj.
MAX 330 MEGA PRO-ANGST SPEC

What made you pick WLA-DX anyway?
I was working on a title for the Super Nintendo for about two years after Zaku shipped and started using WLA-DX then.

The game was canned but I "got used to" the assembler and decided to revisit it when developing the MCGenjin. I don't necessarily agree with everything WLA-DX does (for example, including large files which span over several banks is more cryptic than it should be), but it has some good ideas. Definable width banks are pretty cool.
It also forced me to write all my own libraries for reading the controllers, talking to the VDC, etc, which is a good way to learn about a platform.


TailChao, whats that new Lynx game you are working on all about?. Since you already played tribute to Zonk, with Zaku, could the new one be a Bonk type game for the Lynx  :pray:!?
Or did i hear something about a Metal Gear Solid type game  :)...
All I can say is that it's an action game, 2MB large, and some things from Zaku will make an appearance.
There is no hidden METAL GEAR?! behind my avatar  :wink: .
(Seriously though- I'll announce it when it is done. Not trying to be a jerk and dangle a carrot, since I've wanted to release a trailer for the past two years. But it is much easier to manage this way).

A Zaku port to the PCE would be incredible too!!! Ever tought about doing a PCE game?
I have thought about it quite a bit (hence making an audio driver), and have a few designs that would work on the platform. The HuListen program in this audio suite was made from ripped apart game engine tests anyway.

Zaku will stay exclusive to the Lynx. Because of the time these games take to develop, I would rather do something very different each time, even if working on a sequel.

However, if you'd like to throw $250,000 (US) and a two year development contract at me and my friends, I'd be more than happy to deliver the best PC-FX menus game ever.

_joshuaTurbo

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 5156
Re: HuSound
« Reply #19 on: November 13, 2014, 04:57:10 AM »
Really fantastic videos and discoveries! 

Thank you for tinkering with our beloved PCE/Turbob.  I hope we'll all get to play one of your creations some day soon!

Arkhan

  • Hero Member
  • *****
  • Posts: 14142
  • Fuck Elmer.
    • Incessant Negativity Software
Re: HuSound
« Reply #20 on: November 13, 2014, 05:46:42 AM »
The game was canned but I "got used to" the assembler and decided to revisit it when developing the MCGenjin. I don't necessarily agree with everything WLA-DX does (for example, including large files which span over several banks is more cryptic than it should be), but it has some good ideas. Definable width banks are pretty cool.
It also forced me to write all my own libraries for reading the controllers, talking to the VDC, etc, which is a good way to learn about a platform.
The only assembler I've ever gotten used to enough to not want to use an alternative, is tniASM for MSX.

I definitely don't have any attachment to PCEASM or anything.

Quote
Zaku will stay exclusive to the Lynx. Because of the time these games take to develop, I would rather do something very different each time, even if working on a sequel.

However, if you'd like to throw $250,000 (US) and a two year development contract at me and my friends, I'd be more than happy to deliver the best PC-FX menus game ever.

\o/ 

yeahhaaaaaaaaaa


Have you thought about making any games for PC Engine?
[Fri 19:34]<nectarsis> been wanting to try that one for awhile now Ope
[Fri 19:33]<Opethian> l;ol huge dong

I'm a max level Forum Warrior.  I'm immortal.
If you're not ready to defend your claims, don't post em.

saturndual32

  • Full Member
  • ***
  • Posts: 134
Re: HuSound
« Reply #21 on: November 13, 2014, 03:38:05 PM »


All I can say is that it's an action game, 2MB large, and some things from Zaku will make an appearance.
There is no hidden METAL GEAR?! behind my avatar  :wink: .
(Seriously though- I'll announce it when it is done. Not trying to be a jerk and dangle a carrot, since I've wanted to release a trailer for the past two years. But it is much easier to manage this way).

LOL!, you dont sound ike a jerk at all, your position is understandable. And anyways, anyone who can make a game of the audio-visual quality, gameplay and charm of Zaku, for a super cool system like the Lynx, can act like a jerk whenever he wants, in my book  :).

Bonknuts

  • Hero Member
  • *****
  • Posts: 3292
Re: HuSound
« Reply #22 on: November 26, 2014, 12:20:05 PM »
Hi all,

I've decided to release the sound tools I've been working on for the PCE. They're based upon the environment I created for the Lynx which uses the SASS language to write music and sound effect scripts.
This has been written for the WLA-DX assembler, and uses the MCGenjin memory mapper (so Mednafen and hardware only). Sorry, no HuC or cc65 environment support. All of the source is included with each version of the driver if you'd like to add your own cool features or port it to something else.

Here's some of the neato things you get with HuSound:
-Included audition/test ROM with waveform and mode watcher:

-Included demo instrument set
-Minimal bank alignment restrictions for music/sfx data
-Instruments and sound effects can switch among waveform, noise, and PCM mode on a single channel.
-Stereo Panning for music, sound effects, and samples
-6.992KHz PCM Playback on any channel
-Multichannel sound effects
-Dispatch of multiple sound effects per frame
-Configurable priority system among music, sound effects, and samples

You can download the newest version (v1.1c) here.
I've also uploaded some feature test footage and covers to give a better idea of what the driver can do.

Have fun!


 That Phantasy Star cover is awesome! I love the fact that it adds that PCE sound to it.

TailChao

  • Full Member
  • ***
  • Posts: 156
Re: HuSound
« Reply #23 on: March 05, 2015, 04:08:31 AM »
Woah! Long time no update!

HuSound v1.2c is now available here.
*You can now control the attenuation of music tracks (for fade ins, fade outs, whatever) by calling HuMusic_ReqAtten with your desired music attenuation in A (0 = loudest, 15 = silent).
*Sound effects will no longer dispatch over channels which contain idle / resting music which is at a higher priority.
« Last Edit: February 11, 2016, 11:01:04 AM by TailChao »

elmer

  • Hero Member
  • *****
  • Posts: 2153
Re: HuSound
« Reply #24 on: March 05, 2015, 05:16:51 AM »
HuSound v1.2c is now available here.

Excellent, I hadn't been aware of this!  :)

SASS is much closer to what I'm used to than MML ... being based on SPL by Epyx (a Western developer) vs MML (more common with the Japanese developers). The 2 regions really do think a bit differently.

May I ask what license this is released under? I can't find any licensing or copyright information in a quick "grep" search of the files. Am I missing it somewhere?

I do hope that you'll allow it's use under something like the MIT, BSD, Apache or zlib licenses.

You're not alone in being a bit lax about deciding on licenses ... I've released a couple of things under the Boost license, but still haven't decided what license the PCE/PC-FX tool work will come under (MIT/BSD/Apache/zlib).
« Last Edit: March 05, 2015, 05:28:48 AM by elmer »

TailChao

  • Full Member
  • ***
  • Posts: 156
Re: HuSound
« Reply #25 on: March 05, 2015, 05:30:27 AM »
Excellent, I hadn't been aware of this!  :)

SASS is much closer to what I'm used to than MML ... being based on SPL by Epyx (a Western developer) vs MML (more common with the Japanese developers). The 2 regions really do think a bit differently.
Yeah, that's basically the major reason I started writing all these different sound tools.

May I ask what license this is released under? I can't find any licensing or copyright information in a quick "grep" search of the files. Am I missing it somewhere?
I'm not sure what the proper term is, but as with most tools I released it's a "do whatever you like with it, just don't blame me if you burn down your house" license (there should be a little quip in the programmer's manual). So basically you're free to take the driver + compiler and modify them, include them with other things, etc.

Edit:
You're not alone in being a bit lax about deciding on licenses ... I've released a couple of things under the Boost license, but still haven't decided what license the PCE/PC-FX tool work will come under (MIT/BSD/Apache/zlib).
The way I look at it, the only really valuable thing for these old platforms is the game software and IPs. So I just give the tools away since there's no good reason to profit from them or inconvenience anyone else with licensing.
« Last Edit: March 05, 2015, 05:33:42 AM by TailChao »

elmer

  • Hero Member
  • *****
  • Posts: 2153
Re: HuSound
« Reply #26 on: March 05, 2015, 06:35:55 AM »
The way I look at it, the only really valuable thing for these old platforms is the game software and IPs. So I just give the tools away since there's no good reason to profit from them or inconvenience anyone else with licensing.

I totally agree ... which is why I want to give away the work that I'm doing on improving the toolset, and put it on github for anyone that wants it.

But in order for someone (guess who) to legally incorporate your player in a game, or to modify your code so that it assembles with CA65, or to convert it over to the PC-FX, or to distribute your tools on github ... you need to put your intent in a legal form.

Since you automatically own the copyright on everything that you've written, licensing is a real legal issue even if there's no money, or attribution, or even any future discussion with you.

You're working at Google now ... if you haven't had the talk on that yet, then I'm sure that it's going to get raised at some point.

The closest thing that I've seen to a legal version of "giving it all away" is the Boost License. The Zlib license is a very close 2nd, but a bit wordier. I personally prefer the Boost License ... less legal rubbish at the top off the source file.

That's basically a "Do whatever you like with it, and I don't need a credit in your documentation." kind of license.

It's also a legal disclaimer which stops people from suing you if their dog hears a particularly awful chiptune and runs under a bus. Trust me on this ... you need that legal disclaimer in this day and age.

It would be as simple as adding the following simple notice to every file ...

Code: [Select]
Copyright Osman Celimli 2014-2015.

Distributed under the Boost Software License, Version 1.0.
  (See accompanying file LICENSE_1_0.txt or copy at
   http://www.boost.org/LICENSE_1_0.txt)

It would be nice to also add a link back to your website. Even if your site goes away in the future, there will probably be a copy in the "Way Back Machine" archives.

You really should be the one to do this (especially since you've got the only copy of the PDF source) ... and then release it on your website.

That's how this sort of thing is legally done these days. (Darned lawyers!)

If you can't be bothered to do that yourself ... then I can add those lines to the source files on your behalf ... if you post here that that is your wish, and that those are the correct dates and the license that you wish to use. (But you really should be the one to do it ... it's one of the responsibilities of an author).

For a comparison of your licensing options, you can look at sites like ...

http://choosealicense.com/licenses/ or
http://en.wikipedia.org/wiki/Comparison_of_free_and_open-source_software_licenses

(EDIT)
BTW ... a similar discussion also applies to your layout files for the CD Stupid Card if you want the community here to be able to run off a production batch of cards at some point.
« Last Edit: March 05, 2015, 06:42:43 AM by elmer »

SignOfZeta

  • Hero Member
  • *****
  • Posts: 8497
Re: HuSound
« Reply #27 on: March 05, 2015, 07:34:40 AM »
This probably isn't the place for this, but I sure would like a music composer program for PCE that would allow some sort of external sync via MIDI or gate signals. How hard would it be to bridge the gap between this project and the one I'm describing?

TailChao

  • Full Member
  • ***
  • Posts: 156
Re: HuSound
« Reply #28 on: March 05, 2015, 08:11:03 AM »
...
But in order for someone (guess who) to legally incorporate your player in a game, or to modify your code so that it assembles with CA65, or to convert it over to the PC-FX, or to distribute your tools on github ... you need to put your intent in a legal form.

Since you automatically own the copyright on everything that you've written, licensing is a real legal issue even if there's no money, or attribution, or even any future discussion with you.

You're working at Google now ... if you haven't had the talk on that yet, then I'm sure that it's going to get raised at some point.

...

(EDIT)
BTW ... a similar discussion also applies to your layout files for the CD Stupid Card if you want the community here to be able to run off a production batch of cards at some point.

Edit:
I originally wrote a few nonsequitor sentences here then realized I'm not in any state to think about legal messes. Let's discuss options further via PM if you want to include the driver in any of your work. In the mean time, I suggest playing with it to see if it actually fits your needs.

I do somewhat miss when I started development work in the early 2000s and everything was like this. Stuff like Magic Kit doesn't even have mention of a license. Whatever.

This probably isn't the place for this, but I sure would like a music composer program for PCE that would allow some sort of external sync via MIDI or gate signals. How hard would it be to bridge the gap between this project and the one I'm describing?

Actually this is quite a fine place for it.
To answer your question, modifying HuSound to support MIDI triggering is not such a big deal. Instruments and sound effects are the same internally, and music is just generated via a script instantiating instrument play requests with frequency offsets. This could be replaced with a MIDI decoder or whatever.
The challenge is more of a hardware one. If you want proper physical MIDI support you'd need a UART and some optoisolators on a(nother) special cartridge.

It's actually cheaper and easier just to use a $2 STM32 microcontroller and run a PCE-style soft synth on it, then add MIDI support there (which is another project I have on the way).
« Last Edit: March 05, 2015, 08:48:44 AM by TailChao »

SignOfZeta

  • Hero Member
  • *****
  • Posts: 8497
Re: HuSound
« Reply #29 on: March 05, 2015, 08:37:42 AM »
There is no reason why the PCE couldn't sync with a special cable in the controller port. Full MIDI would be nice but honestly just making it sync to a gate/trigger would be enough for me personally. That's now almost all my stuff works.