(30.12.2022 10:23)kof888 писал(а): So I want to try to modify and optimize the assembly instructions to read how fast it can be read on DC's commercial games (most of the functions have been slightly modified)
Manual assembler doesn't help you increase speed a lot.
The main problem is the long reaction of the port pins in the software emulation of SPI itself, it takes CPU time and can't be better than hardware interfaces in general. Don't waste too much time on this. Just a little unroll loops, do not move pointers every byte, write to RAM at least 32 bit and that's all.
Modern versions of GCC are good at doing optimizations on their own, as they manage superscalar CPU well (arranging instructions in a certain way to execute them in parallel). Manually it's tricky and confusing,
I've tried this here. You can't do it much better, because you need to keep a table with instructions in your mind that can be executed by SH4 in parallel and arrange them in the right order. It is not enough just to write in assembly language to be effective.
(30.12.2022 10:23)kof888 писал(а): I would like to ask, for the iso loader using sd card, which system functions are replaced by the iso loader? Can you briefly write the process of the iso loader?
It's not easy and it has been developed over the years to get good results.
All functions here that name start from "gdc" is a BIOS system calls replacements for GD-ROM:
https://github.com/DC-SWAT/DreamShell/bl...lls.c?ts=4
(30.12.2022 10:23)kof888 писал(а): I want to test the reading speed of a certain dc commercial game, do you know of a more suitable game? (It is very intuitive to see whether it is stuck in the game, not CG)
I remember watching the speed comparison video of using sd card hdd and gdrom to read the game doa2, but I can’t seem to find it.
In my videos you can find SD and HDD tests for the same game:
https://www.youtube.com/@SWAT-DC/videos
But you will never reach the speed of even the drive, and even more so HDD.