NES 2.0 Mapper 328: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(more information about this oddball)
(→‎Random number generator or Protection ($CE80-$CEFF, $FE80-$FEFF, read): it's copy protection, we don't need to muse on that. also i disassembled the relevant program.)
 
(One intermediate revision by the same user not shown)
Line 2: Line 2:


==Random number generator or Protection ($CE80-$CEFF, $FE80-$FEFF, read)==
==Random number generator or Protection ($CE80-$CEFF, $FE80-$FEFF, read)==
  Mask: unknown. If what CaH4e3 wrote (quoted below) is accurate, $FFFF.
  Mask: unknown. If what CaH4e3 wrote (quoted below) is accurate, $BFFF.
   
   
  D~7654 3210
  D~7654 3210
Line 9: Line 9:
         ++-+- Random bits
         ++-+- Random bits


It's not known whether the RRR bits are meant to be an actual random number or a protection that can be fooled by returning random numbers.
CaH4e3 wrote that the "PRG EPROM has copy protected areas with "weak bits", which is tested at some points of the program. [The random numbers are t]rying to simulate "weak bits" behaviour"


CaH4e3 wrote that the "PRG EPROM has copy protected areas with "weak bits", which is tested at some points of the program. [The random numbers are t]rying to simulate "weak bits" behaviour"
The relevant program calculates a 16-bit checksum of the memory in each of these regions and loops until the checksum ''changes''.

Latest revision as of 19:44, 27 September 2018

NES 2.0 mapper 328 is used for the Test Ver. 1.01 Dlya Proverki TV Pristavok test cartridge. Its UNIF board name is UNL-RT-01. There is only 16K of PRG and 2K of CHR and mirroring is hard-wired.

Random number generator or Protection ($CE80-$CEFF, $FE80-$FEFF, read)

Mask: unknown. If what CaH4e3 wrote (quoted below) is accurate, $BFFF.

D~7654 3210
  ---------
  1111 RR1R
       ++-+- Random bits

CaH4e3 wrote that the "PRG EPROM has copy protected areas with "weak bits", which is tested at some points of the program. [The random numbers are t]rying to simulate "weak bits" behaviour"

The relevant program calculates a 16-bit checksum of the memory in each of these regions and loops until the checksum changes.