It is currently Sun Oct 21, 2018 9:18 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 5 posts ] 
Author Message
PostPosted: Tue Jul 31, 2018 10:39 am 
Offline

Joined: Sun Jun 12, 2011 12:06 pm
Posts: 398
Location: Poland
I found interesting multicart 250-in-1. It is quite similar to known Contra 168-in-1/100-in 1 (Mapper 015):
* consists of UNROM/NROM-256/NROM-128 games,
* some of games were hacked so that it is possible to change starting level or number lifes,
* after restart, menu shows the position at which last game was selected (probabl it is stored on $1ff and every game
was hacked so that its stack is pointing at $1fe),
* mapper is REALLY similar to mapper 15 but it reacts only to writes on $f000-ffff:

Code:
A~[1111 .... .... wMMM] D~[amPPPbcd]   Main register: $f000-$ffff (cleared on powerup & reset)
                  ||||     ||||||||
                  ||||     +||||+++---- inner PRG bank (real configuration depends on mode)
                  ||||      |+++------- outer PRG bank (PRG_A19..17)
                  ||||      +---------- mirroring (0=V, 1=H)
                  |+++----------------- mode
                  +-------------------- CHR-RAM write protection (1=enabled)

A2 A1 A0 D7 D2 D1 D0 | $6000-$7fff | $8000-$9fff | $a000-$bfff | $c000-$dfff | $e000-$ffff | comment
 *  0  0  *  b  c  * |   open bus  |   PPPbc00   |   PPPbc01   |   PPPbc10   |   PPPbc11   | NROM-256
 0  0  1  *  b  c  d |   open bus  |   PPPbcd0   |   PPPbcd1   |   PPP1110   |   PPP1111   | UNROM
 *  1  0  a  b  c  d |   open bus  |   PPPbcda   |   PPPbcda   |   PPPbcda   |   PPPbcda   | 8kB (accessing CHR data)
 *  1  1  *  b  c  d |   open bus  |   PPPbcd0   |   PPPbcd1   |   PPPbcd0   |   PPPbcd1   | NROM-128
 1  0  1  *  *  *  * |   PPPbcda   |   PPP1100   |   PPP1101   |   PPP1110   |   PPP1111   | $6000 + last 32 kB


Pal equations:
Code:
nREGWR   = (!CPU_A14) | (!CPU_A13) | (!CPU_A12) | (CPU_nROMSEL) | (CPU_RnW);

PRG_nCE  = (CPU_nROMSEL & !REG_A2) |
           (CPU_nROMSEL & !REG_A0) |
           (!CPU_A14 & CPU_nROMSEL) |
           (!CPU_A13 & CPU_nROMSEL) |
           (CPU_nROMSEL & REG_A1) |
           (!CPU_RnW);

PRG_A13 = (CPU_A13 & !CPU_nROMSEL & !REG_A1) |
          (CPU_A13 & !REG_A1 & !REG_A2) |
          (REG_D7 & !REG_A0 & REG_A1) |
          (CPU_nROMSEL & REG_D7 & REG_A0 & !REG_A1 & REG_A2) |
          (CPU_A13 & REG_A0 & REG_A1) |
          (CPU_A13 & !REG_A0 & !REG_A1);

PRG_A14 = (CPU_A14 & !REG_A0 & !REG_A1) |
          (CPU_A14 & !CPU_nROMSEL & !REG_A1) |
          (CPU_A14 & !REG_A1 & !REG_A2) |
          (REG_D0 & REG_A1) |
          (CPU_nROMSEL & REG_D0 & REG_A0) |
          (REG_D0 & REG_A0 & !REG_A2);

PRG_A15 = (CPU_A14 & REG_A0 & !REG_A1 & !REG_A2) |
          (!CPU_nROMSEL & REG_A0 & !REG_A1 & REG_A2) |
          (REG_D1);

PRG_A16 = (CPU_A14 & REG_A0 & !REG_A1 & !REG_A2) |
          (!CPU_nROMSEL & REG_A0 & !REG_A1 & REG_A2) |
          (REG_D2);


Image Image Image Image Image


Attachments:
rom.BIN [512 KiB]
Downloaded 70 times


Last edited by krzysiobal on Tue Jul 31, 2018 2:46 pm, edited 1 time in total.
Top
 Profile  
 
PostPosted: Tue Jul 31, 2018 1:10 pm 
Offline

Joined: Thu May 19, 2005 11:30 am
Posts: 672
Quote:
Code:
A2 A1 A0 D7 D2 D1 D0 | $8000-$9fff | $a000-$bfff | $c000-$dfff | $e000-$ffff | comment
 1  0  1  *  *  *  * |   PPP1100   |   PPP1101   |   PPP1110   |   PPP1111   | last 32 kB
Also in Mode 5: CPU $6000-$7FFF: PPPbcda, otherwise Bubble Bobble ("Air Forth") fails.

I have implemented it as Mapper #354.


Top
 Profile  
 
PostPosted: Tue Jul 31, 2018 2:47 pm 
Offline

