PCM player using SCC (Development MSX Fora)MSX Resource Center            
            
English Nederlands Espa�ol Portugu�s Russian         
 Nieuws
   Voorpagina
  Nieuws archief
  Nieuws onderwerpen

 Informatie
   MSX Fora
  Artikelen
  Recensies
  Beursverslagen
  Fotoreportages
  Beurzen en meetings
  Enquêtes
  Links
  Zoek

 Software
   Downloads
  Webshop

 MRC
   Wie we zijn
  Kom bij ons team
  Doneren
  Policies
  Contact met het MRC
  Link naar Ons
  Statistieken

 Zoek
 
  

  

 Login
 

Gebruikersnaam

Wachtwoord




Ben je nog niet lid? Klik hier en word MSX vriend!


 Statistieken
 

Er zijn 53 gasten en 3 MSX vrienden online

Je bent een anonieme bezoeker.
 

MSX Fora


MSX Fora

Development - PCM player using SCC

Ga naar pagina ( Vorige pagina 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 Volgende pagina )
Schrijver

PCM player using SCC

tfh
msx addict
Berichten: 495
Geplaatst: 27 Oktober 2007, 08:29   
Quote:

Quote:

The functionality of the deformation register is implemented in blueMSX and openMSX but since there aren't any apps using it, the emulation may not be 100% correct but it should be pretty good in both emus.


Actually, Fony/Tyfoon did some SCC sampling in one of their picture disk demos. Maybe the filehunter can point you out the right file from his website in order to test the feature in any emu.


Hmmm, I know The Pretender was working on something, yes.. But did we actually release it? Hmmm.. I am afraid I can't help you though: I have no clue which demo it is. If someone has that demo available, please let me know and send it to me to arnaud at file-hunter dot com

Not that it's very usefull for this project I guess, but I do remember the sound quality was quite bad Michiel converted some samples from the amiga to toy around with, but he wasn't very happy with the result. I think he converted those samples to 4 bit samples somehow and just pumped these to the SCC.
He also had another project where he used the tape-recorder connector as a 1-bit sampler. Those results sucked even more
ARTRAG
msx master
Berichten: 1737
Geplaatst: 27 Oktober 2007, 08:51   
I see your way of computing the period and actually I think it is good.
my proposal was worst than yours, as we measure periods, the
longer the better (why not looking for period 1800*4 and than
dividing the result by 4?)

I see that you measure the period in such a way that it is the shortest
that guarantees that the channel is still playing sample 31 when the
VINT occurs.

I still do not understand if and/how the fact that the period is slightly
longer that required affects the results
and if it is correct in ReplayerUpdate to start updating a bunch of samples
and than after that set the period, instead of doing in the other way, i.e.
set only one sample (minimum delay) set the period and than continue....

At first glance, due o the fact that you have to allow some period mismatch,
in your way this mismatch is one sample each 32 (i.e. 1/Fs), in my way it is only
few cycles (one ldi) each 32 samples.
But I need to investigate on this.

I didn't get the SCC jet, in case I'll try to record the output of my TV
using the PC soundcard.


PS
Look at the results of my test wave.this latter does not suffer of rounding errors
so you should be able to see exactly all the sample losses or phase errors

I forgot a x256 factor in my code
   
    if (cnt <= 0) {
    
    // TEST SIGNAL IF NO INPUT
        
        int i=0,j;
        while (i<MAXLEN)
        {
        for (j=-128;j<=127;j++)
           src[i++]=j*256;
        for (j=127;j>=-128;j--)
           src[i++]=j*256;
        }
    }




ARTRAG
msx master
Berichten: 1737
Geplaatst: 27 Oktober 2007, 09:03   
About the multiple period measure
let's think on this:
        ld      hl,1800*8   
        ld      de,9800h+32*3
        ld      c,31

1:
        in      a,(99h)
        and     80h
        jp      z,1b

        ld      (9888h),hl
        ld      (9886h),hl
        
.loop:
        rept 8
1:
        in      a,(99h)
        and     80h
        jp      z,1b
        endm

        ld      a,(de)
        ld      (9888h),hl
        ld      (9886h),hl
        cp      c
        jp      z,.end
        inc     hl
        jp      .loop
        inc     hl                           ;<-------- ? no more needed
        call divide_by_4
        ld      (Period),hl



