More Bootleg Games

Discussion of hardware and software development for Super NES and Super Famicom. See the SNESdev wiki for more information.

Moderator: Moderators

Forum rules
  • For making cartridges of your Super NES games, see Reproduction.
Revenant
Posts: 462
Joined: Sat Apr 25, 2015 1:47 pm
Location: FL

Re: More Bootleg Games

Post by Revenant »

If it means anything, I don't recall the game ever using the bitswap logic and the address muxing at the same time (the latter is only active very briefly). I'd have to double check when I'm not at work, though.
nocash
Posts: 1405
Joined: Fri Feb 24, 2012 12:09 pm
Contact:

Re: More Bootleg Games

Post by nocash »

King of Fighters '98 is writing values 28,02,C1,18,... to the bitswap port. So there seem to be a separate latches for bitswap and bankswitch (with a single latch, bit7=1 (or bit1=1) would probably mistrigger the bankswitch effect during bitswap writes, and crash the game).

For the bitswap games, I thought that I had already documented & emulated them properly years ago, but just noticed that four games didn't really work in no$sns:
Pokemon Stadium is using bank 90/98 (which need to be mirrored to bank 80/88) (that's probably just normal bitswap hardware, other bitswap games just don't rely on those mirrors).
Street Fighter EX Plus Alpha uses the tekken2-style alu/flipflop protection (rather than bitswap).
A Bug's Life and Bananas de Pijamas are using a yet unknow "port 6xxx" protection (rather than bitswap).

For the "Port 6xxx" protection, the code is at 81:FF00 (bananas) and 00:CAC0 (bugslife). And it works (somehow) as so:

Code: Select all

  xx:60xx  Single Write Port    ;-maybe reset's something
  xx:62xx  Looped Write Port 1  ;\
  xx:64xx  Looped Write Port 2  ; maybe sums up written values somehow
  xx:66xx  Looped Write Port 3  ;
  xx:68xx  Looped Write Port 4  ;/
  xx:61xx  Read Port 1          ;\
  xx:63xx  Read Port 2          ; maybe results from above write(s)
  xx:65xx  Read Port 3          ; (only lower 4bit used)
  xx:67xx  Read Port 4          ;/
  xx:6Fxx  Read Port Extra      ;-extra (used by A Bug's Life only)
Note: A Bug's Life has originally used "bitswap" protection (the bitswap write/read/compare's are still there, but the conditional jumps are patched to ignore the result, and another patch was used to add the new "port 6xxx" protection). Amusingly, d4s has cracked both the port6xxx and bitswap protections in bug's life (although the bitswap was already cracked/patched in the dump from the retail cart).
Revenant
Posts: 462
Joined: Sat Apr 25, 2015 1:47 pm
Location: FL

Re: More Bootleg Games

Post by Revenant »

http://imgur.com/a/nZ02m

CLE bought one of the single-board Campeonato Brasileiro 2 carts and sent me some better PCB photos.
Post Reply