DC-SWAT Forum
ISO Loader 0.8.x Beta + preview of DreamShell v4.0 RC 5 - Версия для печати

+- DC-SWAT Forum (http://www.dc-swat.ru/forum)
+-- Форум: DreamShell (/forum-3.html)
+--- Форум: General Discussion (/forum-27.html)
+--- Тема: ISO Loader 0.8.x Beta + preview of DreamShell v4.0 RC 5 (/thread-3986.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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46


ISO Loader 0.8.x Beta + preview of DreamShell v4.0 RC 5 - SWAT - 01.12.2022 13:47

I hope to help me with testing. I made a full test build of the project, which is close to release.

The new iso loader requires new modules and applications, but they in turn are already adapted for DreamShell 4.0 RC 5, so you need a whole new DreamShell build for testing. Firmware of iso loader will work with previous app versions, but the new options will not be available.
Version 0.8.0 Beta is a logical continuation of test builds versions 0.6.x, but now the loader interface has changed a bit, so the version has been changed to 0.8.x and new options have been added to the app and module.

In this thread, I will gradually add information about the new release compared to version 0.6.0 (from release v4.0 RC 4), since the versions above were the beginning of 0.8.x in essence, but since they had the old interface, I kept them in version 0.6.x. Now the transition to the new interface has been made, so you can use the iso loader fully and I changed the minor version. But since 0.7.x is already occupied by the low-level version, I've upgraded it to 0.8.x. If you don't understand, it doesn't matter just enjoy Smile

Download from github.

Short changelog:

Core v4.0.0 RC 5 and Bootloader v2.5:
  • Updated to latest KallistiOS.
  • Build on GCC 13.2 and Newlib 4.3.0.
  • Support for 32Mb RAM DC's.
  • Improved FATFS.
  • Network support.
  • Fixed and improved GUI.
  • Fixed and improved Settings.
  • Fixed random crashes.
  • A lot of code optimizations.
  • A lot of building improvements.

ISO Loader v0.8.0 Beta 34 (app, module and firmware):
  • Build on GCC 13.2 and Newlib 4.3.0.
  • New completely rewritten GDC syscalls. Emulates much better.
  • New completely rewritten G1 IDE driver that support ATA/ATAPI devices: HDD, CF Card, GD/CD/DVD-ROM and some converters. The core works on KOS driver yet.
  • IRQ hooking. It reduce CDDA buffer 32KB->16KB, improve loading speed on fragmented images, support for CDDA in homebrew and WinCE.
  • Dynamic memory (heap). You can select (or use auto) memory for buffers like CDDA/CSO/FS etc. Also support for memory allocation by KATANA malloc in game memory and maple DMA buffer memory.
  • Automatic continuous reading of sectors on defragmented parts of images (improve speed and compatibility). The fewer parts of image file has, the better, but it's not required. Also enabling IRQ contributes to less worries about fragments.
  • Improved CDDA emulation. More games are supported, fixes for looping and more flexible params for better compatibility.
  • Support for 32Mb RAM DC's.
  • Default address now is 0x8c000100. If use CDDA with IRQ hooking, the heap memory placed behind the loader in low memory and don't use high memory for buffers anymore.
  • Added VMU emulation feature. Make dump of your VMU or create new in game directory.
  • Added screenshot feature. Enable it and press at any time Start + A + B to make screenshot.
  • Low-level emulation mode (only IDE with defragmented images).
  • Splitted to default/extended/full versions of loader.
  • Support for IGR

Also some new modules like ftpd, fixes in other applications etc. TBD

More explains for iso loader features for testing:
  • SQ - uses Store Queues from SH4 instead of AICA DMA for transferring PCM samples from main RAM to SPU RAM. If game sound crashes after enabling CDDA, it may help. Sydney 2000 and Unreal Tournament as example.
  • TMU - is cpu timer. Some games used TMU2 like Quake 3 Arena, so you need select another timer TMU1.
  • IRQ - is ability for hardware interrupt handling. This opens up more opportunities for developing new features and improvements. And they already are.
  • Heap - is all dynamic memory that used loader firmware. The loader code uses up to 30KB in normal build + 1KB params + N KB for heap. If you don't use CDDA or CSO, the heap is a little, 1-2KB. If you use CDDA without IRQ, the heap grown by 32KB or 16KB if IRQ enabled. If you use CSO the heap is grown by 16KB more.

Version 0.8.0 has included low-level syscalls emulation from version 0.7.x and it can be used just in one checkbox - "low-level".

Each loader has three types of build, default, extended and full:
  • If not used IRQ and CDDA, uses default loader (like SE version, but with CSO support).
  • If used IRQ or CDDA then used extended loader (without CSO support, only IRQ and CDDA).
  • If used "low level" or VMU emulation or screenshot feature then used a full loader. This loader support all features.

Memory usage for CDDA:
  • No IRQ and AICA DMA: 32KB CPU RAM and 32KB SPU RAM.
  • No IRQ and SQ: 16KB CPU RAM and 32KB SPU RAM.
  • IRQ and AICA DMA: 16KB CPU RAM and 16KB SPU RAM.
  • IRQ and SQ: 8KB CPU RAM and 16KB SPU RAM.

Maximal value for placing in low memory for each loader type:
- Default/Base loader - 0x8c004800
- Extended - 0x8c004000
- Full - 0x8c001100




RE: ISO Loader 0.8.x Beta + preview of DreamShell v4.0 RC 5 - dragoncity - 01.12.2022 13:51

Great ! Thank you Swat ! I hope test soon.


RE: ISO Loader 0.8.x Beta + preview of DreamShell v4.0 RC 5 - fafadou - 01.12.2022 16:18

@Swat thank you very much for your work and your skill.

Now it's our turn for working !


Do you have any suggest to download the new DS file ? In github, you can only download a file at a time... [edit] my bad, thanks for the download link time to test !!


RE: ISO Loader 0.8.x Beta + preview of DreamShell v4.0 RC 5 - EduardoKmus - 01.12.2022 19:31

wow!!! Thank you very much SWAT, time to test.


RE: ISO Loader 0.8.x Beta + preview of DreamShell v4.0 RC 5 - pcwzrd13 - 01.12.2022 20:36

Tested Monaco Grand Prix On-Line (should be the same as the regular Monaco Grand Prix). Good news is that the music works now. Bad news is that the game freezes when a song ends. I used Boot address 0x8cfe8000, auto Heap, CDDA w/ DMA and TMU2, and IRQ enabled. I tried other settings but no better results. Other CDDA options made the game stutter.


RE: ISO Loader 0.8.x Beta + preview of DreamShell v4.0 RC 5 - dragoncity - 01.12.2022 22:15

@SWAT
For Sydney 2000 you choose an manual memory in "HEAP".
I tested in Auto and same memory of you, same result it work.

If you can explain IRQ, SQ, HEAP etc... for know how use with game, thanks Smile


RE: ISO Loader 0.8.x Beta + preview of DreamShell v4.0 RC 5 - SWAT - 02.12.2022 05:58

(01.12.2022 20:36)pcwzrd13 писал(а):  Tested Monaco Grand Prix On-Line (should be the same as the regular Monaco Grand Prix). Good news is that the music works now. Bad news is that the game freezes when a song ends. I used Boot address 0x8cfe8000, auto Heap, CDDA w/ DMA and TMU2, and IRQ enabled. I tried other settings but no better results. Other CDDA options made the game stutter.

Good point. I think I've already seen this in another game, at ending the music the game freezes. Is this problem ever-present?

(01.12.2022 22:15)dragoncity писал(а):  @SWAT
For Sydney 2000 you choose an manual memory in "HEAP".
I tested in Auto and same memory of you, same result it work.

Just because improved auto select since this video.

(01.12.2022 22:15)dragoncity писал(а):  If you can explain IRQ, SQ, HEAP etc... for know how use with game, thanks Smile

I tried to explain a little in the first post. But apparently this is not enough.
  • SQ - uses Store Queues from SH4 instead of AICA DMA for transferring PCM samples from main RAM to SPU RAM. If game sound crashes after enabling CDDA, it may help. Sydney 2000 and Unreal Tournament as example.
  • TMU - is cpu timer. Some games used TMU2 like Quake 3 Arena, so you need select another timer TMU1.
  • IRQ - is ability for hardware interrupt handling. This opens up more opportunities for developing new features and improvements. And they already are.
  • Heap - is all dynamic memory that used loader firmware. The loader code uses up to 30KB in normal build + 1KB params + N KB for heap. If you don't use CDDA or CSO, the heap is a little, 1-2KB. If you use CDDA without IRQ, the heap grown by 32KB or 16KB if IRQ enabled. If you use CSO the heap is grown by 16KB more.



RE: ISO Loader 0.8.x Beta + preview of DreamShell v4.0 RC 5 - dragoncity - 02.12.2022 12:00

Thank you for your explanations indeed it is clearer to know how to use them. I've tested several games but so far not succeeded, so maybe memory plays a role there too or just not compatible yet.

Games tested :
- Bangai-o
- Coaster Works
- Deadly Skies
- Revolt
- Virtua Cop 2

If you have Idea for test these games I will test.


RE: ISO Loader 0.8.x Beta + preview of DreamShell v4.0 RC 5 - SWAT - 02.12.2022 12:10

(02.12.2022 12:00)dragoncity писал(а):  Thank you for your explanations indeed it is clearer to know how to use them. I've tested several games but so far not succeeded, so maybe memory plays a role there too or just not compatible yet.

Games tested :
- Bangai-o
- Coaster Works
- Deadly Skies
- Revolt
- Virtua Cop 2

If you have Idea for test these games I will test.

Bangai-o, Revolt and Coaster Works boots for me with DMA, IRQ and 0x8c000100.
Bangai-o - doesn't support VGA and I can't test more.
Re-volt - race still not start.
Coaster Works - works with CDDA but sound not good. The game is constantly trying to stop this sound, and the loader fights with it.
Something wrong Huh I tried again and result not changed. Are your files heavily fragmented?

Virtua Cop 2 is WinCE.


RE: ISO Loader 0.8.x Beta + preview of DreamShell v4.0 RC 5 - dragoncity - 02.12.2022 12:20

Bangai-o > Sound crash

Coaster Works > Stop music after few seconds

Re-volt > race not start, yes this is the problem.

Virtua Cop 2 is WinCE > Ok so all WinCE not compatible for the moment ?
or maybe like first post I can use IRQ ?
IRQ hooking. It reduce CDDA buffer 32KB->16KB, improve loading speed on fragmented images, potential support for CDDA in homebrew and WinCE.


RE: ISO Loader 0.8.x Beta + preview of DreamShell v4.0 RC 5 - dragoncity - 02.12.2022 14:30

I think for Kao the kangaroo work now with this config :
0x8cfe8000 + CDDA + SYNC 16 + SQ & TMU2 + Loader 13 > isoldr_v0.6.10_beta_dyn_dt1

Level 1 without problem Smile


RE: ISO Loader 0.8.x Beta + preview of DreamShell v4.0 RC 5 - SWAT - 02.12.2022 16:44

(02.12.2022 12:20)dragoncity писал(а):  Bangai-o > Sound crash

Coaster Works > Stop music after few seconds

Re-volt > race not start, yes this is the problem.

Ahh ok, I thought they didn't work at all.

(02.12.2022 12:20)dragoncity писал(а):  Virtua Cop 2 is WinCE > Ok so all WinCE not compatible for the moment ?
or maybe like first post I can use IRQ ?

All WinCE.

(02.12.2022 14:30)dragoncity писал(а):  I think for Kao the kangaroo work now with this config :
0x8cfe8000 + CDDA + SYNC 16 + SQ & TMU2 + Loader 13 > isoldr_v0.6.10_beta_dyn_dt1

Level 1 without problem Smile

This loader has hardcoded values for DMA_TMU1 and can't be changed in app. It's builded for old app.
"dt1" - is CDDA mode DMA TMU1
So you can try this param in 0.8.0 Beta.


RE: ISO Loader 0.8.x Beta + preview of DreamShell v4.0 RC 5 - fafadou - 03.12.2022 01:15

I'll tried tmu2 irq :
Looney Tunes Space race -> black screen
Shadow gangs -> black screen
Zia -> black screen after langage selection
Puyo puyo 4 -> music crash after a moment like kao

Guilty gear :
Tmu 1 and 2 and irq or not
It's a very little better but better, the music crash but we' ré able to listen an other music in background.

Need more tests Smile

Could you tell me if the dreamshell boot cd rc5 is the same liké rec4 ?


RE: ISO Loader 0.8.x Beta + preview of DreamShell v4.0 RC 5 - SWAT - 03.12.2022 08:26

(03.12.2022 01:15)fafadou писал(а):  Looney Tunes Space race -> black screen

The main problem of this game is memory. It's working only from 0x8c004800 (because clear all high memory and write to 0x8c004000 one sector), but need a "lite version" of loader without CDDA/IRQ/CSO to put it there. So this game is doomed to be without CDDA for now.
It may will possible to somehow reduce the loader while maintaining at least CDDA, but so far there is no such possibility.
Other games need research. Can you give me links for not working games?

(03.12.2022 01:15)fafadou писал(а):  Could you tell me if the dreamshell boot cd rc5 is the same liké rec4 ?

You can use any bootloader if you device works fine. But v2.5 faster a bit.


RE: ISO Loader 0.8.x Beta + preview of DreamShell v4.0 RC 5 - fafadou - 05.12.2022 03:28

Ok i could do some New tests ;
Panzer front :
Seems to be good for me with :
0x8c000100 true dma cdda dma and tmu2 without irq
In fact not sure it's good or same issue than coaster work...
The cdda track moved when we change the tank but ingame it's still the same cdda than tank selection.

Shenmue 1 & 2
The console reboot

Sturmwind : a very little better, we have the good screen during one second before the read error screen.

Puyo puyo 4 :
Best config dma tmu1 cdda noises a very little not exactly at the same moment. Depend of irq or not selected.
The game crash at the end of cdda track with irq or not in cdda sq dmu1 mode.

You have improved data tranfert because the intro crash with 0.6.11 true dma and now it's good Smile
Don't know if it Can be better with not fragmented data than 0.7.x ?

Some issues but not a bid deal in menu :
Disc start to rotate when i run a game since loader 0.6.8...
Cdda disabled is checked when we did a cdda config and "save as preset"


RE: ISO Loader 0.8.x Beta + preview of DreamShell v4.0 RC 5 - SWAT - 05.12.2022 08:06

(05.12.2022 03:28)fafadou писал(а):  Shenmue 1 & 2
The console reboot

Both work for me with DMA and IRQ perfectly from 0x8cfe8000 Huh
Something wrong. Images is fragmented? I'm just worried that my continuous reading of sectors might be a messing up.

(05.12.2022 03:28)fafadou писал(а):  Some issues but not a bid deal in menu :
Disc start to rotate when i run a game since loader 0.6.8...
Cdda disabled is checked when we did a cdda config and "save as preset"

New IDE driver since v0.6.4.
It's detect both devices (master/slave), I should stop ATAPI device after detecting. Good point, thanks for all.


RE: ISO Loader 0.8.x Beta + preview of DreamShell v4.0 RC 5 - fafadou - 05.12.2022 14:03

(05.12.2022 08:06)SWAT писал(а):  [quote='fafadou' pid='42475' dateline='1670196513']
Shenmue 1 & 2
The console reboot

(05.12.2022 08:06)SWAT писал(а):  Both work for me with DMA and IRQ perfectly from 0x8cfe8000 Huh
Something wrong. Images is fragmented? I'm just worried that my continuous reading of sectors might be a messing up.
[/
quote]

I try to have the cdda during am2 and yu suzuki logos. Else they run like a charm.
I load from 0x8cfe0000 and 0x8cfe8000 IRQ DMA TMU2 and the console reboot.
I use defraggler in order to defragmented my games.
But my beloved dreamshell system is not the best one, it's why it's important to be many.

(05.12.2022 03:28)fafadou писал(а):  Some issues but not a bid deal in menu :
Disc start to rotate when i run a game since loader 0.6.8...
Cdda disabled is checked when we did a cdda config and "save as preset"

(05.12.2022 08:06)SWAT писал(а):  New IDE driver since v0.6.4.
It's detect both devices (master/slave), I should stop ATAPI device after detecting. Good point, thanks for all.

Happy that I could help you a little Smile

Do you have any suggest for games to be try among of those remaining ?

If you want panzer front, puyo puyo 4 in english and others games translated :
https://www.dreamcast-talk.com/forum/viewtopic.php?f=22&t=13803

I try again very quickly this morning before leaving to job sturmwind with IP.BIN load 0x80000100 (first memory preset) TRUE DMA IRQ CDDA DMA/TMU2 and no read error screen ! But Black screen when the video start but the music continue, you are probably very close dear @Swat. Many congrats Big Grin


RE: ISO Loader 0.8.x Beta + preview of DreamShell v4.0 RC 5 - SWAT - 05.12.2022 15:35

(05.12.2022 14:03)fafadou писал(а):  I try to have the cdda during am2 and yu suzuki logos. Else they run like a charm.
I load from 0x8cfe0000 and 0x8cfe8000 IRQ DMA TMU2 and the console reboot.
I use defraggler in order to defragmented my games.
But my beloved dreamshell system is not the best one, it's why it's important to be many.

Got it. Try heap mode - "Behind the loader".
But it's not have CDDA improvements, sound still broken.
Not big deal I guess, one track at startup. More pressing issues need to be addressed first.

(05.12.2022 14:03)fafadou писал(а):  Do you have any suggest for games to be try among of those remaining ?

I need everything in any order Smile


RE: ISO Loader 0.8.x Beta + preview of DreamShell v4.0 RC 5 - MastaG - 06.12.2022 13:12

I'm testing RC5.
My Dreamcast has both GD-ROM drive and CF-card slot using the DragonCity17 PCB: https://dragoncity17.wordpress.com/2018/03/17/sega-dreamcast-gd-ide/
And IDE2CF reader.

My CF card is fully defragged.

Sonic Adventure 2 works perfectly fine.

But Shenmue 1 doesn't want to boot.
It's GDI optimized:
Shenmue.gdi
track01.iso
track02.raw
track03.iso
track04.raw
track05.raw
track06.iso

Settings:
[Изображение: 2022-12-06-09-59-19-135.jpg]
It seems to hang here:
[Изображение: 2022-12-06-10-00-06-031.jpg]

EDIT:
The above screenshot was with IP.BIN boot method.
But it hangs on both DIRECT and IP.BIN methods.


RE: ISO Loader 0.8.x Beta + preview of DreamShell v4.0 RC 5 - SWAT - 06.12.2022 15:57

(06.12.2022 13:12)MastaG писал(а):  But Shenmue 1 doesn't want to boot.

Try heap mode - "Behind the loader".