Joined: Sun Jun 12, 2011 12:06 pm
Posts: 398
Location: Poland
NewRisingSun wrote:
Quote:
Code:
A2 A1 A0 D7 D2 D1 D0 | $8000-$9fff | $a000-$bfff | $c000-$dfff | $e000-$ffff | comment
 1  0  1  *  *  *  * |   PPP1100   |   PPP1101   |   PPP1110   |   PPP1111   | last 32 kB
Also in Mode 5: CPU $6000-$7FFF: PPPbcda, otherwise Bubble Bobble ("Air Forth") fails.

I have implemented it as Mapper #354.


Thank you, I corrected description. I was wondering why the equation for PRG_nCE is so complicated but it indeed enables the memory at $6000-$7fff when mode is 5


Top
 Profile  
 
PostPosted: Tue Jul 31, 2018 3:19 pm 
Offline

Joined: Mon Dec 12, 2011 8:15 pm
Posts: 427
krzysiobal wrote:
I found interesting multicart 250-in-1. It is quite similar to known Contra 168-in-1/100-in 1 (Mapper 015):
* consists of UNROM/NROM-256/NROM-128 games,
* some of games were hacked so that it is possible to change starting level or number lifes,
* after restart, menu shows the position at which last game was selected (probabl it is stored on $1ff and every game
was hacked so that its stack is pointing at $1fe),
* mapper is REALLY similar to mapper 15 but it reacts only to writes on $f000-ffff:

Code:
A~[1111 .... .... wMMM] D~[amPPPbcd]   Main register: $f000-$ffff (cleared on powerup & reset)
                  ||||     ||||||||
                  ||||     +||||+++---- inner PRG bank (real configuration depends on mode)
                  ||||      |+++------- outer PRG bank (PRG_A19..17)
                  ||||      +---------- mirroring (0=V, 1=H)
                  |+++----------------- mode
                  +-------------------- CHR-RAM write protection (1=enabled)

A2 A1 A0 D7 D2 D1 D0 | $6000-$7fff | $8000-$9fff | $a000-$bfff | $c000-$dfff | $e000-$ffff | comment
 *  0  0  *  b  c  * |   open bus  |   PPPbc00   |   PPPbc01   |   PPPbc10   |   PPPbc11   | NROM-256
 0  0  1  *  b  c  d |   open bus  |   PPPbcd0   |   PPPbcd1   |   PPP1110   |   PPP1111   | UNROM
 *  1  0  a  b  c  d |   open bus  |   PPPbcda   |   PPPbcda   |   PPPbcda   |   PPPbcda   | 8kB (accessing CHR data)
 *  1  1  *  b  c  d |   open bus  |   PPPbcd0   |   PPPbcd1   |   PPPbcd0   |   PPPbcd1   | NROM-128
 1  0  1  *  *  *  * |   PPPbcda   |   PPP1100   |   PPP1101   |   PPP1110   |   PPP1111   | $6000 + last 32 kB


Pal equations:
Code:
nREGWR   = (!CPU_A14) | (!CPU_A13) | (!CPU_A12) | (CPU_nROMSEL) | (CPU_RnW);

PRG_nCE  = (CPU_nROMSEL & !REG_A2) |
           (CPU_nROMSEL & !REG_A0) |
           (!CPU_A14 & CPU_nROMSEL) |
           (!CPU_A13 & CPU_nROMSEL) |
           (CPU_nROMSEL & REG_A1) |
           (!CPU_RnW);

PRG_A13 = (CPU_A13 & !CPU_nROMSEL & !REG_A1) |
          (CPU_A13 & !REG_A1 & !REG_A2) |
          (REG_D7 & !REG_A0 & REG_A1) |
          (CPU_nROMSEL & REG_D7 & REG_A0 & !REG_A1 & REG_A2) |
          (CPU_A13 & REG_A0 & REG_A1) |
          (CPU_A13 & !REG_A0 & !REG_A1);

PRG_A14 = (CPU_A14 & !REG_A0 & !REG_A1) |
          (CPU_A14 & !CPU_nROMSEL & !REG_A1) |
          (CPU_A14 & !REG_A1 & !REG_A2) |
          (REG_D0 & REG_A1) |
          (CPU_nROMSEL & REG_D0 & REG_A0) |
          (REG_D0 & REG_A0 & !REG_A2);

PRG_A15 = (CPU_A14 & REG_A0 & !REG_A1 & !REG_A2) |
          (!CPU_nROMSEL & REG_A0 & !REG_A1 & REG_A2) |
          (REG_D1);

PRG_A16 = (CPU_A14 & REG_A0 & !REG_A1 & !REG_A2) |
          (!CPU_nROMSEL & REG_A0 & !REG_A1 & REG_A2) |
          (REG_D2);


Image Image Image Image Image

thank you!


Top
 Profile  
 
PostPosted: Tue Jul 31, 2018 8:42 pm 
Offline

Joined: Mon Dec 12, 2011 8:15 pm
Posts: 427
Bubble Bobble ("Air Forth") is FDS2NES version?
Bubble Bobble ("Air Forth") real console like??
Attachment:
rom - 副本_001.png
rom - 副本_001.png [ 1.75 KiB | Viewed 1054 times ]


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 5 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group