DC-SWAT Forum
ISO Loader 0.6.x Beta - Версия для печати

+- DC-SWAT Forum (http://www.dc-swat.ru/forum)
+-- Форум: DreamShell (/forum-3.html)
+--- Форум: General Discussion (/forum-27.html)
+--- Тема: ISO Loader 0.6.x Beta (/thread-2646.html)

Страниц: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25


RE: ISO Loader 0.6.x Beta - fafadou - 26.11.2020 03:22

Each time i try to boot with ide loader 0.6.11_se i have the message "track03.iso failed".
Don't know what I have to do...

[Édit] thanks to @dragoncity everything is now good :-)

I confirm there is a sound shift around 5seconds during skies of Arcadia intro but no issue anymore.
Run well with other loaders until usual crash.


RE: ISO Loader 0.6.x Beta - SWAT - 27.11.2020 07:42

(25.11.2020 12:48)sundance2 писал(а):  
(25.11.2020 07:18)SWAT писал(а):  But note that full loaders (sd_cso.bin and sd_cso_alt.bin) are already using too much memory to be placed in the default address (0x8c004000). Only sd_cso_se.bin can be placed there.
For full loaders with cso you should use 0x8c000100 or high memory.

Is there a place where the reasoning behind memory address selection is explained ?
For example, is it generally better for the loader to start at a lower address, while it's generally better for the software being run that the loader be placed at a rather higher address ?

This part is nebulous to me, the ISO loader proposes a lot of addresses, but without explanation, I tend to blindly follows config lists like the dragoncity one,
yet I see other people/video suggesting different address, and after testing, many of them work, so it's really not satisfying to understand why select one rather than the other.

@swat post states that one parameter for this choice is the binary size of the loader, suggesting that the "right" address depends on the loader and its version. Maybe on other parameters? or even the image being loaded too.

As a data point, `sd_cso.bin` is 30.5 KB,
compared to previous betas of `sd.bin` :
v0.6.11 => 28.6 KB
v0.6.10 => 27.6 KB
v0.6.9 => 27.3 KB
v0.6.8 => 26.9 KB
So it seems to be slowly growing overtime (even without cso support).
And presumably, it could have an impact on address selection.

Loader memory usage:
params (1KB) + loader code (nKB) + buffer (32KB - params - loader). Max 32KB.

In best case, for buffer need 2KB (one sector). This buffer uses only for non-optimized images and little for CDDA (track name). So the loader should be less than 29KB.
In future this buffer I will made as *dynamic* too, but it's working not in all games yet.

Also loader uses additional memory (up to 32KB) for CDDA and/or CISO buffers.
For CDDA now supported dynamic, for CISO still not, it uses only hardcoded addresses.
And CDDA can use hardcoded addresses if dynamic disabled (not supported).
You can see here:
https://github.com/DC-SWAT/DreamShell/blob/master/firmware/isoldr/loader/cdda.c?ts=4#L220

Application (KATANA game) memory usage:
Params: 0x8c000000 - 0x8c000100 (also here vectors for syscalls)
Syscalls: 0x8c000100 - 0x8c004000
Stack: 0x8c004000 - 0x8c00f400 (in some cases at 0x8d000000)
VBR: 0x8c00f400 - 0x8c010000 (in some cases in heap)
App binary: 0x8c010000 - ???
Heap: ??? - 0x8d000000

So we can place loader (and buffers) in the heap (carefully with stack if it's at the end) or at 0x8c000100 - 0x8c004000 because loader can emulate all syscalls.
Best choice it's a 0x8c004000, we don't touch original syscalls (just change some vectors) and don't conflict with game, because stack here is usually does not grow much and VBR code block is 3KB, so we should have ~ 32KB for free.
But some games can write in this memory area some "loaders" or stack grow so much and do damage loader code. So we should move loader at high memory (heap) and hopes we are lucky Smile


RE: ISO Loader 0.6.x Beta - kof888 - 27.11.2020 10:15

So, at this time, what a wonderful thing we have dc with 32M of memory, 16M is free to useBig GrinBig GrinBig GrinBig Grin


RE: ISO Loader 0.6.x Beta - fafadou - 27.11.2020 12:10

Almost 1300 lines ! the program is quiet massive Smile


RE: ISO Loader 0.6.x Beta - SWAT - 27.11.2020 12:30

(27.11.2020 10:15)kof888 писал(а):  So, at this time, what a wonderful thing we have dc with 32M of memory, 16M is free to useBig GrinBig GrinBig GrinBig Grin

Yeah, can use big loaders with no problem Smile
Can enable write support for fs (for saving screenshots for example or VMU emulation), CDDA/CSIO buffers, data cache and etc.

(27.11.2020 12:10)fafadou писал(а):  Almost 1300 lines ! the program is quiet massive Smile

And this only for CDDA emulation Smile
The whole loader is much, much bigger. It has according ~150 files...
Not all are that big, but also there are bigger.


RE: ISO Loader 0.6.x Beta - fafadou - 27.11.2020 13:53

The code is well written too, I almost understand all of it, when I'm reading it Smile


RE: ISO Loader 0.6.x Beta - K470r - 27.11.2020 19:41

(26.11.2020 03:22)fafadou писал(а):  Each time i try to boot with ide loader 0.6.11_se i have the message "track03.iso failed".
Don't know what I have to do...

[Édit] thanks to @dragoncity everything is now good :-)

I confirm there is a sound shift around 5seconds during skies of Arcadia intro but no issue anymore.
Run well with other loaders until usual crash.


Hi, I have the same problem with resident evil code veronica. Can you tell me how did you make it work for you?


RE: ISO Loader 0.6.x Beta - fafadou - 28.11.2020 02:43

Use same DS folder than @dragoncity.
Else 0.6.11 dev.bin
Dma Sync 16 default memory.
Optimise your gdi.

You avoid tiger issue with this config.
@dragoncity you can update your list for recv and recvx.


RE: ISO Loader 0.6.x Beta - MetalliC - 28.11.2020 08:39

(27.11.2020 07:42)SWAT писал(а):  Application (KATANA game) memory usage:
Params: 0x8c000000 - 0x8c000100 (also here vectors for syscalls)
Syscalls: 0x8c000100 - 0x8c004000
Stack: 0x8c004000 - 0x8c00f400 (in some cases at 0x8d000000)
VBR: 0x8c00f400 - 0x8c010000 (in some cases in heap)
App binary: 0x8c010000 - ???
Heap: ??? - 0x8d000000
немножко не в тему, но есть ли где-то подобное но про биос ? т.е. задокументированное описание "блоков" всего биоса - какие куски зачем и чего делают итп. я сам на досуге разбирал немножко, но думаю вдруг уже есть доки и я занимаюсь изобретательством велосипедов.


RE: ISO Loader 0.6.x Beta - kof888 - 28.11.2020 14:46

(27.11.2020 12:30)SWAT писал(а):  
(27.11.2020 10:15)kof888 писал(а):  So, at this time, what a wonderful thing we have dc with 32M of memory, 16M is free to useBig GrinBig GrinBig GrinBig Grin

Yeah, can use big loaders with no problem Smile
Can enable write support for fs (for saving screenshots for example or VMU emulation), CDDA/CSIO buffers, data cache and etc.


This attention is great note.Big Grin

If a 32M version is to be released in the future, I would be happy to test itBig Grin


RE: ISO Loader 0.6.x Beta - pcwzrd13 - 28.11.2020 20:48

I found a bug with the music in Toy Commander and Toy Racer. Once a music track ends, it doesn't start again. Not a big deal for shorter levels and tracks but on longer ones you just have silence after the music ends.


RE: ISO Loader 0.6.x Beta - fabio14789 - 29.11.2020 03:27

will release a 32 MB version of RAM?


RE: ISO Loader 0.6.x Beta - SWAT - 29.11.2020 09:51

(28.11.2020 08:39)MetalliC писал(а):  немножко не в тему, но есть ли где-то подобное но про биос ? т.е. задокументированное описание "блоков" всего биоса - какие куски зачем и чего делают итп. я сам на досуге разбирал немножко, но думаю вдруг уже есть доки и я занимаюсь изобретательством велосипедов.

Не встречал подробного описания, его не существует скорее всего. Информация как бы есть по большей части, но она разрозненная очень, а что-то есть лишь в головах у людей и никогда не фиксировалось нигде Smile Так что собранная в едином месте информация о структуре биоса будет весьма полезной для всех.

(28.11.2020 14:46)kof888 писал(а):  This attention is great note.Big Grin

If a 32M version is to be released in the future, I would be happy to test itBig Grin

You can place any loader in this memory area right now, it's should works I guess.
The address used is patched on the fly, it can be anything. But it's not support this area for buffers etc.

(28.11.2020 20:48)pcwzrd13 писал(а):  I found a bug with the music in Toy Commander and Toy Racer. Once a music track ends, it doesn't start again. Not a big deal for shorter levels and tracks but on longer ones you just have silence after the music ends.

