New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Gigatron sound engine support #130
Comments
おぉそれは凄いですね! |
I have a debug and emulation environment running under Windows 10, and of course Windows 7 works as well. |
glcc-1.4.zip I usually use the following statement to compile test.c |
gigatron sound engine.zip |
test_envlope.zip |
step22.zip |
My music engine may not be fully functional, since gigaron audio is even WSG-like, i.e. waveforms can be replaced and samples may be played. Here is the official documentation for gigatron audio. |
Of course, gigatron can not only use glcc, but also some development languages dedicated to gigatron, such as gtbasic, gcl, vcpu assembly and native assembly. But I don't know much about them. |
Briefly introduce the audio of gigatron: |
gtemuAT67.exeを実行するとフルスクリーンになってしまうのですが、ウィンドウモードはありますか? |
You can modify the contents of graphics_config.ini to switch between fullscreen and windowed, as well as modify the display resolution. ` |
エミュレータのソースコードはありますでしょうか |
https://github.com/kervinck/gigatron-rom/tree/master/Contrib/at67 |
少しソースをよみましたけども、音声処理だけをC#で再現させるのはかなり手間がかかると思います。 |
If it is difficult to achieve the original gigatron audio simulation, it can be simplified. I simply understand gigatron as a 4-channel WSG, but the output audio has only 4-bit samples (6-bit or even 8-bit samples can also be achieved by hardware modification). I have a register table of the audio part of gigatron here, you can refer to it to write a C# audio core. Of course, even though I can't play gigatron audio with MDSound, I'd be more than content to just convert the mml to a gigatron executable. |
Sound basicsThere is a secondary output port (XOUT) with 8 bits. It is split The 4 software channels can independently generate a tone and a ControlsThere are 6 bytes for each sound channel. They're at the top of The 6 bytes are: wavA Modulation after table lookup with ADD operation and (You typically don't write into oscL,oscH) The sound synthesises runs during every horizontal pulse of the VGA
NotesThe ROM has a handy lookup table for the frequencies that is Note: index 0 = 0 Hz = OFF
The waveforms are stored in RAM page 7. They are initialised once |
pseudo Codeだと詳細がわからないのですが、それに該当する実際のコードはどこにありますでしょうか |
こんな感じでよいのかしら? |
Probably so, actually I don't know the underlying principles very well.(笑) |
Here's a gtemu implemented using only a single c source that you can take a look at. It's in the compressed package.I think this code explains how Gigatron works. |
私が欲しいものとは違うかな... |
I simply think that wavA can adjust the volume, when wavA is between 64 and 127 can adjust the volume. When soundTimer = 1, a sound will be produced, and every sixtieth of a second or so, the value is automatically set to 0. If sound is required, you must manually set this system variable to 1. |
大体はその理解であっていると思います |
Ok, so how is it going now, with the video you uploaded, I don't think there's anything wrong with it. |
進捗無しです(^^; |
I think it should be released. |
Gigatron is an 8bit computer composed of only 7400 series chips, and it has a 4-channel PSG. At present, I have developed a music engine using C language for Gigatron. If you are interested, I hope you can add Gigatron to the mml2vgm project. I can provide all the required materials, which are legal and open source.
Actually I want to be able to use mml2vgm to convert mml to an array of the gigatron music engine, the so called output function.
The text was updated successfully, but these errors were encountered: