cr1901 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://libera.irclog.whitequark.org/~h~yamahasynths
<NiGHTS>
[freenode] m4t (~matt@shenzhen.guangdong.systems) has left ##yamahasynths
m4t has joined ##yamahasynths
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
andlabs has joined ##yamahasynths
glowcoil has joined ##yamahasynths
<cr1901>
I'm prob gonna follow LN's lead and give the Freenode channel a 30 day moratorium. Not that any of the new Fraudnode management actually cares about this channel
<cr1901>
(A few ppl are indeed waiting for the Matrix bridge, hopefully that comes pretty soon)
<cr1901>
glowcoil: Btw, basedrop looks interesting. I got to "Babby's First Audio in Rust" recently (few months ago). Maybe I'll be able to use basedrop when I attempt to write a MOD player
<cr1901>
Also fseidel: I understand now... you weren't kidding about MOD sucking. And I'm complaining about the _easy_ commands (non-0xe)
<fseidel>
yeah, it's really miserable
<fseidel>
I had an easier time writing a PT3 player for the Vectrex in 6809 ASM with an incomplete spec than I did writing a MOD player for modern computers with relatively complete docs. The format is just _terrible_
<fseidel>
admittedly, I had the experience of the latter to help with the former, but still...
<cr1901>
I understand the docs you linked me explain it, but I can't wrap my head how to convert clock cycle delays representing "time to hold the current sample" into anything that a modern machine can handle
<fseidel>
you basically use that as a conversion rate determining how you resample your source sample to the target sample frequency
<fseidel>
so if your output is 48KHz, the MOD period determines the "source sample rate" you're coming from
<fseidel>
not sure why I put that in quotation marks, that's exactly what it is...
<cr1901>
What is someone tries something stupid like try to change the delay after a small number of samples (or before the sample completely played)?
<fseidel>
you only resample small chunks at a time, perhaps in 50ths of a second, since that's the fastest rate at which the player can update Paula's regs
<glowcoil>
cr1901: thanks! feel free to ask me about it if you do
<cr1901>
glowcoil: Will do... if I ever get past the delay hell being described
<cr1901>
fseidel: Oh hmmm...
<glowcoil>
i also did a less opinionated crate, basically just the queue at the center of it extracted into its own thing https://crates.io/crates/llq
<glowcoil>
which i've been meaning to write up but i want to do svg diagrams and stuff so i haven't gotten around to it yet
<fseidel>
note: I am not a DSP expert. In fact, I barely scraped by with a B in undergrad signal processing. Consult someone else for advice on how to perform high quality resampling :-P
<cr1901>
"just use sinc" and call it a day
<fseidel>
yeah, in all seriousness, that's basically what you do
<cr1901>
llq == linked list queue?
<glowcoil>
yeah
<cr1901>
where the "q" is a pun
<cr1901>
What prevents a programmer from updating regs faster than 50 times per second?
<cr1901>
not that it's a good idea
<fseidel>
nothing
<fseidel>
but the MOD player specifies speed in terms of frames
<cr1901>
ooooh
<fseidel>
i.e. "call the play function every N frames"
<fseidel>
the idea was to run it during VBlank during your game/demo
<cr1901>
Does this mean there's a 50 vs 60 Hz problem?
<fseidel>
yes!
<cr1901>
So MODs made in Europe will not run properly on American Amigas
<fseidel>
and even if you adjust the tempo by running the play routine off a timer instead of VBlank, the samples will be out of tune due to a slightly different Paula clock rate!
<cr1901>
(Kinda funny that Commodore was an American company, but Amiga was more popular in Europe)
<cr1901>
bleh
<fseidel>
yet another reason why storing raw periods was idiotic
<cr1901>
My guess at the time was it was the simplest way to implement the silicon, and "let the 68k handle it". But I'd have to ask the designer :P
<fseidel>
yes, but now
<fseidel>
*no
<fseidel>
storing it that way means you now need to do a binary search to implement effect 0xy, since it operates in semitones instead of clocks
<fseidel>
so it's actually more expensive than just doing a table lookup from note number to period
<cr1901>
(At least the Yamaha chips didn't have this bullshit, even if they couldn't agree on a single mapping from note number to period)
<fseidel>
yes, although that didn't stop some X68000 developers from forgetting to compensate for the fact that the YM2151 in that machine is clocked at 4MHz instead of 3.58
<fseidel>
looking at whoever ported the audio on R-Type and Super Hang On
<fseidel>
and Image Fight too
<cr1901>
I've seen 4Mhz used more than on x68k
<cr1901>
Although I don't have examples handy
<cr1901>
Pretty sure the Glasgow web interface (when it's up) supports both freqs as well. It's unfortunate, but it's life :P
_whitelogger has joined ##yamahasynths
<cr1901>
whitequark: Is _whitelogger's "timeout before restarting" configured differently? I wouldn't have expected it to die 20 seconds after my last msg
<whitequark>
cr1901: been fixing a bug
<cr1901>
oooh right I think I noticed that earlier today
<cr1901>
the website would only return "GET /$channel"
<cr1901>
or something
<whitequark>
yes
<whitequark>
fucked up a regex fixing something else
_whitelogger has joined ##yamahasynths
_whitelogger has joined ##yamahasynths
_whitelogger has joined ##yamahasynths
_whitelogger has joined ##yamahasynths
_whitelogger has joined ##yamahasynths
_whitelogger has joined ##yamahasynths
kbeckmann_ is now known as kbeckmann
<NiGHTS>
[freenode] <Lord_Nightmare> given we have a functional bot exchanging between networks, i'm logging off here since there's no need for me to get an echo ping whenever i say anything
<NiGHTS>
[freenode] Lord_Nightmare (Lord_Night@unaffiliated/lordnlptp) has left ##yamahasynths ("see you all on libera.chat")
samlittlewood has quit [Ping timeout: 272 seconds]
glowcoil has quit [Ping timeout: 272 seconds]
samlittlewood_ is now known as samlittlewood
Foone has quit [Ping timeout: 272 seconds]
glowcoil has joined ##yamahasynths
natalie has quit [Read error: Connection reset by peer]
natalie- has joined ##yamahasynths
whitequark has joined ##yamahasynths
natalie- is now known as natalie
natalie has quit [Changing host]
natalie has joined ##yamahasynths
<cr1901>
For those who were in #proghq on Freenode, the channel has been migrated to Libera as well (natalie, m4t_, and gruetzkopf, but you're already there :P)
Sarayan has quit [Ping timeout: 272 seconds]
Sarayan has joined ##yamahasynths
<cr1901>
Also __sen, I think you were there at one time too?
<natalie>
thanks for the heads up cr1901 i missed it
gruetze_ has joined ##yamahasynths
gruetzkopf has quit [Ping timeout: 272 seconds]
Foone has joined ##yamahasynths
<andlabs>
what cahnnel is that
Foone has quit [Client Quit]
Foone has joined ##yamahasynths
<cr1901>
Channel dedicated to old/new EPROM/PROM programmers and REing them
<andlabs>
ah cool
<Foone>
finally got sasl config set properly so hopefully I don't end up as Guest42069 again
<andlabs>
autoelectric hates them? =P
<KitsuWhooa>
lol
<KitsuWhooa>
I might as well join
<cr1901>
andlabs: Yes, actually. That is sincerely the case
kbeckmann has joined ##yamahasynths
<cr1901>
autoelectric put out a bulletin after tl866-ii was released complaining about how tl866 was RE'd
<cr1901>
(and tl866-ii was also RE'd, but Idk how much I can or should talk about it other than "it was done")
<KitsuWhooa>
they did move to another model now or something
<andlabs>
well I assumed they were talking about other chinese companies stealing theri designs
<andlabs>
not some random people on an IRC netowrk
<andlabs>
honestly we should have a fully open hardware latnerative but whatever
<andlabs>
maybe it can also support more chips
<andlabs>
that would be nice
<KitsuWhooa>
I am not too fussed about the hardware personally
<KitsuWhooa>
they designed it, they can make money off it
<KitsuWhooa>
but I don't like running shady windows only software :p
<KitsuWhooa>
good thing USB 2 devices can't DMA :p
<Foone>
that's why we had to invent thunderbolt
<Foone>
all interfaces expand until they have the firewire security hole
<KitsuWhooa>
:p
<cr1901>
andlabs: OpenProgrammer is an open programmer
<cr1901>
And inertia means creating an open programmer in #proghq really didn't get traction
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
andlabs has joined ##yamahasynths
<andlabs>
but does it handle more chips than TL866
<andlabs>
that's my thing
<andlabs>
also the minipro open source clone software is a thing
<andlabs>
like between that one weird Hitachi thing that swaps two pins
<andlabs>
and how adrian black has to keep digging out an old proprietary programmer that ran on fucking 80386 PCs
<andlabs>
it seems like TL866 isn't pulling weight proportional to its ubiquity
<cr1901>
Idk what to tell you
<andlabs>
that's just what it seems like
<andlabs>
not sure how actually true it is
<andlabs>
maybe these EEPROMs are just too rare
<andlabs>
but yeah I don't get why people buy the cheap clones when the real thing is already cheap enough, and sometimes even cheaper
<andlabs>
I think I paid like $40 for mine from an official vendor
<andlabs>
which was like $20 cheaper than the cheapest clone
<andlabs>
and shipped from a warehouse in the midwest which means they had stock at the time
<Lord_Nightmare>
i wish bpmmicro was more open with their older programmers which are no longer useful for modern chips
<Lord_Nightmare>
the bp1200 is 286 based internally
<Lord_Nightmare>
its a parallel port programmer though, and uses IBM/unidirectional mode (I think?) so it has to bit-bang data over status lines in nybbles? maybe?
<Lord_Nightmare>
i don't know if anyone's done a proper full parallel port logic analyzer trace of the bp1200
<Lord_Nightmare>
i'd imagine it should be possible to use an arduino or something to act as a usb interface instead
<Lord_Nightmare>
but would require patching bpwin, the windows software which talks to it
<Lord_Nightmare>
this is probably better discussion for #proghq
m4t_ is now known as m4t
<cr1901>
Foone: Privmsg when you get the chance (more good news- continuation of last time's good news)
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
andlabs has joined ##yamahasynths
TD-Linux has joined ##yamahasynths
Ultrasauce_ is now known as Ultrasauce
balrog has quit [Quit: Bye]
balrog has joined ##yamahasynths
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]