News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

New release of Sid player

Started by TomEtJerry, 08:46, 31 December 11

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

freemac

#25
Quote from: Geco on 21:31, 04 August 18
I wanted to add it, and sign about the progress, but during unpack, and data preprocess I can not, because 1st page contains the code, and 1st part of packed data, 2nd page contains the 2nd part of packed data, 3rd page is untouched, but I need CPC system variables, and 4th page is fully used for unpacking.I wanted to use 3rd page from 8000h-9fffh for print, but i forgot that CPC video addressing is not linear, so the 1st character row would overwrite CPC system data :(
The name of the song or/and a picture can be displayed after data preprocessing.
If you use your own interrupts routine (writing some at #0x38), you don't need the 3rd page then (and have still access at ROM part of firmware (for loading files from disk...)), the 3rd page - RAM part of firmware is more about cursor/alternating pen color/basic, isn't it ?

Ah yes disk routine from firmware ROM does use a part of &8000 as buffer (sorry)

It's easier to dev for 128KB CPC (8 pages)

Geco

#26
Quote from: freemac on 21:54, 04 August 18
It's easier to dev for 128KB CPC (8 pages)
The program uses as much RAM as the machine has, it unpacks the data temporary to page 3 after data preprocessing the data is moved to page2 with different RAM settings, on a 128KB CPC 135 sec music can be played back, on a CPC with 512KB added RAM, 891 sec can be played back.
The border is changing slowly during unpacking, and faster during preprocessing.
>> DiskSID4.ZIP has been removed

Geco

I found a smaller error in SIDB9, volume values were adjusted twice for Sawtooth, Triangle, and noise, it has been corrected.

freemac

Quote from: Geco on 11:12, 05 August 18
I found a smaller error in SIDB9, volume values were adjusted twice for Sawtooth, Triangle, and noise, it has been corrected.
Got no sound with SIDB9 (but nice border-raster  8) )

Geco

Quote from: freemac on 17:50, 05 August 18
Got no sound with SIDB9 (but nice border-raster  8) )
The previous version of SIDB9 had sound? I have sound with ep128emu, but i do not have normal sound on WInCPC with any versions. Which emulator do you use, or did anybody tried it on real machine?

freemac

Quote from: Geco on 07:53, 06 August 18
The previous version of SIDB9 had sound? I have sound with ep128emu, but i do not have normal sound on WInCPC with any versions. Which emulator do you use, or did anybody tried it on real machine?
I tryed it on MiST-board FPGA and on WinAPE emulator. I'll retry on them this evening.

Geco

Quote from: freemac on 12:02, 06 August 18
I tryed it on MiST-board FPGA and on WinAPE emulator. I'll retry on them this evening.
And only SIDB9 had problems? I will have to look into AY write.

arnoldemu

Quote from: Geco on 12:48, 06 August 18
And only SIDB9 had problems? I will have to look into AY write.
The problem is the register selection in your code.

In one place you are sending 88 in another 89.

The upper 4 bits must be 0.

See this document:

http://www.ym2149.com/ay8910.pdf

"high order chip select".

"Unless otherwise specified, address bits DA7-DA4 are programmed to recognise only a 0000 code".ep128emu seems to be wrong here.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

arnoldemu

Quote from: Geco on 07:53, 06 August 18
The previous version of SIDB9 had sound? I have sound with ep128emu, but i do not have normal sound on WInCPC with any versions. Which emulator do you use, or did anybody tried it on real machine?
I will check on real hardware tonight and tell you which versions do work.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Geco

Quote from: arnoldemu on 13:54, 06 August 18
The problem is the register selection in your code.

In one place you are sending 88 in another 89.

The upper 4 bits must be 0.

See this document:

http://www.ym2149.com/ay8910.pdf

"high order chip select".

"Unless otherwise specified, address bits DA7-DA4 are programmed to recognise only a 0000 code".ep128emu seems to be wrong here.
Thank you very much, I will check it.
So it seems then  the AY register selection is wrong.

Geco

AY register selection has been corrected, playback did not changed, sample rate remained 7299 Hz, only providing data for playback loop became 8 T-state slower.
I tested it on Winape, and WinCPC also, it seems we can forget SIDB and SIDB3, because the quality in these 2 emulators is very poor, probably on real machine also. SIDB8 and SIDB9 was ok.

freemac

#36
Tests on MiST-board: sidb is degraded but good on its way (can be interesting for sound designers). Got bad cristal noise on sidb3. sidb8 is really cool, sidb9 works fine (more agressive: cool also)

sidb8 LASTNIN0.M64

http://www.youtube.com/watch?v=faOUNIqPu0M

sidb9 COMMANDO.M64 (one speaker set lower than the other one :p)

http://www.youtube.com/watch?v=SWBeszpZQDg

arnoldemu

