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
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
Patater has quit [Quit: Explodes into a thousand pieces]
Patater has joined ##yamahasynths
Foone has quit [Quit: WeeChat 2.4]
Foone has joined ##yamahasynths
<cr1901_modern> ej5: https://twitter.com/TubeTimeUS/status/1258565209070825472 Okay THIS this interesting. I did not know this
<cr1901_modern> I knew the game port was supposed to be a DAQ unit, but I didn't know someone used it for other purposes
<ej5> :D
<ej5> i should try building that circuit for the lulz
<cr1901_modern> the game port or the RTC?
<ej5> these joystick cards are pretty common so it's not like i'd be destroying anything valuable
<ej5> the RTC
<cr1901_modern> Both are basically "babby's first ISA card"
<cr1901_modern> I have a few prototype ISA cards that I haven't really used :(
<ej5> ISA is so easy to work with i just don't bother with the prototyping cards, i just go straight into the design
<ej5> thinking about my next ISA card project, it'll probably involve an FPGA
<cr1901_modern> I want to do that, but I get bogged down with the required level shifters
<cr1901_modern> I've heard of a RTC in the form of a board that attach to the 40 pin DIP socket of the 8088 and the RTC circuitry hangs on the side
<cr1901_modern> ej5: I went down an 8087 rabbit hole yesterday, which led me to idly wondering about one of my most cursed ideas yet: How would you implement a new coprocessor for the 8086/8?
<ej5> you mean like the 8089?
* ej5 watches cr1901_modern go down another rabbit hole
<cr1901_modern> I know what the 8089 is
<cr1901_modern> it's the "chip nobody cares about b/c it wasn't used in the PC"
<cr1901_modern> Uhhh, I looked at the 8089 datasheet yesterday as part of my rabbit hole adventures
<cr1901_modern> it doesn't use all the signals from the 8088 that the 8087 does
<cr1901_modern> (particularly the queue status signals)
<cr1901_modern> I didn't pursue further, but I probably should
<ej5> your homework project today is to figure out if the 8087 interface could be used to build an SMP 8086/8 system
<cr1901_modern> Yes, Multibus
<cr1901_modern> Or rather, using the 8087 interface is documented in the 8086 reference manual as being required to do SMP w/ 8086
<cr1901_modern> Gimme a min, I'll find it
<cr1901_modern> ej5: 8086 Family reference Manual, 1979 edition. Page A-15, A-16
<ej5> nice
<cr1901_modern> it discusses how to use the QS0/1 and LOCK signals to implement bus locking in a multiprocessor system
<TD-Linux> ej5, >involve a fpga
<TD-Linux> I think you meant "level translator design"
<TD-Linux> (actually tho it's trivial with a pile of 8T245s)
<ej5> oh for sure
<cr1901_modern> Idk if there was ever a chip to do this arbitration for you though. But SMP and 8087 use QS0/1, 8089 does not. My homework is... why?
<ej5> lol
<ej5> there was the 8289 bus arbiter
<ej5> see page A-111
<cr1901_modern> Oops...
<TD-Linux> wonder if I should try out those nexperia 8T245s. the TI ones are the single most expensive part of my design(s)
<cr1901_modern> What about buying a bunch of the ones Glasgow uses?
<cr1901_modern> ej5: Looks like 8289 doesn't use QS0/1 after all. I confess I only skimmed those portions of A-15/A-16, because I was looking for 8087-specific info
cr1901_modern1 has joined ##yamahasynths
cr1901_modern has quit [Ping timeout: 256 seconds]
cr1901_modern1 has quit [Quit: Leaving.]
cr1901_modern has joined ##yamahasynths
<cr1901_modern> TD-Linux: Are nexperia a second source for the 8T245s?
<cr1901_modern> i.e. it's TI's IP, but licensed to others?
<TD-Linux> doubt
<andlabs> ah yes, the joys of pre-RTC IBM PC BIOS timer handling
<andlabs> sik explained this to me
<andlabs> apparently the IBM PC BIOS uses *ALL* of the PIT timers
<andlabs> so if your program wasn't carefult o restore the time of day clock setting properly you would reboot to a wrong time
<andlabs> now I forget if people always had to enter the time and date on each boot or not before the addition of a clock battery, butg this limitation guaranteed that you had to *anyway*
<balrog> andlabs: there were some external cards that did rtc. I believe you had to use a command that would copy the time to the system clock
<balrog> "PC TIMER" was very popular
<andlabs> hm
<andlabs> I also don't get why IBM supported gameports a tall
<andlabs> thinking about it now
<cr1901_modern> andlabs: One PIT is used for speaker, one for DMA refresh strobe, one for a periodic timer interrupt.
<cr1901_modern> But I don't see how any of them compete with a RTC provided by an external card
<cr1901_modern> balrog: I tried REing "PC TIMER" in IDA... claims to be universal. AFAICT, it checks for three I/O ports where a specific RTC chip (by National Semi?) lives, and bails if it doesn't find that chip
<cr1901_modern> andlabs: The game port was meant to be a low speed DAQ unit, as far as I can tell. I guess DB15 connectors were common back then.
<cr1901_modern> Then someone decided to use it to implement a joystick where analog values are returned in the form of RC decay
<andlabs> digital audio qonverter?
<andlabs> *digital analogue
<cr1901_modern> Data AQuisition
<andlabs> *side stare*
<cr1901_modern> https://en.wikipedia.org/wiki/Data_acquisition#DAQ_hardware It's a good acronym, Brent
<cr1901_modern> https://twitter.com/SegaShopEurope/status/1258465411248594947 Ahhh, clearly I'm gonna choose the Genesis b/c nothing like YM2612 goodness :)... why are you giving me that look?
<superctr_> you'd chose an atgames md?
<superctr_> with the broken default ym2612 clock speed
<superctr_> funnily it can be fixed, with a software patch
<superctr_> since there's a debug register that can modify the ym2612 clock. a guy in the sonic scene called esrael discovered it a few years ago
<cr1901_modern> yea I remember reading about it but not sure how it works. I think they added some registers into unused regions of Genesis addr space for AT-games stuff
<superctr_> probably the clocks are generated by a PLL, which can be configured
<cr1901_modern> https://www.youtube.com/watch?v=FDDXF4y3S2U for those who wish to be scarred
<superctr_> question is whether increasing the ym2612 clock also increases the cpu clock, and that is the reason for why they adjusted it in the first places
<superctr_> maybe the faster cpu clock broke some timing requirements during testing or something
<superctr_> on the MD the 68k and ym2612 uses the same clock
<cr1901_modern> which begs the question... why didn't they feed the same clock to both components on the ATgames console?
<cr1901_modern> oh wait...
<cr1901_modern> it's emulating the 68k in software, isn't it?
<superctr_> well i don't know if they use the same clock or not, that's the question i was asking
<superctr_> if they dropped the cpu clock to fix some timing requirement, adn that broke the FM as a side effect. but i don't know
<andlabs> ok but rewind button?
<andlabs> on the atgames machines
<andlabs> does it suck too much for people to talk about?
futarisIRCcloud has joined ##yamahasynths
<cr1901_modern> andlabs: Think of it as the Sonic Genesis of emulators
<andlabs> I'm asking about the rewind button specifically
<andlabs> did atgames fuck that up somehow?
<andlabs> you'd think that would be soemthing cool to attract normies and enthusiasts alike
<andlabs> this is the first time I've heard of it
<andlabs> I'm guessing it's not on the atgames handhelds
<superctr_> i don't think the ones using the RK chip have a rewind button
<superctr_> and those were the ones with the sound issue
<Lord_Nightmare> the atgames genesis mess is a bug in their own emulator
<Lord_Nightmare> iirc someone hacked the emulator and fixed the bug
<Lord_Nightmare> and so instead of sounding like complete ass it sounds like mostly ass
<cr1901_modern> high praise
<Lord_Nightmare> https://www.youtube.com/watch?v=ZAtdijltcC4 is a comparison of before and after the fix
<Lord_Nightmare> which i think tectoy actually took the fan-made fix and (presumably with permission) shipped it installed on the newer issued consoles
<Lord_Nightmare> how that mess ever shipped from atgames in the first place is the real question
<cr1901_modern> apathy?
<Lord_Nightmare> the fix doesn't seem too complex either, the emulated segaPSG is just clocked completely wrong compared to the emulated ym2612
<cr1901_modern> That would explain the comments of the form "the Genesis can't decide which key it's playing"
<Lord_Nightmare> the console doesn't sound GOOD (its got some severe aliasing and yamaha edge case emulation bugs going on) and lack of digital filtering
<Lord_Nightmare> but it sounds in tune
<Lord_Nightmare> also i think the console is rendering at an ~22khz samplerate at most
<cr1901_modern> Idk the YM2612 sample rate offhand, but a similar YM2151 would have a sample rate of ~55kHz
<cr1901_modern> so there would be some nice aliasing from that
<cr1901_modern> (3.58 MHz / 32 slots / 2 cycles per slot)
<Lord_Nightmare> the segapsg emulator on the atgames/tectoy is also buggy, it screws up the waterfall sound horrendously making it earsplittingly loud
<Lord_Nightmare> the hack fix didn't fix that
<cr1901_modern> Can aliasing cause such an effect (make a sound earsplittingly loud)?