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
<cr1901_modern> whitequark: https://twitter.com/whitequark/status/1205302834117386240 I want to extract the shitty OPN2 to OPL emulation from the old Genecyst emulator... but not badly enough that I'm willing to go through a DPMI binary lmao
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
nukeykt has joined ##yamahasynths
l_oliveira has quit [Quit: ChatZilla 0.9.92-rdmsoft [XULRunner 35.0.1/20150122214805]]
Xyz_39808 has quit [Ping timeout: 250 seconds]
Xyz_39808 has joined ##yamahasynths
futarisIRCcloud has joined ##yamahasynths
_whitelogger has joined ##yamahasynths
<cr1901_modern> TIL something besides the Genesis and FM Towns used YM2612: https://segaretro.org/Sega_System_32
<Lord_Nightmare> Xyz_39808: you're missing OPP (same as OPM except the timer resolution is different?) and OPZ (basically OPM but with much higher sine table resolution and 8 waveforms like opl3)
<Lord_Nightmare> Xyz_39808: also, are you 'x68303' on github? or did i already ask that?
<Xyz_39808> no I'm not kayama
<Lord_Nightmare> ah
<Lord_Nightmare> x68303's equites patch is no good, but I'm not sure the best way to say that. I wrote my own patch which uses the sine prom instead of hardcoding it like he did but its still not great and i don't think it can be applied as is
<Xyz_39808> I couldn't find much source information on the OPP when I last linked this. So I didn't feel comfortable updating.
<Lord_Nightmare> OPP is weird. its main purpose is on the MSX SFG-05 cart
<Lord_Nightmare> it has a different resolution timer so it is more useful for midi tempo
<Lord_Nightmare> i think the timer runs at half the rate as the OPM?
<Lord_Nightmare> it also has some "DRM" changes to the way the test register is mapped
<Lord_Nightmare> so you can write a value to the location of the OPM test register which would silence the chip and the OPP will ignore that
<Lord_Nightmare> yamaha's code does exactly that
<Lord_Nightmare> if you look at the different firmware revisions for the sfg-01 and sfg-05 you can see on the non-upgrade-rom for sfg-05 with ym2164, the timer value written to the chip is shifted first
<Lord_Nightmare> but on the sfg-01 original firmware (which had a ym2151) and sfg-01 official upgrade board (which is basically the sfg-05 firmware with some minor changes) it is not shifted
<Lord_Nightmare> since an upgraded sfg-01 would still use a ym2151
<Lord_Nightmare> OPZ is from the tx81-z, its reverse enginnering is very very preliminary and is private afaik
<Lord_Nightmare> i need to get myself a tx81z at some point ...
<Lord_Nightmare> OPZ is ym2414
<Lord_Nightmare> also VRC7 is used on one more thing: its used on a konami ?horse racing? large gambling machine
<Lord_Nightmare> its not clear which one
<Lord_Nightmare> but its a very rare machine, unclear if any survive
<Lord_Nightmare> also OPL4's PCM is yamaha AWM synthesis
<Lord_Nightmare> same as used on the GEW8/Multipcm chip
<Lord_Nightmare> and GEW6 presumably
<Lord_Nightmare> opl4 is basically an opl3 and a GEW8 taped together
<Lord_Nightmare> with the more complicated dsp bus of the gew8 replaced with a much simpler raw send/receive effects bus
<Sarayan> LN: did you spend some time tracking schematics of non-yamaha synths btw?
<Lord_Nightmare> not really. i think balrog did
<Lord_Nightmare> iirc there is a korg synth which uses the ym2164 as well, i think?
<Lord_Nightmare> so its used in 4 places: the sfg-05, the mystery korg synth, the fb-01, and the ibm music feature card which is pretty much an fb-01 on an isa card
<Lord_Nightmare> and iirc all 4 devices do the DRM thing with the test register
<Lord_Nightmare> the korg synth i believe has a mask mcu which does it so patching it out (as on the fb01, ibm mfc and sfg-05) is not really feasable
<Lord_Nightmare> the problem with all of this info: I'm basing it entirely on something i remember reading somewhere a long time ago
<Lord_Nightmare> so i could be dead wrong about the korg thing
<Sarayan> heh
<Lord_Nightmare> and wohali had some synth schems iirc
<Sarayan> wohali?
<Lord_Nightmare> she was in here earlier this year but left after the logging bot was put in place, i think she doesn't like her irc chat 'on the record'
<Sarayan> oh, nickname, not site
<Lord_Nightmare> I think she's still on freenode irc too, just not in this channel
balrog has quit [Quit: Bye]
balrog has joined ##yamahasynths
balrog has quit [Ping timeout: 268 seconds]
balrog has joined ##yamahasynths
balrog has quit [Ping timeout: 250 seconds]
balrog has joined ##yamahasynths
<ej5> hey cr1901_modern you take a crack at writing SB firmware yet?
<cr1901_modern> ej5: Not yet. Probably in the next month. My plan is to use a recent sdcc assembler.
<ej5> cool
<cr1901_modern> I'll put the tl866 back into the crappy proprietary firmware mode since I just don't have it in me right now to add an 8051 programmer to opentl866
<cr1901_modern> ej5: Would you have any idea on how to program the 8051 without needing to physically insert/remove the chip each time?
<cr1901_modern> If not, I may purchase a ZIF to put on Snark Barker just for this
<ej5> hmmm, you could write a little bootloader and go over the serial port
<ej5> i bet someone's already done that anyway
<cr1901_modern> ... that's an excellent idea even if someone hasn't done it yet
<ej5> you could even do it over the joystick port since the RX and TX lines go directly to it.
<cr1901_modern> meaning that's prob how they uploaded programs during debugging back then
<ej5> to reset the 8051 just write to the DSP reset IO address, it yanks the reset line :)
<cr1901_modern> and then removed the bootloader when it was ready for production
<cr1901_modern> Unlike the PC BIOS, a reimplementation of this firmware need not be concerned with .text segment layout compatibility
<cr1901_modern> So I could just _keep_ the bootloader possibly
<ej5> yup
<ej5> probably more useful than SB-MIDI mode
<cr1901_modern> and time out if a program isn't seen in, say 1 second or so (nobody's going to access a Sound Blaster within 1 second of power-on)
<cr1901_modern> and ppl who want to modify the firmware opt-into anything disastrous like accessing firmware before its loaded :)
<ej5> bbl, going afk
nukeykt has quit [Remote host closed the connection]