dvik
msx master
Berichten: 1339
Geplaatst: 27 Oktober 2007, 09:05   
I think the longest possible period is 0xfff which is 4095. So it would be doable to do *2 within the limits.
ARTRAG
msx master
Berichten: 1737
Geplaatst: 27 Oktober 2007, 09:10   
Quote:

I think the longest possible period is 0xfff which is 4095. So it would be doable to do *2 within the limits.


i forgot this detail
ARTRAG
msx master
Berichten: 1737
Geplaatst: 28 Oktober 2007, 01:03   
how is going with the new test signal?
dvik
msx master
Berichten: 1339
Geplaatst: 28 Oktober 2007, 08:12   
Haven't been able to do much since I can't sample the real hardware. What I want to know is if there are any phase problems or amplitude problems on a real SCC. I'm actually quite curious to see the square wave test signal as well because with that one its easer to see any phase differences between the channels. In the new test signal there is no way of seeing what the different channels are doing but it will be good once the replayer is working ok to verify that its working correctly. First I need more information about the relationship between the channels and I think the square waves will provide that so if someone can sample that rom from a real MSX it would be great.
ARTRAG
msx master
Berichten: 1737
Geplaatst: 28 Oktober 2007, 13:02   
I had my scc flash
i'll do what i can in order to record the result of the tests...
stay tuned
dvik
msx master
Berichten: 1339
Geplaatst: 29 Oktober 2007, 04:53   
I've been working with the rotation synced player and have some strange behavior that may be releated to the noise in the poliphase version. It seems like reads from CH4 adds noise whenever the reads are done. I can't really figure out what it is but it seems like it changes the phase of something. I tried quite a few different implementation of the rotation replayer and none have been without noise. I tried to write samples as fast as possible, fairly slow, in two segments to really avoid overlap with the playback. Nothing helped.

Then I did a new replayer that is a one channel that resets the phase every 31.95 samples (to avoid getting out of sync) and then writes new samples in a way so they don't overlap with the played sample. The result was good (see the little demo in the post I'm soon about to make).

This one is using syncrhonized code with busy loops that are made to fit the period as well as possible, somewhat similar to the poliphase player but this one only uses one SCC channel.

Then just to test if reads to a rotating CH4 would interfere with the playback I added some reads in a safe area (not those samples that you should avoid) without changing timing at all. I only read CH4, not taking any action based on the result so I still kept the syncrhonized logic. But this actually added quite a lot of noise (!). So it seems like channel 1 was affected by the reads to CH4 even though it shouldn't.
What I'm afraid of is that updates to the four poliphase channels may affect each other similar to what I observed with reading CH4. This could explain why the real SCC doesn't sound so good in the poliphase replayer. If this is the case we can drop the whole idea of doing a decent SCC PCM player. I really hope I'm wrong but I'm starting to doubt that its possible to solve these problems.

Let me know what you find from your samples ARTRAG. If you do some samples of the test signals (both would be good), can you send them or post them here?


ARTRAG
msx master
Berichten: 1737
Geplaatst: 29 Oktober 2007, 07:48   
no result jet, i need a special converter in order to sample the audio out of the tr
moreover getting the fd working and exchanging files with xp is horrible (not jet
succeeded, the sole disk that is now working is 20 yo and badly damaged)
moreover opf does not work in msxdos2 !! thus i need to boot from disks i cannot format or write to....


dvik
msx master
Berichten: 1339
Geplaatst: 29 Oktober 2007, 08:02   
Its coming. Once you get it working you'll see that the MegaFlashRomSCC is a great cartridge and very easy to work with. My problem is that I don't have a PC to sample the MSX with. I used to have one but that PC is boxed and put in storage because we needed space for the baby
ARTRAG
msx master
Berichten: 1737
Geplaatst: 29 Oktober 2007, 12:45   
lunch time, i'm going to buy the connector
moreover huey sent me the tool "msxform"
that could solve the XP issue...
tonight we will see
ARTRAG
msx master
Berichten: 1737
Geplaatst: 29 Oktober 2007, 14:39   
I've got the connector, now it's matter to see if tonight all the pieces work together

ARTRAG
msx master
Berichten: 1737
Geplaatst: 29 Oktober 2007, 20:10   
Daniel, you have mail
dvik
msx master
Berichten: 1339
Geplaatst: 29 Oktober 2007, 20:29   
Thanks ARTRAG
 
Ga naar pagina ( Vorige pagina 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 Volgende pagina )
 







(c) 1994 - 2008 Stichting MSX Resource Center. MSX is een trademark van MSX Licensing Corporation.