I'm unable to found a doccumentation explaining how works bus conflicts on a CNROM (and UNROM) cartidge.
The data written to the mapper (into $8000-$ffff) shall be the same than the value stored at the same adress in the ROM, right ?
So for a fixed swapping value would be :
And the only way to do variable swapping is :
Is that all right ?
I also founded this information in MegaMan's rom tech doccument :
This would mean, for me, that the value written shall be the same than the least significant nybble, and may not be the same as the stored value in ROM.
Thanks in advance.
The data written to the mapper (into $8000-$ffff) shall be the same than the value stored at the same adress in the ROM, right ?
So for a fixed swapping value would be :
Code:
lda #$01
sta *-1 ;I'm swapping bank 1 and the target stored data is #$01 (the above instruction)
sta *-1 ;I'm swapping bank 1 and the target stored data is #$01 (the above instruction)
And the only way to do variable swapping is :
Code:
jsr GetSwapByte ;A=bank to swap
tax
sta SwapTable,X
rts
SwapTable:
db $0, $1, $2, $3 ;Data to swap is the same than the target's value stored here
tax
sta SwapTable,X
rts
SwapTable:
db $0, $1, $2, $3 ;Data to swap is the same than the target's value stored here
Is that all right ?
I also founded this information in MegaMan's rom tech doccument :
Quote:
There is one more thing to note about this mapper: although any address
in the $8000-$FFFF range can be used to access the mapper, most games
prefer to use the address with the last digit equal to the value they
write out. Thus, $07 can be written to $9FF7, $05 to $9FF5, and so forth.
The reason for this is unknown.
in the $8000-$FFFF range can be used to access the mapper, most games
prefer to use the address with the last digit equal to the value they
write out. Thus, $07 can be written to $9FF7, $05 to $9FF5, and so forth.
The reason for this is unknown.
This would mean, for me, that the value written shall be the same than the least significant nybble, and may not be the same as the stored value in ROM.
Thanks in advance.