Minor update, made it possible to read the U2 bad block table easier.
This is just parsing the table at page 0. At least on my mushi board, the bad blocks seem to just contain 0x00.
$ sudo python3 K9F1G08U0M_JTAG.py bad_blocks
Reading page 0
Found bad blocks: [328, 607]...