ChanServ changed the topic of ##yamahasynths to: Channel dedicated to questions and discussion of Yamaha FM Synthesizer internals and corresponding REing. Discussion of synthesis methods similar to the Yamaha line of chips, Sound Blasters + clones, PCM chips like RF5C68, and CD theory of operation are also on-topic. Channel logs: https://freenode.irclog.whitequark.org/~h~yamahasynths
Xyz39808 has joined ##yamahasynths
Xyz_39809 has quit [Ping timeout: 250 seconds]
<cr1901_modern> ValleyBell: https://tcrf.net/Proto:Sonic_the_Hedgehog_3#Audio_Differences Idk if you wrote this, but it basically lines up w/ what you told me. I guess my question is: why replace a perfectly good sound driver in the first place?
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
mofh has quit [Remote host closed the connection]
andlabs has joined ##yamahasynths
_whitelogger has joined ##yamahasynths
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
_whitelogger has joined ##yamahasynths
andlabs has joined ##yamahasynths
_whitelogger has joined ##yamahasynths
_whitelogger has joined ##yamahasynths
_whitelogger has joined ##yamahasynths
nukeykt has joined ##yamahasynths
<superctr__> cr1901_modern, one thing to consider is that sonic 2's sound driver was basically a port of the old (cut down) SMPS 68k variant that Sonic 1 used
<superctr__> while S3&K's sound driver is based on standard SMPS Z80
<superctr__> perhaps since they brought in lots of new musicians to the project, they wanted a more familiar sound driver
bofh_ has joined ##yamahasynths
bofh_ is now known as mofh
<ValleyBell> SMPS Z80 also better fits with the songs they already had in stock. (e.g. the Special Stage song)
_whitelogger has joined ##yamahasynths
_whitelogger has joined ##yamahasynths
<andlabs> there are a number of technical reasons for rewriting the driver
<andlabs> but also keep in mind that Sega basically just took a driver off a shelf and hacked it to bits with eveyr game depending on what hte dirve rneeded
<andlabs> *what the game needed
<andlabs> =P
<andlabs> SMPS was a tool, GEMS was a product
<andlabs> oh the replacement music from sonic and knuckles collection originated in this proto?
<andlabs> good
<andlabs> we'll slowly end the michael jackson silliness
<andlabs> "alternate Hidden Palace Zone that is accessed through a big ring in Sonic & Knuckles."
<andlabs> um
<andlabs> what
<nukeykt> initial release of cycle-accurate ym2413 core
<andlabs> cool
<andlabs> out of curiosity, how did you accomplish the cycle accurate thing? reconstructing the transistor layout? trial and error with the implementation of the MAME core to fix incompatibilities?
<nukeykt> It's based on vrc7 die shot analysis
<andlabs> neat
nukeykt has quit [Remote host closed the connection]
<fseidel> SMPS isn't the official name, right?
<fseidel> I seem to recall reading somewhere that noone actually knoww what it's really called
UnluckyPony has joined ##yamahasynths
SceneCAT has quit [Ping timeout: 268 seconds]
<superctr__> yes there's no confirmed official name
<superctr__> i suppose that Sega didn't even give it a proper name, they just called it "sound driver"
<cr1901_modern> Switching Mode Power Supply
<superctr__> Samples May Play Shittily
<fseidel> lol
<fseidel> one of these days, I'd love to find out what's going on with Chris Huelsbeck and Sean Hollingsworth's drivers
<fseidel> they have really clean PCM
<fseidel> and IIRC, the former can software mix 2 PCM samples
<superctr__> i think those drivers mostly run on the 68k and dedicate the Z80 to sample playback
<cr1901_modern> that is how I would write a sound driver, tbh
<superctr__> SMPS 68k drivers that do this also typically have acceptable sample quality (though maybe not as clean in all cases)
<cr1901_modern> I didn't know there were any 68k samplers
<superctr__> SMPS 68k still uses the Z80
<cr1901_modern> oh right
<superctr__> it just means that the "sequence player" runs on the 68k
<superctr__> Z80 still plays back samples while 68k is doing other stuff
<superctr__> to minimize the time the Z80 must be halted, you can have the 68k write FM commands to a queue that is handled by the Z80, and also to buffer PCM samples while VDP is doing DMA, or even minimize as many DMA transfers as possible while music is playing
<superctr__> SMPS (both 68k and Z80 variants) doesn't actually do any of those things.
<fseidel> having a Z80 command queue seems like the best option
<fseidel> either that, or a 100% Z80 driver with all codepaths carefully cycle counted for clean PCM playback
<fseidel> but that sounds like hell
<superctr__> yeah it would be so much easier if the FM timers were actually connected to Z80 interrupts
<fseidel> god, if only they had hooked up that timer interrupt line :T
<superctr__> i dare to say it might even be the MD's biggest hardware flaw
<fseidel> it's either that, or the unconnected CRAM lines
<fseidel> the fact that it's easier to get decent PCM playback on the NES (even with that stupid read corruption bug) is awful
<superctr__> it feels like a lot of the MD's problems were a result of last minute decisions in the development
<cr1901_modern> nah, forgetting the timer interrupt is pretty bad IMO
<superctr__> the VDP was even supposed to have 128K VRAM
<cr1901_modern> guess they thought 60Hz will be enough for everybody
<fseidel> I heard the VDP was also supposed to have sprite shrinking, and that got axed
<fseidel> must have been pretty early though, as there's no trace of it on the die
<fseidel> was there a DRAM shortage around the time of MD launch? that would explain the VRAM cuts
<superctr__> yeah it was definitely a cost cutting measure
<fseidel> IIRC, there's a decen tnumber of bodge wires on the VA0 MD1 boards, so it definitely seems ruhed
<fseidel> *rushed
<cr1901_modern> SNES APU had timers, right?
<cr1901_modern> so it was doable to create music that ran at the same rate regardless of region
<superctr__> this is NES
<superctr__> it has a timer that can cause an IRQ, but not very fast and the speed is fixed
<superctr__> and the 2A03 (CPU+PPU) clock is different for PAL and NTSC
<superctr__> CPU+APU*
<cr1901_modern> So why doesn't NES music sound 20% faster on NTSC if the timers are different?
<superctr__> try running an NTSC game on a PAL system and you'll see that it is indeed slower
<superctr__> also the colors will be wrong and all kinds of other issues
<superctr__> basically, NTSC games needed quite a bit of technical "localization" work to run well on PAL systems
<cr1901_modern> shows how much I know
<fseidel> there's a number of NES games that didn't fix the APU note frequencies for the PAL and they all sound wrong
<fseidel> *PAL release
<fseidel> Blaster Master is one of these games, the PAL version is also buggy as hell for some reason