Beatmania IIDX is a case where progressive mode display leads to a noticeable reduction of display lag on LCD TVs.
But since hdloader and hdtv player are incompatible to each other, I poked around a bit in the game binary to patch it to run in 480p.
Since the original ps2force480p failed to compile and the precompiled version crashed, I ended up writing a specific patch for IIDX Gold using asmodean's source and a bunch of information about the SetGsCrt syscall.
I looked up the correct file offset with ps2dis and applied this part of asmodean's tool:
This is, what happened:
printf(" - patching sceGsResetGraph() at 0x%X\n", p - buff);
unsigned long* opcodes = (unsigned long*) p;
opcodes = 0x24110000; // addiu s1, zero, $0000
opcodes = 0x24120050; // addiu s2, zero, $0050
opcodes = 0x24130001; // addiu s3, zero, $0001
/edit: Somebody else on ps2dev.org forums wrote to asmodean that he wrote a tool using hardware breakpoints to patch register values on the fly. I suppose that is exactly what hdtv player does...
/edit2: found a bug in my patcher code, trying again...