DC-SWAT Forum

Полная версия: DreamShell 100% Compatibility - Possible?
Вы просматриваете yпpощеннyю веpсию форума. Пеpейти к полной веpсии.
Страниц: 1 2 3
This question is mainly for SWAT but anyone with the knowledge can of course chime in. I'm just curious if it's possible that DreamShell could have 100% compatibility in the future. I know there are at lot of unfinished or experimental parts of DreamShell like the Windows CE support, CDDA audio, and DMA. I'm sure compatibility could be improved once these features are out of the testing phase but would they bring it to 100%? Due to the way DreamShell boots games (using a small portion of memory), I'm not sure if it would be possible or not. Discuss! :-)
I'm sure dreamshell may be 100% compatible.

Swat has done an incredible work ! Even if he has some difficulties (the wall of misunderstanding like he said) with the dma bus.

And I don't forgotten megavolt, he's still working for adding a ide in master mode in order to have two hdd. It's fantastic.

Dreamshell is amazing ; hope we can have some progress soon.

And finally you, I understand that you work on the dreampi ! I'm really impressed.


I'm very gratefull to you all. Thanks
Not sure about 100%, but 95-99% is quite real to boot and maybe full playable.
But CDDA imposes many additional difficulties...
(08.10.2018 19:59)SWAT писал(а): [ -> ]Not sure about 100%, but 95-99% is quite real to boot and maybe full playable.
But CDDA imposes many additional difficulties...

Thanks for the response SWAT! DreamShell and the IDE mod is a great solution even if it has some issues. It's a cheap open-source solution which makes it a great alternative to the GDEMU and USB-GDROM. The incompatibility with some games is obviously a down side though. If you can get it even close to 100%, that would be amazing.

On a side note, do you have any ideas one why the Visual Concepts games won't currently boot?
The current compatibility is already huge, but the big problem is CDDA.
If you look at the list with the filter "MEDIUM", which means that the compatibility is not perfect .. we can see that at 99% it is because of the CDDA.

http://dreamshell.infos.st

CDDA > Black Screen
CDDA > Sound Crash
CDDA > Block on loading
CDDA > Freeze
Etc...

If you can fix CDDA...So that would be wonderful ! Big Grin
I think the main problem of CDDA it's additional memory for sound buffer.
For me the cdda works better with sd card via serial port like chu chu rocket with PIO.

the cdda via ide-mod works well for dma with wince games like 4x4 evo (except sega rally 2 which playing always the same music but I think it's because the sega rally 2 different programming than others wince games)

If I remember well, in 4 wheel thunders with sdcard good cdda but big lag during FMV because of low rate of data transfert of serial port. And good FMV but crash with CDDA in ide mod... (dragoncity may confirm ? ;-) )

It's not possible to do the same for ide mod in order to have good cdda via ide mod with cdda PIO games ?

What do you mean excatly by "it's additional memories" You'are talking about the sync 16 ? If I look the dragoncity's list the cdda works better in sync 16 in ide mod.


Of course I don't know the max rate of compatibility of dreamshell but if this amazing system can run shenmue I and II, wince games with cdda and have some games running in RC3 and not RC4 (like looney toons space race) the compatibility rate could increase a lot.
From SD works better because doesn't used DMA, I can disable DMA for CDDA on IDE, but it not resolve issues with using additional memory and playing process (conflict with game code). From SD not all CDDA games work right? Smile

(23.10.2018 14:50)fafadou писал(а): [ -> ]What do you mean excatly by "it's additional memories" You'are talking about the sync 16 ? If I look the dragoncity's list the cdda works better in sync 16 in ide mod.

No, it's for data only. CDDA doesn't have settings yet.
I understand better.

If I remember well for a game like guilty gear, the sound crash in dma ide mod and for sd card the sound crashed too because (for me of course ^^) of the data transfert rate of sd card. Guiltu gear looks like soulcalibur and it's all time disc access.

If I take another game like kao the kangaroo, the cdda freeze the game even in sd and ide.

(Again I let dragoncity confirm that).

The problem of additional memory problem will still not have an issue but if you add the choice of disable the dma for cdda on IDE, many games with FMV and cdda will have an issue anyway in IDE (maybe around 20 games :-) 4 wheel thunder, deep fighter etc...).
Thanks Swat for your answer.

I hope you can fix that we all believe in you! Smile

As I said if you cross this problem, it would be a big step forward !!

Good luck, I'll be there to test as you know if there is need! Wink
I'll meet some informaticians next week for job, I'll try to ask them if they have an idea for an issue... I don't know where you can find some ide bus master ^^

I try to find some informations of ATA bus... I'try to understand how it works.

Which king of ATA bus the dreamcast use ? ATA-1 or ATA-2 ?

I found that :

Standard Trasnfert rate (Mo/s)
ATA-1 PIO 0,1,2: 3.3, 5.2, 8.3
Single-word DMA 0,1,2: 2.1, 4.2, 8.3
Multi-word DMA 0: 4.2

