cafe-alpha
Established Member
I'm currently making a custom cartridge with a CPLD connected in a similar way as FT245RL in USB dev cart (= D0-D7 lines + few address lines + RD/WR0 connected to CPLD).
I implemented a (very) simple register I/O module in the CPLD, and the first 2 bytes of the register map return respectively 0x55 and 0xAA when read.
As only D0-D7 are connected, data on even address should return 0xFF. Hence, expected read contents is "FF 55 FF AA", but on some Saturns (*1), I get "55 55 AA AA" when read.
(*1) It works correctly on some test Saturn, but fail on other ... depends on Saturn/BIOS revision ?!?
Does somebody (Antime ?) have an idea about the origin of this problem ?
And is there a countermeasure (A-bus related setting) to get it working correctly everywhere ?
I implemented a (very) simple register I/O module in the CPLD, and the first 2 bytes of the register map return respectively 0x55 and 0xAA when read.
As only D0-D7 are connected, data on even address should return 0xFF. Hence, expected read contents is "FF 55 FF AA", but on some Saturns (*1), I get "55 55 AA AA" when read.
(*1) It works correctly on some test Saturn, but fail on other ... depends on Saturn/BIOS revision ?!?
Does somebody (Antime ?) have an idea about the origin of this problem ?
And is there a countermeasure (A-bus related setting) to get it working correctly everywhere ?