Discussion about software development for the old-school Gameboys, ranging from the "Gray brick" to Gameboy Color
(Launched in 2008)
You are not logged in.
I have a few questions about MBC in general
- Does it have a delay
- How does the actual chip change it and know when to change
- How hard would it be to create a custom mbc for flashcarts
- The 2000-3FFF range on controllers MBC2 confuse me. Is that area completely unusable?
Last edited by shiblivs (2021-07-16 14:23:52)
Offline
shiblivs wrote:
- Does it have a delay
No. Or to be more precise, there's always a small delay in digital electronics, measured in nanoseconds. The delay is guaranteed to be so short that the selected bank is available on the next cycle. You do not need to do any manual waiting.
shiblivs wrote:
- How does the actual chip change it and know when to change
It's looking at the address bits of the cartridge bus to decode which area is being written to, and then looks at the data lines to figure out which bank is requested. Lastly, it looks at the /WR (write) control signal and when that goes from high to low, it stores the new value. For any other writes, the values don't match and the MBC does nothing. This might become much easier to understand if you read up on digital electronics. (Things like decoders and latches.)
shiblivs wrote:
- How hard would it be to create a custom mbc for flashcarts
Not too hard if you know digital electronics and know how to program CPLDs/FPGAs, which are configurable logic devices. That in itself is considered pretty difficult, though, if you start from nothing.
shiblivs wrote:
- The 2000-3FFF range on controllers MBC2 confuse me. Is that area completely unusable?
Why would it be unusable?
Offline
Thank You! I was confused a little about the range, but I think I'm ok now. Thanks for the help.
Offline