ATA-2 PIO 3,4: 11.1, 16.6
Multi-word DMA 1,2: 13.3, 16,6

Probably the dreamcast have a ATA-1 so maybe you have to use a multi word dma bus for separate sound and game data and avoid the additional memory in sound buffer problem ?...

In a serial port you have only one Rx Tx for bus data but in IDE you have 40 pins, it's not possible to use one pin for sending the cdda directly to the sound chip and separate data and sound ? Perhaps a chip is necessary ?
Do you know how have done the usb-gdrom and gdemu builder for that ? They must have the same problem...

What have you change for running shenmue in the isoloader 0.6.x beta version ? Maybe the issue is there.

Sorry to bother you with my obvious questions.
The problem not in reading speed in general Smile)) It's more than enough. Only on SD this is a problem, additional problem.
The stream of stereo PCM alternates channels every sector on CD. But DC AICA can't play manually this stream buffer, we need split to separate channels, and for it I writed code on ASM in ISO Loader, for using SH4 optimizations. At splitting we need temporary buffer, before send it to AICA memory for playing, and it uses DMA too, but it's another DMA, and it used with SD too.
For real CDDA uses I2C bus for transfer PCM stream from CD and it directly played by AICA from special input, it's not uses AICA channels and memory in general, sound mixed inside a chip and not uses any other resources. That is why it's difficult to emulate CDDA playback, since we have to use additional resources that were not affected in the original and the problem is not only in memory (RAM and SRAM) or DMA, but also in AICA channels too, the games uses all channels in a loop, such is the driver in SDK's...

Partially the problem can fix if we split channels on PC and make reading data from drive directly to sound memory. As I known GD DMA can transfer data to AICA memory from drive directly (by docs, not test it). But sound memory still will be used and AICA channels too...
I have asked all around me in my job where I can find an "IDE master" but there are programmers and they don't know how hardware works unfortunnately...

It's not a speed problem, I understood the Multi-word DMA sending many data at a time, thanks for correcting me :-)

"we have to use additional resources that were not affected in the original" What do you mean exactly by "original" please.

I'm happy to see, you have a little beginning of issue (little, but it exist ;-) ) for sending cdda data directly to the sound chip. the sound memory still will be used and AICA channels too but probably less than the actual system who's directly data in one frame if I understand well. The I2C uses an other (== spécial ?) input so probably it take a weight off of AICA.

If you add the PIO cdda like SD mod, you may see something new which can help. Be sure It's not a request this time ;-) just an idea. I understand you want to build a good issue directly. Perhaps you have already build it for having a try.

It's a great new you have found some documents. I guess it's very hard to find them.

I'm still continue to ask around me if I can find some help.

Thanks again for taking the time for explaining to me.
(25.11.2018 14:43)fafadou писал(а): [ -> ]"we have to use additional resources that were not affected in the original" What do you mean exactly by "original" please.

I mean original game code.
It just sends a command to the system calls - do playing me a track. And it does not at all expect that resources will be taken away from it Smile
I found a website which try to explain how AICA on dreamcast works and other thing :
https://www.ludd.ltu.se/~jlo/dc/
Here the aica document unfortunnately there are a lot of ???
https://www.ludd.ltu.se/~jlo/dc/aica.txt

You have probably it already but maybe it can help.

If the cdda is better with the new gcc, probably for finished the full compatibily it will be necessary and easier to focus on a new version of loader without cdda. If the size of loader is important, the result with no cdda games will be better and for me the no compatibles games have not cdda (fur fighter, msr, ooga booga etc...).
In a first time it may be a good idea to remove the cdda in the actual loader, it must be lighter and the result with no cdda games must run more better specially for some which have lag during FMV.
I guess it's easier to remove something than add it ^^
After it will deserve to us (the dreamshell fan) to do the good preset for each games
It's just a suggest, you have a better vision of things than me.
I research all internet stuff about DC hardware and have a lot of documentation and code.
This site very old, of course I see it. But thanks for your help anyway.
CDDA playback works great in general, but problem not in playback process.

About loader size - maybe I make special build for non CDDA games.
I noticed the sega boot screen (with MR image sometimes like for wince games) is not displayed with dreamshell.
May I guess it's during this screen the dreamcast read the loader from ip.bin and check the start lba in ip.bin and 1st_read.bin ?

the isoloader do the job of that, but we have to config it manually and it's not easy sometimes. May it help to boot games with this check screen than directly boot the game with a preset ?

Just a suggest.
This screen show the IP.BIN himself.
The sega logo presents inside IP.BIN and can't be changed (only small logo can insert), this check the BIOS.
This is just licence screen with some delay, nothing more.
I understand better.
Thanks again for taking time to answered me :-)
Good news, Metropolis Street Racer and Stupid Invaders now work
Страниц: 1 2 3
URL ссылки