Thanks for report.


RE: ISO Loader 0.6.x Beta - megavolt85 - 29.11.2020 23:25

(28.11.2020 08:39)MetalliC писал(а):  немножко не в тему, но есть ли где-то подобное но про биос ? т.е. задокументированное описание "блоков" всего биоса - какие куски зачем и чего делают итп. я сам на досуге разбирал немножко, но думаю вдруг уже есть доки и я занимаюсь изобретательством велосипедов.

я только сисколы дизасмил
за основу был взят чей то не полный дизасм и дополнен, а местами и исправлен
большую часть биоса занимают текстуры шрифта и VMU иконок


RE: ISO Loader 0.6.x Beta - SWAT - 30.11.2020 07:13

(29.11.2020 23:25)megavolt85 писал(а):  
(28.11.2020 08:39)MetalliC писал(а):  немножко не в тему, но есть ли где-то подобное но про биос ? т.е. задокументированное описание "блоков" всего биоса - какие куски зачем и чего делают итп. я сам на досуге разбирал немножко, но думаю вдруг уже есть доки и я занимаюсь изобретательством велосипедов.

я только сисколы дизасмил
за основу был взят чей то не полный дизасм и дополнен, а местами и исправлен
большую часть биоса занимают текстуры шрифта и VMU иконок

Ну там еще текстуры для меню, которые я помню извлекал своим Universal PVR Extractor'ом, 3D модели вероятно и сама программа меню (а может и не одна?).
На сколько я знаю не все шрифты изучены (там вроде как даже русский есть), про VMU иконки я что-то видел недавно в KOS кажется, но на счет полноты этого ничего сказать не могу.
Мы с megavolt85 в общем-то только сисколы мучили у биоса, а что там дальше в целом хз. Какая-то информация явно есть в голове japanese-сake и еще кого нибудь. В общем я и говорю что разрозненная, в едином месте нету ничего подобного.
Если MetalliC сделает нормальную доку по структуре BIOS, станет проще делать кастомные версии Smile


RE: ISO Loader 0.6.x Beta - pcwzrd13 - 13.12.2020 08:27

@SWAT Any idea how you might be able to fix CDDA music that gets distorted / starts crackling after playing for a while? A lot of games seem to have this issue. KAO the Kangaroo might give you a clue on how to fix it. If you pause the game after the music starts to distort, it will fix it. Whatever happens when you pause the game, I wonder if you could do it in code?


RE: ISO Loader 0.6.x Beta - SWAT - 13.12.2020 14:34

(13.12.2020 08:27)pcwzrd13 писал(а):  @SWAT Any idea how you might be able to fix CDDA music that gets distorted / starts crackling after playing for a while? A lot of games seem to have this issue. KAO the Kangaroo might give you a clue on how to fix it. If you pause the game after the music starts to distort, it will fix it. Whatever happens when you pause the game, I wonder if you could do it in code?

It's simple to fix, but hard to detect.
It's easy to hear with your own ears, but in the code I can't do that Smile
I am aware of the problem but haven't found a solution yet.


RE: ISO Loader 0.6.x Beta - aldair - 13.12.2020 15:22

PSO R 18 compared to the official versions pso v1 and v2 has many differences, one of which is that the save R18 cannot be used in any of the versions of v1 and v2 and the save can only be used in a single Dreamcast.
R18 has automatic save, this does not exist on the original pso v1 and v2.
pso v1 and v2 in the ruins you always start in the same place and how much in the R18 it starts in different places.
On pso r18 intens that can only be obtained online on it you find offline.
As the R18 does not connect online, it may have an option vs. Cable Link.
Could Dreamshell run that game?
My gdemu had an error now on the pso:





RE: ISO Loader 0.6.x Beta - pcwzrd13 - 14.12.2020 04:55

(13.12.2020 14:34)SWAT писал(а):  It's simple to fix, but hard to detect.
It's easy to hear with your own ears, but in the code I can't do that Smile

I'm fairly certain the issue always occurs when one track ends and another one begins if that helps.


RE: ISO Loader 0.6.x Beta - SWAT - 14.12.2020 14:32

(14.12.2020 04:55)pcwzrd13 писал(а):  
(13.12.2020 14:34)SWAT писал(а):  It's simple to fix, but hard to detect.
It's easy to hear with your own ears, but in the code I can't do that Smile

I'm fairly certain the issue always occurs when one track ends and another one begins if that helps.

I'll try to fix this behavior.