PCM player using SCC

Page 14/33
7 | 8 | 9 | 10 | 11 | 12 | 13 | | 15 | 16 | 17 | 18 | 19

By Guillian

Prophet (3507)

Guillian's picture

23-10-2007, 16:47

Try Excite translator
Put the URL, select 日→英 and press the orange buttom.

By Guillian

Prophet (3507)

Guillian's picture

23-10-2007, 17:16

I can't edit my last post. When I press "Edit" "modules.php" starts downloading Sad
Anyway, it uses the VDP as timer and not ch4. Also it does not rotate the waves, but use the restart sample feature (when the frequency is changed, the sample is played from the beggining)

By ARTRAG

Enlighted (6862)

ARTRAG's picture

23-10-2007, 17:25

Yes, the sole thing I can barely understand from the translation
is that there is a HW bug in the SCC when accessing to samples 17-31,
so he resets the channel before that part of the wavetable is used.

The bug, according do this site, is related to the conflict between z80 and SCC
to the same ram area at the same time and do not arise accessing to the first 16
samples.

This implies that, if the info are correct, some workaroud can be found, as
using ch4 as counter we know when SCC is accessing to samples 17-31

More experiments on the HW (or a better translator are needed Smile

[Off topic
Gullian, if you are Manuel, I didn't received my SCC megaflash jet ...
how long post takes usually ?]

By dvik

Prophet (2200)

dvik's picture

23-10-2007, 17:42

If this is correct its quite easy to modify the first version that always updates 32 bytes at the time to do all updates while the scc plays the first 16 bytes.

I'll see if I can do it today and if it gives any different result on real hw. On real hw there are some noise and with the latest version it sounds like its a may phase thing which could be explained by these issues.

By nikodr

Paladin (748)

nikodr's picture

23-10-2007, 17:55

As usual when you post it ,i will test it on the megaflash to see how is heardSmile

By ARTRAG

Enlighted (6862)

ARTRAG's picture

23-10-2007, 17:56

Assuming the the site is correct/correctly understood,
IMHO you could also modify the SECOND technique in order to
update the samples only when the SCC is accessing to samples 16-31

It would become a sort of mix between the two option, i.e. you wait till
SCC is in the 0-15 region and than you update 32 samples

Do you like this?

Wink

By Manuel

Ascended (18940)

Manuel's picture

23-10-2007, 18:01

by the way, ARTRAG: if information on Wikipedia is incorrect, please fix it. That's the idea of a Wiki, after all. Smile I guess you guys have learned enough to correct all mistakes now...

By Manuel

Ascended (18940)

Manuel's picture

23-10-2007, 18:05

Guillian: how much CPU time does your demo have left?

The sound quality is pretty good, there is much less noise than dvik's demo. But it does sound less sharp, but that's probably due to the 15.75kHz.

Note that it works fine on my real MSX, but unfortunately not in openMSX (I don't hear anything). I hope we can find the cause... If you have any ideas, please post.

By ARTRAG

Enlighted (6862)

ARTRAG's picture

23-10-2007, 18:06

It works on openmsx, just tryed!
try emulating msx2,
(BTW in OPEN it does not sounds better than dvick's
demo, both are noisy)

Guillian's code polls VDP status registers
for Horizontal retrace.

Wiki updated

By Manuel

Ascended (18940)

Manuel's picture

23-10-2007, 18:44

ARTRAG: it seems we found a regression in the current openMSX SVN version. I'm trying to pinpoint it as we speak. Thanks for this info!

Page 14/33
7 | 8 | 9 | 10 | 11 | 12 | 13 | | 15 | 16 | 17 | 18 | 19