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.

  • Zarxrax@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    12 days 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
      0
      ·
      12 days 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
        0
        ·
        12 days 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
    0
    ·
    12 days 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.

  • Captain Aggravated@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    0
    ·
    11 days ago

    The Gameboy Advance is a little weird, but most cartridge-based game systems featured little to no boot or loading time because the ROM chips in the cartridge are attached to the CPU the same way the RAM does (electrically speaking), and has similar performance. So game data, things like textures, sprites, level data, audio, are just…accessible to the CPU already. It has to do a very brief initialization to set up some variables but other than that everything is just ready to go.

    On a disc-based system like Playstations, the game data is on an optical disc. So the game has to be read into memory from the disc before the game can start. That takes time, hence boot times and loading screens. PCs are similar, it takes time to load the game data from a hard disk or SSD or optical drive or diskette into working memory. Fun fact about this: CD-based games usually stored the background music as red book digital audio, so the console would load game data into memory, start executing it from there, then the optical drive just starts playing the disc like a normal CD simultaneously, which 1. allows the background music to be very high quality and 2. completely frees the CPU from that task.

    Another fun fact, on at least some consoles it was possible to add additional RAM or even sound or graphics accelerators to the cartridge. Super Mario Bros 3 on the NES has additional RAM in the cartridge, Star Fox on the SNES has a 3D accelerator chip.

  • VerdantTome@programming.dev
    link
    fedilink
    English
    arrow-up
    0
    ·
    11 days ago

    One more note to clarify what’s already been said: While the CPU in older consoles can read data and execute instructions directly from the cartridge because it’s connected to the CPU’s memory map like all the other hardware and RAM in the system, most consoles still needed graphics and sound data to be copied into specific areas of onboard RAM, and couldn’t use them straight from the cartridge. This is because those subsystems were hardwired to work only from certain addresses, or even their own, separate RAM.

    (I’m aware that the Famicom/NES doesn’t do graphics this way by default, but in terms of hardware design it’s an outlier, and getting into the weeds explaining everything related to that would at least double the length of this comment.)

    Because the CPU can read and write that data so fast, however, it’s still orders of magnitude faster than reading from most external media like tapes, floppy disks, and optical discs.

  • gex@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    12 days 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).

    • kuiskaaja@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      12 days 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
        0
        ·
        12 days 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”.

    • hayvan@piefed.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      12 days ago

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

  • Thorry@feddit.org
    link
    fedilink
    English
    arrow-up
    0
    ·
    12 days 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 you 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
      0
      ·
      12 days 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

      • Zarxrax@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        12 days 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.

      • klankin@piefed.ca
        link
        fedilink
        English
        arrow-up
        0
        ·
        12 days 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
          0
          ·
          12 days 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.

        • kuiskaaja@lemmy.mlOP
          link
          fedilink
          English
          arrow-up
          0
          ·
          12 days 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
              0
              ·
              12 days 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
                0
                ·
                12 days 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
                  0
                  ·
                  12 days ago

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

  • Mark with a Z@suppo.fi
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    12 days 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.

    • hayvan@piefed.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      12 days 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
        0
        ·
        12 days 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
          0
          ·
          12 days 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.

          • klankin@piefed.ca
            link
            fedilink
            English
            arrow-up
            0
            ·
            11 days ago

            That’s pretty cool, so like DMA but because the hardware couldn’t (directly) tell the difference instead of an actual standard

  • dual_sport_dork 🐧🗡️@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    12 days 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.

    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 card like in the good old days and instead has to be unpacked and copied into the system’s memory first.