5 ms·
And to be fair, I don't think there was anything stopping a DMG game from reaching 4MB. The pak has the same aperture size of basically 32k either way, and the
by monocasa 3y ago
And to be fair, I don't think there was anything stopping a DMG game from reaching 4MB. The pak has the same aperture size of basically 32k either way, and the bank switching for either 4MB or 1MB is on the cart itself.
- MBCook 3y agoRight. I don’t think Nintendo had a mapper to do it at the time. I doubt third parties did. But if you wanted to let a DMG address 2 gigs of memory 32k at a time you could do it. It’s a little hard to imagine a game needing > 1MB if it’s just B&W. But I suppose you could put a ton of text in or do some kind of demo-scene style ‘video’ playback. But no one would have for cost reasons back then.
- duskwuff 3y ago> But no one would have for cost reasons back then. Not on the GBC, but GBA had a number of video cartridges, including several full-length movies: https://en.wikipedia.org/wiki/Game_Boy_Advance_Video https://en.wikipedia.org/wiki/Game_Boy_Advance_Video
- MBCook 3y agoI never used one, but I remember being really surprised the first time I saw one of those in a store.
- itsmartapuntocm 3y agoI had a few. The quality was about what you’d expect for a video on a game boy cartridge.
- tadfisher 3y agoI know of the GBC port of Cannon Fodder, which was 32Mb (4MiB) and had an FMV intro. https://youtu.be/DkpQrnKcgp4 https://youtu.be/DkpQrnKcgp4
- Dylan16807 3y agoA single fullscreen image for game boy is almost 6KB. If you were making something pretty you could have several images per level and go over a megabyte without much effort.
- MBCook 3y agoYou can’t individually address every pixel, you have to use tiles. So unless you’re using a mapper chip that could swap them out on a per scan line basis you have much stricter limits.
- Dylan16807 3y agoYes you have to use tiles, but I'm not sure what you mean by "much stricter limits". The game boy can load 384 tiles at once, which is enough to cover the entire screen without duplicates. You can't freely mix the first 128 with the last 128 but that's easy to deal with.
- lynguist 3y agoThat would be levels and levels of indirection because 32K can be loaded at once and to address 2G in 32K chunks you need over 32K just for the address of the block. And then you need a part of the code loaded that actually does that swapping. You would need at least 3 levels for every memory address. Each 32K chunk would have its own address that would be loaded from two 32K chunks, that’s how giant its address is. And then that block would be loaded in. I think that it would be literally impossible to have random access memory of 2G.
- torgoguys 3y agoI'm not sure what you mean. 4gb is 31-bits (<4 bytes) of address space. If each page had 32K of address space (15 bits), that would require 64K different pages, which just requires the remaining 16 bits of the 31 bits to identify it. So the block address is just 2 bytes long, not 32K bytes. For these paged systems, you typically swap in the the page you're interested (iirc, gameboy did it by writing the page number to particular memory addresses) and then work with it for a while, and often execute code directly contained in it, which will eventually lead to loading the next page you need when you need it.
- Dwedit 3y agoNone of the standard mappers used in Game Boy/Game Boy Color games provide 32K switchable banks. They all provide a fixed 16K bank at the beginning, and a switchable 16K bank afterwards. If there are 8 bits of bank selection, the maximum cartridge size becomes 4MB, but some mappers allow more than 8 bits to select a bank. One of the common mappers even enforces that you may not pick bank 0 for the switchable bank, picking 1 instead. Mappers found in bootleg multicarts do allow you to change the base address and size of the game, which will move the fixed bank.