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