I found some supplementary material from the magazine where I got this Japanimo board. They have an instructional pdf, where they basically say it is an Arduino Pro Mini (3.3V,8MHz)w/ATmega168.
Thus, looking at your code, I tried to flash with these settings:
{ { 0x1E, 0x94, 0x06 }, "ATmega168V", 16 * kb, 256,
ATmegaBOOT_168_atmega328_pro_8MHz_hex, // loader image
0x3E00, // start address
sizeof ATmegaBOOT_168_atmega328_pro_8MHz_hex,
128, // page size (for committing)
0xC6, // fuse low byte: external full-swing crystal
0xDD, // fuse high byte: SPI enable, brown-out detection at 2.7V
0x04, // fuse extended byte: boot into bootloader, 512 byte bootloader
0x2F }, // lock bits: SPM is not allowed to write to the Boot Loader section.
The low byte and high byte are copied from the boards.txt appropriate for that Arduino Pro Mini. The extended byte and lock bits are from the ATmega168PA settings of your code. The start address is also copied, I have no idea where I could get the correct value.
The flashing works, verifies. Noticed that after flashing, the reported Extended Byte and Lock Bits are not the same in the detection code as set here. Is that normal behaviour?
After flashing, still nothing happens. Meaning, connecting the board to the PC the USB shows up, but no communication, not able to flash a new sketch. The loopback test works just fine.
Any other pointers what else to try?