Sounds good smile

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo


Wow! When legends get together you never know what's going to happen! Big ups Blastar and NeoHomeBrew you guys are awesome! cyborg
Hypernoid gameplay is looking bad ass! rotfl


HPMAN, show me a feasible way how to run this on real hardware and I will enable this option!


I asked the NeoSD team, NeoSD can't support more than 16MB V-Rom, because no official game uses this.


What's feasible tho?

If you want to frankenstein some old board you'd have to use smaller memory chips, which makes things not quite friendly to reprogram.
If you want to use 32Mb EPROM design that would be 10 chips on the board (4VA, 4VB, 2P)


It fits grin



Easy to say when you've not routed it yet tongue

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo


WEll, that's not a hard one really


The board design looks awesome, I am looking forward the final result #miams#


I have a question - how to integrate the SoundBuilder with own DATlib-based project? My project is lacks of sound very much.


I don't use DATLIB and can't help you but you should try to understand the sourcecode NeoHomeBrew posted (#29).


Hi everybody

Yesterday, I found on Youtube this recent video, posted by Keith : 'Programming the AY-3-8912 on the MSX, Amstrad CPC, Atari ST and NeoGeo in Z80 & 68000 Assembly'

Added monday Oct 12, 2018
'In todays lesson we'll look at playing simple sound effects using the AY-3-8912 sound chip, which is found in the CPC, MSX and Atari ST ... and is also supported by the YM2610 in the NeoGeo

We'll look at the theory, some examples of how to set the registers, and how do you change your mind?

We'll also look at communicating between the two processors (68k & Z80) on the NeoGeo!

As always this video lesson matches the text lesson on my website, and you can get the source code ...

If you would like to support my channel and continue 8-bit game development, please consider backing me on patreon:
Akuyou (KeithS) is creating New Games & Dev Tutorials for Classic 8 and 16 bit machines! | PatreonPatreonBecome a patron of Akuyou (KeithS) today: Read 268 posts by Akuyou (KeithS) and get access to exclusive content and experiences on the world’s largest membership platform for artists and creators.

> video tutorial

can be a good tutorial to use the SSG on Neogeo!
bye - Fred / FRONT



First of all thanks a lot Blastar for the NGFX tool suite. I've been using the fade calculator and of course the Sound builder for my current project.
The Sound Builder is awesome, i was able to add sound and music quite easily to the project, so thanks for taking the time to write and share this tool!

I'm developing in C using NeoBiz devkit + DATlib, and with NeoHomebrew USER ROUTINE code as a starter.
I have one question though (not sure if it's an issue, a bug, or a normal behavior).

I'd like to use the official Neo Geo Eye Catcher in my project. When I use the NGFX sound driver there is no sound when the Eye Catcher plays.
When I replace the M1 file with PuzzleDePon M1 file, the sound does play on the EyeCatcher (but not the other sounds from the game, obviously).

After reading the Wiki, I found that the EyeCatcher segment apparently trigger command "0x02" from the sound driver, and that is command should play the eye catcher music in return. So my guess is that NGFX doesn't follow this behavior, while the driver from PuzzleDePon does smile.

Is it simply a bug, or the normal behavior for this driver?


there is a separate option under the field 'z80 driver properties' ... because of the additional inserted sample and because most do not want to use the eyecatcher this feature is optional. FM or SGG would have been better and space-saving but that was the easiest solution ... or did you find this option and it does not work properly?


Hi blastar, thanks for your reply!

Silly me, I simply hadn't noticed this option, thanks A LOT for pointing it out!
I've just tested, and it now works perfectly, thanks! smile

And it was a good choice indeed to make it optional, to save space for most projects (64kb (mono) / 128kb (stereo) is required for the sample)


UPDATE: 25th.june.2020 - NGFX_SoundBuilder_200624

Due to several requests, here come a new build with the 32mb option enabled. These changes only apply to the GUI, the Z80 core remains unchanged. If you haven't found any problems/bugs so far this new version shouldn't change anything... except the 32mb option. but be aware, this ROM combination is not used by any commercial game and is not usable on the currently available flash cards. Furthermore I added some text about the license/usage of the data generated by the NGFX soundbuilder. No other changes!


visit my site for more details and download.


Ngfx soundbuilder is really cool

Blastar, I'm your fan. You're very good

Neonopanepon2 is very good. What development tools do you usually use? Can you share some? Thank you very much.


I look for adding of eyecatcher sound customization option.




Stellar as always! Guys if you like using Blastar's tools please support him on Patreon. His project Jump and Run is awesome! You can play it on Neo Geo CD and emulation. I'm hoping we an get him enough supporters for him to consider making an MVS version.

If you haven't already please check out his Patreon page. The tools he has made fuel all of us in pursing our passion of developing for the Neo!!!

The buy in is only $1 dollar a month. Is the sound tool worth $12 a year? Plus access to magnificent projects like Jump and Run?

I'm really hoping we as a community can rally and show Blastar we are excited for his projects.

He has done so much for us it is the least we can do. Ok I'm done ranting now. Thanks again Blastar!



Super a big thank you Blastar, for the realese of this 32Mb version.


I just tested, it is possible to use 224 samples. Is there a solution to put more?
La Neo c' est beau sous tous ses supports (EXIT PS3 CACA AND CI)


is this just a theoretical question or do you really need more than 224 samples for a project? confus

currently 224 samples are the maximum, but this is not due to the Z80 driver but the SOUNDBUILDER.
it is only possible to send an 8bit value to the Z80, the values $00-$1F are for control and internal commands, leaving 224 ($e0) values for direct sample access.
some of the control commands are not used at the moment, it would be possible to use some to switch between sample tables but I still don't know how to implement this in this GUI.


I would like to convert the sound part of Crossed Sword 2 cd to add to the existing aes / mvs hack, which uses those from 1.

My problem is that the music is at the addresses
0x04 to 0x1D.

I wanted to put blank files up to 0x0204, because the reading starts from zero. (0x0202 eyecatcher.)

Thanks for taking the time to respond.
La Neo c' est beau sous tous ses supports (EXIT PS3 CACA AND CI)


Hey Guyz smile

Very useful tool Blastar!

We are already above 224 sfx on the TeoT resurection project ^^

It would be cool to use 16 bits sfx indexes rather than 8 bits entries smile

Keep up the good work smile


hi, I tested TeoT some time ago, it's very impressive!

using 16bit values is a bit tricky.
the port ($320000/REG_SOUND) only accepts 8bit values, so there must be 2 writes for the lower and the higher byte... between this writes you have to wait to give the z80 time to process the input... I don't know how practicable this is in time-critical moments. much more critical: if even one byte is lost, everything could get messed up.
I'm not sure but I don't think any of the commercial sound drivers work with real 16bit values.

there are different solutions to avoid this limitation:
- two bytes: 1st) type of next value (control command, FM, sample etc) -> 2nd) real value (will not work for your project)
- situation-based sample lists: switch between lists containing generic (main character) and special (level dependent) samples. you can of course also change the list for each sample so this solution would be very close to a 16bit variant.

the solution with different samplelists would probably be the easiest to implement. currently the commands 0x04-0x10 would still be available...so 8 bank should be feasible. however, it is important that the switch-command is not lost or the wrong samples will be played. 8 x 224 = support for up to 1792 sound commands! smile


Hey Blastar and thx for the answer smile

8 banks should be ok ^^ I think we will get around 400 samples including bgm for TeoT.

So u mean, that another 'switch' command should be used ? specifying the bank index maybe ? (could be done once for multiple sfx)

Let us know about it, as Alpha version is already on the way ;-)


depending on what you need.
there will be a command to switch sample lists. this can be done once for several sound commands or you can also use this as a 16bit value (Hi & LowByte)... give me some days.


Update, check 1st post.


!!! well done Blastar !! smile

np to test it with TeoT alpha anyway ;-)


Fantastic work Blastar, I am looking forward your release king


UPDATE: 01st.may.2021 - NGFX_SoundBuilder_210501 , check 1st post.


Thank you. You're really greatarme