32

I was thinking about large ROM hacks like Only Up 64 (Vinesauce's Joel game play video here for an example of what I am talking about) that state that they can run on real hardware and it made me wonder about ROM hacks and homebrew that can't run on real hardware.

What kind of limitations do these ROMs face when their limitations are emulators and not real hardware? For example is there a size limit to what a GBA ROM can be? Could you make a super in-depth hundred+ hour game for the GBA that takes up 100 GB?

I guess I am curious about what limitations are hard coded into emulators for things like accuracy and what are some examples of ROMs that have gone above and beyond or notable emulated systems where the the limitations of real hardware are frequently bypassed.

Hope that makes sense. I am pretty drunk.

all 12 comments
sorted by: hot top controversial new old
[-] KpntAutismus@lemmy.world 6 points 9 months ago

the NES had some titles where there were two ROM banks where access to one of them were switched when a certain part of the game was reached. this had to do with the limited RAM of the system i believe. you could technically do this but hundreds and thousands of times.

technically, it would also be possible to increase the RAM capacity and make it emulator-only. it has been an emulator detection feature to try to access a memory adress outside of the possible capacity.

[-] DebatableRaccoon@lemmy.ca 1 points 9 months ago

I thought the reason for switching was the storage limitations of a cartridge, not the console's RAM

[-] KpntAutismus@lemmy.world 3 points 9 months ago

AFAIK, the contents of the cartridge was entirely loaded into RAM, so one bank of ROM chips needed to be a specific size. the cartridge of course gets much more expensive if you double the storage, so it wasn't done very often.

https://youtu.be/ZWQ0591PAxM they mention switching storage at 1:10.

[-] DebatableRaccoon@lemmy.ca 2 points 9 months ago* (last edited 9 months ago)

Thanks for the correction and further detail. I was thinking of it in modern terms where the machine takes the info it needs as-and-when rather than storing everything on the cartridge.

[-] YaBoyMax@programming.dev 3 points 9 months ago

Bank switching is necessary because the 6502 chip in the NES has a 16-bit address space, with the bottom 0x4019 (~16K) bytes being reserved for system use (RAM, PPU/APU features, and controller I/O). Cartridges therefore only had access to a ~48 KiB range of address space (although in practice I believe only the top 32K was typically used for ROM), so bank switching was needed to be able to fully access anything larger.

[-] Kolanaki@yiffit.net 1 points 9 months ago* (last edited 9 months ago)

I am pretty sure the storage has no limit in software, only by the hardware used to make the games. It's the memory usage that's most limiting. Can only have so much stuff loaded at one time. There are some clever tricks and workarounds to this tho. Like swapping sprite sheets to increase enemy variety or swapping color on the fly to have more than 4 colors at once.

The ROMs themselves got larger over time as they started making larger capacity chips to store everything. If you simply wrote a ROM to be emulated without having to fit it on a physical cartridge, you could make it as big as the drive meant to hold it.

[-] key@lemmy.keychat.org 1 points 9 months ago

Limits depend on the original hardware. For instance if the device uses 16 bit "addresses" to refer to locations in the cartridge storage and read a byte at a time, you'll only be able to make use of the first 2^16 bytes (64k) of storage regardless of how much extra data you throw in there. An emulator could in theory support extensions to get around that but then you're not really emulating the original hardware.

[-] dis_honestfamiliar@lemmy.world 1 points 9 months ago

Nice video. Do you have an example of a ROM hack or homebrew that can't run on real hardware? The only limitations there is that you can't load it because you have limited access to run unofficial software.

this post was submitted on 09 Jan 2024
32 points (100.0% liked)

No Stupid Questions

35639 readers
938 users here now

No such thing. Ask away!

!nostupidquestions is a community dedicated to being helpful and answering each others' questions on various topics.

The rules for posting and commenting, besides the rules defined here for lemmy.world, are as follows:

Rules (interactive)


Rule 1- All posts must be legitimate questions. All post titles must include a question.

All posts must be legitimate questions, and all post titles must include a question. Questions that are joke or trolling questions, memes, song lyrics as title, etc. are not allowed here. See Rule 6 for all exceptions.



Rule 2- Your question subject cannot be illegal or NSFW material.

Your question subject cannot be illegal or NSFW material. You will be warned first, banned second.



Rule 3- Do not seek mental, medical and professional help here.

Do not seek mental, medical and professional help here. Breaking this rule will not get you or your post removed, but it will put you at risk, and possibly in danger.



Rule 4- No self promotion or upvote-farming of any kind.

That's it.



Rule 5- No baiting or sealioning or promoting an agenda.

Questions which, instead of being of an innocuous nature, are specifically intended (based on reports and in the opinion of our crack moderation team) to bait users into ideological wars on charged political topics will be removed and the authors warned - or banned - depending on severity.



Rule 6- Regarding META posts and joke questions.

Provided it is about the community itself, you may post non-question posts using the [META] tag on your post title.

On fridays, you are allowed to post meme and troll questions, on the condition that it's in text format only, and conforms with our other rules. These posts MUST include the [NSQ Friday] tag in their title.

If you post a serious question on friday and are looking only for legitimate answers, then please include the [Serious] tag on your post. Irrelevant replies will then be removed by moderators.



Rule 7- You can't intentionally annoy, mock, or harass other members.

If you intentionally annoy, mock, harass, or discriminate against any individual member, you will be removed.

Likewise, if you are a member, sympathiser or a resemblant of a movement that is known to largely hate, mock, discriminate against, and/or want to take lives of a group of people, and you were provably vocal about your hate, then you will be banned on sight.



Rule 8- All comments should try to stay relevant to their parent content.



Rule 9- Reposts from other platforms are not allowed.

Let everyone have their own content.



Rule 10- Majority of bots aren't allowed to participate here.



Credits

Our breathtaking icon was bestowed upon us by @Cevilia!

The greatest banner of all time: by @TheOneWithTheHair!

founded 1 year ago
MODERATORS