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
ZirconiumX has quit [Quit: Love you all~]
<ValleyBell> According to the "809X-90, 839X-90" datasheet, JNH jumps when "C=0 or Z=1"
<ValleyBell> and JH is "Jump if C=1 and Z=0"
<ValleyBell> In the CM-32P firmware, the (instrument == 0x54) check is done via:
<ValleyBell> CMPB r46, #$53 / JNH $B05B / LDB r46, #$55
<ValleyBell> Currently this makes instruments 53 and 54 silent as it isn't jumping for >=$53.
<ValleyBell> I think it's supposed to jump for >$53, so only instrument $54 is silenced.
<ValleyBell> (code location is $B046)
ZirconiumX has joined ##yamahasynths
<ValleyBell> ... yeah, changing (F_C|F_N) to (F_C|F_Z) fixes the issue.
<Lord_Nightmare> cpu core bug? or program bug?
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
andlabs has joined ##yamahasynths
andlabs has quit [Ping timeout: 246 seconds]
andlabs has joined ##yamahasynths
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
andlabs has joined ##yamahasynths
kode54 has quit [Quit: The Lounge - https://thelounge.chat]
andlabs has quit [Read error: Connection reset by peer]
kode54 has joined ##yamahasynths
andlabs has joined ##yamahasynths
<ValleyBell> Lord_Nightmare: Going by the CPU datasheet, it's a CPU core bug.
<ValleyBell> The CPU core checks flags C and N when it is supposed to check C and Z according to the datasheet.
<cr1901_modern> That is a pretty serious bug ._.
<Sarayan> reverse-engineering a cpu from nothing but three roms is an interesting endeavour
<cr1901_modern> Is that not what MAME devs do (VB is a MAME dev and/or contributor, right?)?
<Sarayan> well, I'm a mamedev, so yes, it's what mamedevs do :-)
<Sarayan> Judge did that too I've been told
<Sarayan> still, it's... interesting
<Lord_Nightmare> ValleyBell: like a bug in the REAL cpu itself, or a bug in MAME's code?
<Lord_Nightmare> I have an mt-32 with socketed roms so in theory i could burn a set for some hw tests
<Lord_Nightmare> if it can bang the test results out over midi sysex...
<Lord_Nightmare> mt-32 is 8095 tho,not 80198
mz` has quit [Changing host]
mz` has joined ##yamahasynths
<ValleyBell> Let me summarize it:
<ValleyBell> There is a bug in the emulation. (instrument "Orch Hit" is silenced)
<ValleyBell> This is caused by the emulated CPU checking status register bits C/N in the "JNH" instruction.
<ValleyBell> On the PCM-part of an actual CM-64, the instrument plays fine.
<ValleyBell> The data sheet says JNH jumps based on bits C/Z.
<ValleyBell> Fixing the emulation to jump based on bits C/Z for the JNH instruction makes the instrument work.
<ValleyBell> This is the CM-32P, i.e. PCM. Not MT-32.
<ValleyBell> cr1901_modern: I'm just contributing to MAME, because IÄm interested in CM-32P emulation.
<ValleyBell> The JNH and JH instructions are listed on page 11.
<ValleyBell> All other jump instructions are emulated as noted in the data sheet.
<Lord_Nightmare> aha, so its a MAME bug
<Lord_Nightmare> submit a pr?
<andlabs> has anyone done DX100 emulation in MAME yet
<andlabs> because I now have an understanding of the hardware
<ValleyBell> I'll make sure to include the bugfix whenever I work on CM-32P emulation the next time.
<Sarayan> bugfix?
glowcoil has quit []
glowcoil has joined ##yamahasynths
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<Sarayan> neat/js
<Sarayan> gah
andlabs has joined ##yamahasynths
andlabs has quit [Ping timeout: 248 seconds]
andlabs has joined ##yamahasynths
glowcoil has quit [Ping timeout: 248 seconds]
Xyz_39808 has quit [Ping timeout: 248 seconds]
Xyz_39808 has joined ##yamahasynths
Xyz_39808 has quit [Read error: Connection reset by peer]
Xyz_39808 has joined ##yamahasynths
glowcoil has joined ##yamahasynths
<Lord_Nightmare> Foone: that com1 thing, is that a computer with a 16550 non-a chip, with the fifo completely hosed?
<Lord_Nightmare> there may be a way to turn the fifo off
<Lord_Nightmare> (although i've heard that even 16550A chips have fifo problems, but not as bad as the 16550 with no letter)