Jump to content
IGNORED

3F Bankswitching


Delicon

Recommended Posts

I was just spent a couple hours today banging my head against the wall trying to figure this 3F scheme out for the Chimera. (I lost my previous versions from ealier flash carts to an electrical storm in Florida a couple years ago). I set it up so that the first segment gets loaded whenever 0x0000 - 0x003F shows up on the address bus. Well, polaris and springer work fine, river patrol and miner 2 have rolling screens, and miner 1 just gets a black screen. After trying everything to fix it, including a native american rain dance, I decided to just limit my address range to 0x003F. Now all the games work perfectly.

 

Do some games use the addresses 0x0000 - 0x003E for anything ligit? I didnt think there was anything there. Is this another error in Kevin's bankswitching document? I think I am going to tidy that thing up one of these days.

 

I am also going to implement the extended 3F scheme for 1 Meg ROM access. I know there are a couple bins out there, so do they stay with the 3F scheme in that the second segment always points to the 4th slice? Or does the second segment always point to the last slice?

 

Thanks for the help,

 

Vern

Link to comment
Share on other sites

As Kevin Horton's bankswitching guide says, 3F games react to accesses to all addresses between $0000 and $003F. But the switch will only happen when this access is followed by an access to an address between $1000 and $1FFF. Did your hardware handle that as well?

 

I don't know if the games themselves are accessing the bankswitching addresses in a way that the next address on the bus in not $1000 or above. But maybe the VCS is accidently putting an address between $0000 and $003F on the bus for a short time. Maybe that's why Tigervision added the check for the $1xxx addresses?

 

As for extended 3F bankswitching, there are demos that have the 4th bank as the fixed bank and there are demos that have the last bank in the ROM as the fixed bank. If you are only able to add one version to your cart, you should use the last bank. That seems to be what a real cartridge would use, if anyone ever decides to write a full game for extended 3F bankswitching. The method with the 4th bank as the fixed bank was only used for some early demos, because the Cuttle Cart 1 supports it for up to 64K.

 

 

Ciao, Eckhard Stolberg

Link to comment
Share on other sites

Thanks a bunch for the help Eckhard. I have been using Kevins document and the Stella source code as guides for this scheme, and neither have anything about checking for a second address. But the Stella code does check the whole 0x0000 to 0x003f range, so I must be doing something wrong. I will implement your solution and see what happens. I will have to check with Armin also and see how he went about it.

 

As for the extended 3f schemes, I will just have to provide both types. One with a fixed 4th bank and one with the last bank fixed.

 

Thanks again, I will keep you let you know how it goes,

 

Vern

Link to comment
Share on other sites

As Kevin Horton's bankswitching guide says, 3F games react to accesses to all addresses between $0000 and $003F. But the switch will only happen when this access is followed by an access to an address between $1000 and $1FFF. Did your hardware handle that as well?

 

Lets look at a simple "STA WSYNC"

 

1. we would access a memory location between $0000 and $003F , right ?

2. the next adress on the bus is from ROM space which has to be in the $1000 -$1FFF range, because we simply fetch the next opcode.

 

Would that mean that a STA WSYNC switches banks ? I doubt that :-)

 

Armin

Link to comment
Share on other sites

Actually, depending on which bank is currently mapped in and which bank the current state of the databus would select, a STA WSYNC would trigger a bankswitch on a 3F cart. That's why the Tigervision games access the TIA through addresses $0040 to $007C.  ;)

 

Very interesting :D

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...