|
ForumsSega Master System / Mark III / Game GearSG-1000 / SC-3000 / SF-7000 / OMV |
Home - Forums - Games - Scans - Maps - Cheats - Credits Music - Videos - Development - Hacks - Translations - Homebrew |
![]() |
Author | Message |
---|---|
|
how can we get noise frequency data from sn76489 .vgm files?
![]() |
last year i was trying to code some converters from .vgm to Furnace tracker clipboard (text) on several sound chips, sn76489 included
on the sn76489 i struggled to get frequency data from the noise channel - https://notabug.org/nitrofurano/vgm2vortextracker/raw/master/vgm2furnaceclipboar... (runs on sdlBasic) i actually took a look at the documentation at https://www.smspower.org/Development/SN76489 , but i struggled a lot what was there - at first i was expecting that the noise channel worked like the 3 pulse channels but it doesn't, and the information there looks a bit "nonsense" for me... :S so, how do you think i could improve the code for obtaining these noise channel values in a way that could be used on Furnace tracker, like works on the 3 pulse channels? thanks in advance! |
|
![]() ![]() ![]() |
|
|
![]() |
Noise frequency values are one of three “stock” frequencies or a fourth “use the third tone channel” value. How does Furnace represent these? | |
![]() ![]() ![]() |
|
|
![]() |
as notes (like A-4 for 440hz, i guess), exactly like tone channels
(sneventracker/famitracker handles it differently, i guess this is why you asked?) (perhaps a closer and easier reference to that for comparing is when we use ay-3-8910 chip there instead, and switching tone/noise bits in the instruments, instead of choosing channels ) |
|
![]() ![]() ![]() |
|
|
![]() |
Furnace uses an effect to change how the noise channel works.
In one mode, channel 4 is limited to the three pitches it can select between on its own. In the other mode, notes in channel 4 automatically set the pitch of channel 3. |
|
![]() ![]() |
|
|
![]() |
@lidnariq you mean at the instrument macros? | |
![]() ![]() ![]() |
|
|
![]() |
I uploaded some screenshots of how to switch between the two noise tone modes on Furnace in another thread, here:
https://www.smspower.org/forums/19548-NoiseChannelPitchInVariousTrackers#125871 The official "documentation", such as it is, is here: https://github.com/tildearrow/furnace/blob/master/doc/7-systems/sms.md |
|
![]() ![]() ![]() |
|
|
![]() |
You can also use the „duty“ part of your instrument macro to switch between modes on a per tick basis. The values correspond with those of the aforementioned effect.
To be honest, I’m not too fond of the way Furnace handles input on the noise channel. While it sure is convenient to enter all notes on only one channel instead of juggling two, it abstracts too much from the way the chip actually works. I don’t really like how C, C# and D represent the three values of fixed mode, regardless of octave, but I understand that implementing a custom solution (like Mod2PSG2 for example) might be too much to ask from a multi system tracker. |
|
![]() ![]() |
![]() |