Quote from: Geco on 17:11, 06 August 18
AY register selection has been corrected, playback did not changed, sample rate remained 7299 Hz, only providing data for playback loop became 8 T-state slower.
I tested it on Winape, and WinCPC also, it seems we can forget SIDB and SIDB3, because the quality in these 2 emulators is very poor, probably on real machine also. SIDB8 and SIDB9 was ok.
@Geco:I can't run it from drive B. My drive B is gotek and my drive A is not connected at the moment.
The best way to do this is to use BASIC to load the file and then it will use the drive that the basic program was run from.

My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

arnoldemu

@Geco:
Is the sid player designed for CPC speaker or CPC stereo output?


My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Geco

Quote from: arnoldemu on 18:51, 06 August 18
@Geco:I can't run it from drive B. My drive B is gotek and my drive A is not connected at the moment.
The best way to do this is to use BASIC to load the file and then it will use the drive that the basic program was run from.
Do you mean the program should be loaded by a basic loader? If yes, I have to make small modification, as i see it can not be loaded to &80 from basic.
Quote from: arnoldemu on 18:54, 06 August 18
@Geco:
Is the sid player designed for CPC speaker or CPC stereo output?
It designed to sounds somehow ;) 3 SID channels are written to 3 AY volume registers, so it becomes stereo.

Geco

Quote from: freemac on 17:52, 06 August 18
Tests on MiST-board: sidb is degraded but good on its way (can be interesting for sound designers). Got bad cristal noise on sidb3. sidb8 is really cool, sidb9 works fine (more agressive: cool also)
Cool, thank you very much :) I heard the cristal noise of SIDB3, but it was not so bad on EP128emu, I will remove SIDB3 and SIDB, and I will create a version which can be loaded from basic for SIDB8 and SIDB9

arnoldemu

Quote from: Geco on 19:19, 06 August 18
Do you mean the program should be loaded by a basic loader?
Yes please
Quote from: Geco on 19:19, 06 August 18
If yes, I have to make small modification, as i see it can not be loaded to &80 from basic.
When using basic you can load to &384 (this is lowest), but it's fine to load and relocate to &80.When loading from basic you do not need to initialise any roms. It is done for you.

Quote from: Geco on 19:19, 06 August 18
It designed to sounds somehow ;) 3 SID channels are written to 3 AY volume registers, so it becomes stereo.
ok.:)
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Geco

#42
Quote from: arnoldemu on 19:26, 06 August 18
When using basic you can load to &384 (this is lowest), but it's fine to load and relocate to &80.When loading from basic you do not need to initialise any roms. It is done for you.
I created a basic loader, and did not modify the programs, I hope ROM initialisation does not cause any problem. Load the program to 4000h and copy to 0080h
And I removed SIDB and SIDB3 from the disk

>>DiskSID7.zip has been removed

ASiC

Last Ninja with SIDB8 sounds soooo good!!!
Well done buddy  :)

Geco

#44
Quote from: ASiC on 20:19, 06 August 18
Last Ninja with SIDB8 sounds soooo good!!!
Well done buddy  :)
Cool :) I thought that SIDB9 is better, on EP128emu i heard it better :) , and I tried to compensate non linear AY volumes in SIDB9.

freemac

Quote from: Geco on 20:26, 06 August 18
Cool :) I thought that SIDB9 is better, on EP128emu i heard it better :) , and I tried to compensate non linear AY volumes in SIDB9.

Yes SIDB9 does saturate as the original SID with COMMANDO.M64, SIDB8 seems correcting too much the signal => SIDB9 is nicely aggressive.

freemac

Have you lowered twice the CPC channel B volume ?


SID has 3 channels (ABC) and is done for mono sound, and CPC Yamaha has 3 channels (AB) + (BC)

Geco

Quote from: freemac on 12:43, 07 August 18
Have you lowered twice the CPC channel B volume ?
SID has 3 channels (ABC) and is done for mono sound, and CPC Yamaha has 3 channels (AB) + (BC)
No  :-[ I thought the difference is only is 2/3 1 2/3, but if i do it, it cause a bit worse quality, because the digi loop slows down by 28 T-States, I think I will try to create a SIDB10 with lowered B channel.

freemac

Quote from: Geco on 13:43, 07 August 18
No  :-[ I thought the difference is only is 2/3 1 2/3, but if i do it, it cause a bit worse quality, because the digi loop slows down by 28 T-States, I think I will try to create a SIDB10 with lowered B channel.
In fact it depends : using headphones or not. So you can choice between half and full for channel B. I'm not really expert but I don't think half is really the best choice, perhaps has to try several ratio : 50% 66.6% 75% 83.3% 100%  :-\

Geco

Quote from: freemac on 08:05, 08 August 18
In fact it depends : using headphones or not. So you can choice between half and full for channel B. I'm not really expert but I don't think half is really the best choice, perhaps has to try several ratio : 50% 66.6% 75% 83.3% 100%  :-\
;D Ok, I will create some other versions, and i got to my mind last evening after some beers, that I do not have to modify the playback routine so sample rate will not change, i will modify the volume at data preprocessing on AY Channel 9.

Powered by SMFPacks Menu Editor Mod