For context: I have basically 0 experience with anything pre-PS2 except that I had a PS1 as a kid with a few games. Never had an official gaming handheld console, Gameboy, DS, PSP or anything like that.

I’ve recently started playing the GBA game Crash Bandicoot 2 N-Tranced on my R36S (Chinese low end emulator handheld) that was collecting dust and wow, the game boots up blazing fast!

It’s very convenient as I don’t want to leave the thing on sleep mode, as that drains battery.

Is this how it was like on the real console too and how were the loading times on the previous Gameboy and Gameboy Color? How about the NES and NES? Were the handhelds more optimized to be picked up on the go: were the PSP loading times short too?

I remember having to wait quite a while on the PS1 and PS2 and that is still a thing on an emulator on an actual gaming pc while this 27€ handheld boots GBA games so so fast.

  • gex@lemmy.world
    link
    fedilink
    English
    arrow-up
    17
    ·
    6 hours ago

    Traditional cartridge based games (NES, SNES, N64, GB, GBA, Sega Genesis) had pretty much no load times, this is because a cartridge is a memory chip you connect directly to the console, so its contents can be read instantly. There are a few exceptions, some cartridge games still have loading screens because they need to decompress assets (an example that comes to mind is crazy taxi for GBA).

    Disc based games (PS1, PS2, Xbox, PSP) have load times because they need to physically spin the disc and move the laser to read its contents. This was also the case with floppy disc and tape based games (commodore 64).

  • Zarxrax@lemmy.world
    link
    fedilink
    English
    arrow-up
    48
    ·
    edit-2
    10 hours ago

    Cartridge games were always fast to start. There are essentially no loading times on them, just maybe some logos that you would have to wait through. CD based systems are what introduced the concept of loading times to console gamers, because cds read data from the disk at a massively slower speed than a cartridge.

    • schnurrito@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      2
      ·
      6 hours ago

      I remember once watching someone play a game on a PSP when that was a current console… and being absolutely surprised that on occasion, frames didn’t load completely instantly. I only owned Nintendo consoles (GBA, NDS) at the time, so wasn’t used to this.

      • rowinxavier@lemmy.world
        link
        fedilink
        English
        arrow-up
        5
        ·
        6 hours ago

        Also the data on a cartridge is read using addresses just like memory, whereas on a disc you use tracks and then do a long sequential read. If you want one byte of data from a specific place you have to read much more than one byte from a disc, but from an addressed system you may be able to read an individual address then move on.

        Also if you have 600mb to work with you tend to be a little less frugal thab if you have only a few megs to work with like on a GBA.

  • hayvan@piefed.world
    link
    fedilink
    English
    arrow-up
    13
    ·
    edit-2
    8 hours ago

    Today’s equivalent of a GBA cartridge would be a special read-only DDR5 stick that you plug into your mainboard, and the game runs directly from the installed memory. They don’t need loading, they don’t need booting at all, when you power up it is already in the memory.

  • Thorry@feddit.org
    link
    fedilink
    English
    arrow-up
    18
    ·
    edit-2
    9 hours ago

    For something like the Gameboy the cartridge is literally part of the hardware of the system. The cartridge contains ROM (and sometimes a bit of flash/eeprom as well) which the CPU can read from directly, just like the ROM and RAM it has inside the console. So there is no loading time, as soon as you insert the cartridge all the data is simply there.

    Now this can get a bit complicated, but sometimes there can be a tiny bit of loading. Although I don’t know if any Gameboy game did this. ROM chips could get expensive and the bigger the more expensive. So in order to get away with a smaller ROM chip, sometimes data was compressed or generated when required. This is a trade off between RAM/CPU and ROM space. I know there are NES and SNES games that did this. Something that is noticeable on the SNES for example is music and digital sound effects. They need to be into memory in a specific way and this can lead to a little bit of loading, mostly this is done at times when you wouldn’t notice it, but sometimes it can cause a bit of lag as the system transfers the data. But it’s usually less than 1 sec.

    Something like a spinning piece of media like a CD or those little discs used for the PSP work very differently, where the data must be read from the disc and put into memory. This takes time, thus the loading times. Often these media were much larger than the memory available, so it would only load what is needed. Then when other stuff is needed, more loading is required.

    As for your modern emulator. Compared to the original system your emulator is leaps and bounds faster. The games are tiny and even if they need to be loaded from flash to RAM, it’s basically instant.

    • kuiskaaja@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      5
      ·
      9 hours ago

      that’s very interesting.

      thank you for the in depth explanation.

      would be very interesting to see how the R36S compares to the real GBA. i’m definitely getting one at some point, but for now i wanna spend what little spare money i have on emulator stuff :D

      • klankin@piefed.ca
        link
        fedilink
        English
        arrow-up
        3
        ·
        6 hours ago

        The RK3326’s CPU in it is around 100x faster than the GBA SOC, as well as 64 bit and has 4 cores - so at their respective peaks can be around 1000x faster than a game boy.

        The R36S has 1GB of ram, or around 4000x what the GBA had.

        So long story short you’re minimum 100x overkill for playing gameboy games (assuming an insane 10x overhead)

        • Ghoelian@piefed.social
          link
          fedilink
          English
          arrow-up
          1
          ·
          5 hours ago

          Surely it doesn’t actually run the CPU that fast when emulating GBA games? Speeding up the CPU meant actually speeding up the game as well. Emulators, especially for these older consoles, try very hard to get as close to real hardware as possible.

          • klankin@piefed.ca
            link
            fedilink
            English
            arrow-up
            1
            ·
            5 hours ago

            Oh gosh no it certainly doesn’t - while that would be absolutely halarious, part of the overhead is usually making the GBA games play well with something like the Linux scheduler.

            Some games back then do crazy stuff like use the number of CPU instructions executed as a timer, so for a playable experience this has to be pretty controlled.

            That being said, most emulators allow a time multiplier for their virtual console, so you usually can experience it as fast as your hardware can run (Imagine hooking up a water cooled modern CPU to a minimalist realtime linux kernel and seeing how fast that bad boy can wheel).

        • kuiskaaja@lemmy.mlOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          6 hours ago

          that’s nuts.

          do u have some kind of source for the cpu being that much faster?

            • kuiskaaja@lemmy.mlOP
              link
              fedilink
              English
              arrow-up
              1
              ·
              6 hours ago

              are you referring to the mhz and ghz?

              cus that isn’t really entirely reflective of performance.

              when the difference is that huge, it obviously says something, but there’s 20 year old CPUs that have a higher cpu clock rate than modern CPUs but easily get destroyed by the modern CPUs in benchmarks

              • klankin@piefed.ca
                link
                fedilink
                English
                arrow-up
                2
                ·
                5 hours ago

                Well yeah, I can’t say I pulled out my hardware for a benchmark - but I think its a reasonable indicator of a minimum bounds when comparing older hardware with low clocks to newer. ie presumably the GBA doesn’t have AVX, but if you’re running gameboy games thats just wasted silicon.

                Between the GBA to the RK3326 there’s almost 2 decades of improvement, honestly ‘only’ 1000-4000x improvement is actually kinda disappointing considering the previous decades following Moores law.

                • kuiskaaja@lemmy.mlOP
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  5 hours ago

                  well, then again the r36s costs like 30 bucks and the gba cost like 180 dollars adjusted for inflation

      • Zarxrax@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        7 hours ago

        For Gameboy, there should be no difference in loading time for an emulator or the original system. The roms are only a few MB in size, and get loaded fully into ram. The initial loading is probably well under 1 second. On the official system you will see a short Gameboy advance logo animation. I don’t know if the emulator strips that out or not.

  • dual_sport_dork 🐧🗡️@lemmy.world
    link
    fedilink
    English
    arrow-up
    7
    ·
    edit-2
    9 hours ago

    To expand on what the others are saying here, cartridge based systems load quickly because they are more or less directly accessing the data in the cartridge as if it were memory. In fact, in many older systems the cartridge storage area is mapped directly into the memory (RAM) address space. Disk based systems need to sequentially read data into memory temporarily in order to use it for anything, and are inherently limited by their small amount of memory so they can’t load anything even approaching the entire contents of the disk at once, and they also tended to have slow drives in order to make them cheaper. A Playstation 1 has 2 megabytes of memory but a CD can hold somewhere in the neighborhood of 650 or 700 megabytes of data. There’s no amount of programming trickery that’s going to get the entire game into memory all at once unless your game is hilariously small, so the system is going to have to pull the parts of it needs off of the disk as it needs them, which necessitates loading screens.

    Meanwhile a cartridge based system can access all (deliberately leaving more complicated topics like bank switching out of the conversation, here) of the data on cartridge more or less instantly.

    Things are starting to come full circle here a bit with the Switch and Switch 2 which are indeed cartridge based, but have to load as if they had a disk because the data on their cartridges is both encrypted and compressed, so it can’t be used directly off of the cart like in the good old days and instead has to be unpacked and copied into the system’s memory first.

  • Mark with a Z@suppo.fi
    link
    fedilink
    English
    arrow-up
    6
    ·
    edit-2
    9 hours ago

    Solid state storage is fast. CDs are slower and because it’s a physically spinning disc, there are seek times that delay reading too.

    On gba you should be able to just stream things directly from the cartidge instead of loading everything to memory first.

    Edit: and your modern emulator console can load the entire gba rom into memory in the blink of an eye.

    • hayvan@piefed.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      8 hours ago

      Actually you don’t even stream from the cartridge. The cartridge connector is part of the system bus. The equivalent of the CPU-RAM connection on the current motherboards. When you insert a cartridge, the ROM chips inside the cartridge becomes part of your system memory. So you literally run it directly from the cartridge. Imagine today’s games came inside RAM sticks, and inserting them into DDR5 slots.

      • klankin@piefed.ca
        link
        fedilink
        English
        arrow-up
        2
        ·
        6 hours ago

        More like a PCie storage device with DMA no?

        Sorry if that’s pedantic lmao, but I feel like even the GBA ram blew nonvolatile storage out of the water

        • hayvan@piefed.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          9 minutes ago

          I’m not sure about GBA architecture specifically, but earlier systems just plugged those into the system bus directly.

          According to here the ROM is directly on the bus, but since ROMs are slower than RAM, there is a cache-like buffer in between. But it’s not a separate IO bus, it’s still the memory-mapped system bus.

    • hayvan@piefed.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      8 hours ago

      Not really correct. The games are tiny sure, but they don’t need loading at all, they run directly from the cartridge.

    • kuiskaaja@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      10 hours ago

      yeah but the hardware is also really low powered right? and the emulator emulates that hardware

      • asmoranomar@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        9 hours ago

        Emulators don’t necessarily try to mimic all aspects of hardware. It would be more appropriate to say most emulators are translation programs. There are some emulators that do emulate all aspects of hardware though. So “it depends”.