Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)RE
Posts
0
Comments
212
Joined
2 yr. ago

  • Problem is, you could pirate every single game on dreamcast. Just get a legit copy of the game (renting, buying and returning, borrow from a friend), and have a CD burner.

    Then you could make a 1:1 copy of the game in roughly an hour.

    You make it sound trivial. While Sega left a security hole open for games to be loaded from a regular CD, the official games were released on GD-ROMs, a dual-layer CD with a 1.2 GB capacity.

    So first off, you couldn't read them completely in a regular CD-ROM or even DVD-ROM drive. (I'm not counting the "swap" method because it's failure-prone and involves partially dismantling the drive and fiddling with it during operation.) You had to connect your console to a computer and use some custom software to read the GD-ROM on the console, and send the data over.

    Once you had the data, you then had the problem of trying to fit a potentially 1.2 GB GD-ROM image onto a regular CD-ROM. A handful of games were actually small enough to fit already, and 80-minute and 99-minute CD-Rs would work in the DC and could store larger games. But for many games, crackers had to modify the game files to make them fit.

    Often they would just strip all the music first, because that was an easy way to save a decent amount of space. Then if that wasn't enough, they would start stripping video files, and/or re-encoding audio and textures at lower fidelity.

    Burning a CD-R from a downloaded file was easy, but ripping the original discs and converting them to a burnable image generally was not.

  • Nope, you got it right. It was very much seen as only a console, despite the naming, Family BASIC, FDS, other peripherals, etc. I've been living in Japan for years with a keen interest in retro gaming/computing, and FC is never mentioned in the same breath as PC-88/MSX/FM/etc. By the by, on the rare occasions that it's mentioned, the SC-3000 is also lumped in with the consoles rather than the home computers.

  • I think I can appreciate where you're coming from, but in the context of the article it was legitimately necessary to address the topic somehow; it's not like it was written apropos of nothing as a commentary on transsexuality. As a CIS person, I also have a "percieved gender" with which I identify.

    Would "post-transition gender" be a more sensitive term, or less?

  • Let me know if you find one that uses AI to find groupings of my search terms in its catalogues instead of using AI to reduce my search to the nearest common searches made by others, over some arbitrary popularity threshold.

    Theoretical search: "slip banana peel 1980s comedy movie"
    \ Expected results in 2010: Pages about people slipping on banana peels, mostly in comedy movies, mostly from the 80s.
    \ Expected results in 2024: More than I ever wanted to know about buying bananas online, the health impacts of eating too many or not enough bananas, and whatever "celebrities" have recently said something about them. Nothing about movies from the 80s.

  • That was my first take as well, coming back to C++ in recent years after a long hiatus. But once I really got into it I realized that those pointer types still exist (conceptually) in C, but they're undeclared and mostly unmanaged by the compiler. The little bit of automagic management that does happen is hidden from the programmer.

    I feel like most of the complex overhead in modern C++ is actually just explaining in extra detail about what you think is happening. Where a C compiler would make your code work in any way possible, which may or may not be what you intended, a C++ compiler will kick out errors and let you know where you got it wrong. I think it may be a bit like JavaScript vs TypeScript: the issues were always there, we just introduced mechanisms to point them out.

    You're also mostly free to use those C-style pointers in C++. It's just generally considered bad practice.

  • Every time I see yet another obscure game/platform article or video, I realise that I've once again forgotten how little most people delve into the history of their creative media. I'm teaching myself about Soviet clones and niche Japanese systems that came out before I was born, and some 20-something self-proclaimed video game historian is releasing a video titled "The most obscure game that NO-ONE remembers" and it's about Legacy of Kain or Space Quest or Sly Cooper or some other million-selling franchise that just hasn't had a new release in the last 5-10 years.

    I'm waiting for these guys to get old enough to start seeing "world's most obscure game" videos about Minecraft and Fortnite.

    AIX is pretty obscure as a gaming platform, though, I'll give you that.

  • As someone who has often been asked for help or advice by other programmers, I know with 100% certainty that I went to university and worked professionally with people who did this, for real.

    "Hey, can you take a look at my code and help me find this bug?"
    \ (Finding a chunk of code that has a sudden style-shift) "What is this section doing?"
    \ "Oh that's doing XYZ."
    \ "How does it work?"
    \ "It calculates XYZ and (does whatever with the result)."
    \ (Continuing to read and seeing that it actually doesn't appear to do that) "Yes, but how is it calculating XYZ?"
    \ "I'm not 100% sure. I found it in the textbook/this 'teach yourself' book/on the PQR website."

  • Back in the olden days, when we used kerosene-powered computers and it took a three day round trip to get IP packets via the local stagecoach mail delivery, we still had games even though Steam didn't exist yet. :b

    We used to transfer software on these things called disks. Some of them were magnetic, and some of them used lasers (you could tell them apart because for the laser ones it was usually spelled "disc" with a "c").

    Anyway, those dis(k/c)s mostly still work, and we still have working drives that can read them, and because the brilliant idea of making software contact the publisher to ask if it was OK to run had only just been invented, we can generally still play games from the period that way. Some people kept their old games, but others sell them secondhand, which I believe the publishers still haven't managed to lobby successfully to be made illegal, unless I missed a news report.

    Even if you can't get the original physical media for a game, sites like GOG sell legal digital downloads of many old games, which are almost always just the actual old software wrapped in a compatibility layer of some kind that is easy to remove, so you can usually get the games running natively on period hardware/software. Finally, some nicer developers and publishers have officially declared some of their old games as free for everyone to play.

    There are still legal options for playing old games on old systems.

  • Most people use the term "Hungarian Notation" to mean only adding an indicator of type to a variable or function name. While this is one of the ways in which it has been used (and actually made sense in certain old environments, although those days are long, long behind us now), it's not the only way that it can be used.

    We can use the same concept (prepending or appending an indicator from a standard selection) to denote other, more useful categories that the environment won't keep straight for us, or won't warn us about in easy-to-understand ways. In my own projects I usually append a single letter to the ends of my variable names to indicate scope, which helps me stay more modular, and also allows me to choose sensible variable names without fear of clashing with something else I've forgotten about.

  • The Steam Deck is a handheld Linux-based PC with a built-in game controller. The special Steam version of Linux (SteamOS) comes with software (Proton) that lets you run a lot of Windows games, and Valve have put some effort into helping/encouraging developers to get their games working with it.

    The Nintendo Switch is a closed system that can only play official Nintendo-licensed software. Even if you "jailbreak" a Switch, I don't think that there's any realistic way to get modern Windows games running on one.

  • I bought this back in the day, and played it through to the end. I vaguely recall somewhat enjoying it overall, but the strongest impression that I have now is of frequently being bombarded with unrepeatable, dense, plot-critical dialogue (usually from teammates via radio) during intense action scenes when I was busy trying to sneak around, evade, beat up, or have a shootout with multiple enemies simultaneously. This often seemed to be by design, with enemies spawning at the same time the dialogue begins. As a passive viewer watching a show, it's cool when the characters have intense philosophical debates during fights, but as an active player I found it extremely difficult to follow both at the same time. I don't even remember what the story of the game actually was, because I missed so much vital information that I gave up trying to follow it. That was a real disappoment for a big GitS fan.

    Also, many of the missions can seem very open initially in terms of how the player can approach them, but quite soon I got the feeling that there's exactly one "right" way through each challenge, and it's up to the player to find it, sometimes with very few hints.

    I've tried several times over the years to give it another go, but somehow I never seem to make it past even the first mission before I put it away again.

  • It is available on mobile BUT I encourage you to get the PC version on Steam because the mobile one doesn't include the pretty decent voice acting

    That's odd; I was sure that I played some of this on Android with voice acting, so I searched my records and discovered that I also got it from Humble Bundle. I just downloaded and installed it to check, and aside from a warning that it was written for an older version of Android, it seems to be working fine, full voice acting included. There's an option to turn it off, but it was on by default for me.

    Maybe there was an issue with your specific device?

  • I watched the video that you linked to, and it was very interesting! I'd never thought about exploiting the possibility of double-dipping the logo. It simply wouldn't have been practical back in the day. However, there are two important facts that change the situation a bit.

    (EDIT: I've left the following discussion of logo checksums intact, but I kept digging and found what is claimed to be a dumped and disassembled copy of the OG GameBoy boot ROM, which does include a byte-for-byte check of the logo data. Colour me surprised! I was interested in GBA homebrew back in the day and I'd swear that I saw a dumped GB boot ROM that only calculated a checksum. Also, those cartridges with the non-standard logos? I own them. Unfortunately I can't get my hands on them right now, but I saw them with my own eyes. If it wasn't just fooling a checksum, then I don't know what the deal was there, especially the carts with "garbage" logos. Not to mention that as I said, I don't think it was practical to do a bait-and-switch in a retail cartridge back in the day.)

    (EDIT 2: Yes, I'm still reading about this! It seems like the bait-and-switch was feasible back in the day. Some publishers used special mappers, while others apparently redirected address lines with carefully-chosen capacitors, which seems delightfully hackey to me.)

    First, neither the OG nor the Color GameBoy have a complete copy of the Nintendo logo stored in their boot ROM. Instead, the boot code calculates a checksum of the cartridge's logo data, and compares that to a stored checksum of the official logo. If the checksums match, the check is passed. There are unofficial cartridges which boot just fine by having "garbage" logo data that passes the checksum test. I have even seen one company that took the time to come up with a different recognizable logo that still passed the check. The lettering looked weird, but you can read it.

    By the time the GameBoy Advance came around, ROM was cheap enough to include a complete copy of the official logo and compare it byte-for-byte, so they did.

    Second, Sega tried a similar tactic on some of their consoles: The boot rom contained a routine which would display a screen claiming that the software had been produced by or under license from Sega Enterprises. If the code on the cartridge/disc didn't call that routine fairly early, the boot ROM would cause the console to lock up. The idea was that if software had to call that routine, Sega could sue unapproved publishers for claiming to be licensed when they weren't.

    Unfortunately for Sega, the US courts ruled (Sega vs. Accolade, 1992) that since it was impossible to run software on the system (which the court upheld that Sega had no right to block, ah the days before DMCA) without calling this routine, that unlicensed publishers couldn't be said to be wilfully claiming licensing rights from Sega; they were just calling a routine that was necessary to make the console work. The fact that Sega had attached this licensing screen to it was immaterial.

    No doubt Nintendo's legal team would go after anyone who tried this on one of their systems, either under DMCA somehow, or even simply on the premise of being able to bankrupt their opponent with requests and delays before ever making it to trial. But I suspect (I am not a lawyer) that technically, anyone putting a Nintendo logo in a GB cartridge could claim the 1992 case as a precedent.