Running the gdi optimizer under Linux wasn't successful.
Fortunately, for such case, I may access a derelic Windows system and do there what I can't on Linux. Not my preference, but it seemed worth it.
Regarding the gdi optimizer :
the only thing I noticed is that it translated the *.bin files into *.iso files. And that's basically it.
I can see 2 benefits to this operation :
1) .iso files are smaller. The saving is > 10% for .bin files, so it's not negligible and welcomed.
I presume the savings come from the .iso files only storing content, while .bin likely store both content and error correction codes, which are indeed not necessary on an SDcard or flash.
2.a) because files are smaller, I would expect this translate into an equivalent bandwidth boost, due to no longer needing to transport the redundant checksum
2.b) there might be a cpu saving associated too. I'm not sure how it works exactly, but it's not clear if it's enough to just discard the checksum. Maybe it's actually required to run the error correction algorithm to regenerate data, in which case, the cpu is busy doing this work at each load. *.iso files save that load.
I applied the optimizer to Ikaruga, but it did not help make it run.
Then, I noticed that my copy of Star Wars Racer also uses *.bin files, and could benefit from the same optimization. At a minimum, it helps save > 100 MB.
But while in game, I noticed other small improvements too :
- The video where _almost_ good before, but there was easily some stuttering. Now, it's much smoother. It's not perfect, there are still stuttering here and there, especially during large movements, but it's perceptibly better, cutting the amount of stuttering by more than half.
- In game, there are a few loads here and there during the race. I would notice it because the game would drop a few frames when that happens (quite often, every few seconds). Now, it's no longer noticeable, the race remains completely smooth from start to finish.
This is a very nice improvement. It's true that, with limited bandwidth of the serial port, every little thing help, so this optimizer made a welcome job.
By the way, I noticed that my copy of Propeller Arena uses the *.cdi format.
It works, but similarly, would it benefit from getting "optimized" into a different format, such as .gdi ?
As for Ikaruga, well, it's disappointing, but indeed, this trick is not enough.
I don't think that the issue is performance oriented.
There must be something else, more important, that prevent the game from running at all.
I noticed that the game is mentioned as "supporting DMA", which I read as letting the HDD load data into memory without passing through the cpu, which is helpful I suppose. But I also suppose this is not possible when using the serial port. Now, there is a difference between being helpful, and being compulsory. I wonder if it could have a role in this outcome.
Anyway, any kind of documentation about the different configuration options available on DreamShell / RetroDream would be helpful. I haven't found any so far, and this part of the system remains mysterious.