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
Download from github.
Short changelog:
Core v4.0.0 RC 5 and Bootloader v2.5:
ISO Loader v0.8.0 Beta 34 (app, module and firmware):
Also some new modules like ftpd, fixes in other applications etc. TBD
More explains for iso loader features for testing:
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:
Memory usage for CDDA:
Maximal value for placing in low memory for each loader type:
- Default/Base loader - 0x8c004800
- Extended - 0x8c004000
- Full - 0x8c001100
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
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