Jump to content
IGNORED

SOUPER Mapper


TailChao

Recommended Posts

I've decided to open everything pertaining to the SOUPER Mapper used for Rikki & Vikki.

This isn't just an info dump, but a zlib release. You are free to use SOUPER in your own projects, modify it, enhance it, anything you like!

 

Souper has the following features :

  • Up to 512KB of ROM in a 16KB Fixed + 16KB Swap configuration.
  • Up to 32KB of RAM in a 16KB Fixed or 8KB Fixed + Dual 4KB Swap configuration.
  • Optional Maria fetch redirection with several fixed routes and two 2KB pages on A7 boundaries.
  • 8-Bit output port with clock for communication with an external device.
  • Looks like a normal "SuperCart" with 16KB of RAM on reset.

The Maria fetch redirection is the most useful aspect of the mapper. Souper detects when Maria is using the bus and gives her a separate mapping setup than Sally which makes catering to Maria's unique features much easier. For more details, I'd recommend checking out the equate file.

 

This mapper is fully supported in BupSystem with an optional BupBoop + CoreTone audio expansion hooked up to the 8-Bit output port. Check the BupSystem HTML Help file for more information on how to set up and use this configuration.

 

Three variants are available :

  • Souper
    The original mapper variant, targets an EPM7096LC68.
  • Subpar
    Alternate version, targets an EPM7064LC68.
    Loses the A8, A9, A10, and A11 passthroughs and the audio command clock is no longer an open-drain output.
  • Sublet
    Alternate version, targets an EPM7064LC44 + 74HC573.
    Loses the A8, A9, A10, and A11 passthroughs and requires the 8-Bit output port to be relocated to a 74HC573. The audio command clock is no longer an open-drain output. Support for Flash ROM programming has been added through a few new registers at $808x and the romWrite_n pin.

For the curious, we used the Sublet variant for production of the final Rikki & Vikki cartridges.

Edited by TailChao
  • Like 10
  • Thanks 1
Link to comment
Share on other sites

  • 6 months later...

In the absence of readily-available XM modules or a low-cost POKEY/POKEY substitutes, I hope some of the 7800 homebrew hardware/home-brew coders looks into using this solution or something along these lines in order to provide great quality sound and graphics to our beloved 7800s. :)

  • Like 2
Link to comment
Share on other sites

6 hours ago, JAC! said:

Congratulations, this is simply a woderful piece of art!

Thanks, although most of those congratulations should go to Tiido (who did the board layout) - I just did the design and made some really ugly prototypes.

 

19 minutes ago, DrVenkman said:

In the absence of readily-available XM modules or a low-cost POKEY/POKEY substitutes, I hope some of the 7800 homebrew hardware/home-brew coders looks into using this solution or something along these lines in order to provide great quality sound and graphics to our beloved 7800s. :)

Getting support into emulators other than BupSystem would probably help, but I think a more generic mapper design would also be nice. SOUPER's feature set is very tied to Rikki & Vikki's requirements (i.e. there's two 2KB graphic pages - for pulling two large characters from ROM), which won't help all software. I've been tossing around early specs for a 7800 equivalent to Nintendo's MMC3, but haven't had time to finalize it yet.

  • Like 3
  • Thanks 1
Link to comment
Share on other sites

So, I was curious ...

 

I noticed Rikki and Vikki uses 320B mode but with no items lost onscreen to DMA conflicts.  Does this new hardware improve the DMA issues?  I have been working on my Sky Scraper platform game but I am looking to redoing the game in 160B mode and wondered if this hardware system would improve the DMA performance any.

Link to comment
Share on other sites

9 hours ago, Synthpopalooza said:

I noticed Rikki and Vikki uses 320B mode but with no items lost onscreen to DMA conflicts.  Does this new hardware improve the DMA issues?  I have been working on my Sky Scraper platform game but I am looking to redoing the game in 160B mode and wondered if this hardware system would improve the DMA performance any.

There's still some draw tearing in Rikki & Vikki, but a significant effort was made to minimize it.

 

Improving Maria's bandwidth isn't really feasible without replacing her. What Rikki & Vikki does instead is to only use 4-Byte (normal) Display Lists and attempts to combine multiple tiles into larger draws when their pertinent textures are sequential in memory and they all share a palette. If you've ever wondered why the game can stutter for two frames when you're tossing boxes around, this is why. The background manager has to unroll the new tile strips into Display Lists on any changes to the stage geometry.

 

SOUPER doesn't assist with this, but its EXRAM and separate paging for Maria and Sally make it significantly easier than with previously available options.

  • Like 2
Link to comment
Share on other sites

  • 9 months later...

After providing support for the mapper for around a year - I've gone back and rewritten the equate file to cover all three variants and contain tips based upon common questions. It's also been reformatted to allow easier comparisons with the upcoming PMC1.

 

The mapper documentation in BupSystem's HTML Help will be updated accordingly in the next release (0.9.6.2) and I've also attached the equate to this post. I may add support for all three variants in either this upcoming release or a future one since it'd be nice to have the flash programming mode in SUBLET fully replicated.

 

Phew!

EQU_SOUPER.asm

  • Like 2
Link to comment
Share on other sites

  • 6 months later...

As my inner fillyjonk continues to terrorize dust and clutter, it's time to make some excess equipment available...

 

Board.thumb.jpg.f98e3c8e42b02ae28de7750f9f8e6faf.jpg

 

I have a handful of DEV R1.0 FoxBoards available for sale, originally used to test Rikki & Vikki. They're programmatically identical to the production boards but feature a Socketed DIP Flash, Socketed CPLD, and FTDI Serial <-> USB Bridge for communicating with the BupChip's debug shell. If you're interested in working with the SOUPER mapper, this and BupSystem are the only way to do so (at least as of writing). It can also be a good platform to develop your own mapper or softsynth. I'll toss in one of our prototype shells so you'll have somewhere to keep it.

 

Shell.thumb.jpg.d7650dd54b64797698957205ff2e4fad.jpg Set.thumb.jpg.0169f8daf253462765ddc62a4790e516.jpg Fit.thumb.jpg.d6da9f045910b350ae7578736275e9f8.jpg

 

Because of their scarcity and original expense to make - the price is $100.00 + Shipping but I'm open to negotiations or trading.

If you're interested send over a PM.

Edited by TailChao
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...