Displaced Gamers and their various technical dives, including the Behind the Code series, are favorites around here, and we’ve linked to them many times before. They take a lot of time with their content, but they always do a good job, much better than the average Youtube channel of whatever type, and it’s always something interesting to learn about. They have a new video up now (22 minutes) that examines the differences between the original and revised versions of Super Mario Bros 3, released a few months apart back in 1990.
Most of the differences were superficial: they changed the cover art slightly and added a ® symbol replacing a ™ on the Official Nintendo Seal. On the rom itself, they changed the names of the lands in the ending, from a flavorful set of localized names to just Adjective Land eight times in a row.
But there were other changes, and one of them was a substantial difference in the code, one that required moving much of it around by seven bytes to make room for it.
What was it? In brief, there’s one level in the game, 7-3, that uses a vertical-only scroll instead of a horizontal or multi-directional scroll, and it writes the images of the cards in the status window to the wrong place. So in the original release, on that one level, the card images are mysteriously blank during the vertical section.
That was fixed in the revision, which meant a check for what kind of scroll the level was using, and which changed the pointer to where to write them. Code needs space, and that space came out of a section of unused bytes at the end of the rom, with all the code between the change and that section shifted to account for it. If you had a Game Genie code that relied on data in those memory locations, too bad! You’ll need a modified version of that code.
Here’s the full low-down, which goes into much greater detail:
Sundry Sunday is our weekly feature of fun gaming culture finds and videos, from across the years and even decades.
I think I’ve posted some of these before, but I don’t think I’ve done all of them, and I’m cleaning some links out of my list. So let’s take another look.
These are from a six-or-so year old meme that began with putting creepy (but not too creepy) music to battle music from perennial retro JRG favorite Earthbound. Earthbound had lots of weird and crazy enemies, so they fit fairly well. But they’re not all Earthbound collections, just so’s you knows.
I’ve got quite a few of these links. I could spread them across weeks, but I’ve got other posts to make, so I’ll just unload them all at once. Watch as many as you can stand.
The video refers to a shorter video (19 minutes) by Zarithya, who solved some particular technical issues that made the 16-player game possible. If you’re in the mood for the full journey watch the above video; if you want less of your day consumed, try this one:
The gist: Faceball 2000 was a console (and portable) recreation of an Atari ST game called Midi Maze. Midi Maze was probably the first true FPS. Faceball 2000 got releases for multiple platforms, but the first, and most impressive technically, is probably the Gameboy version.
Developer Xanth Software F/X had a 16-player version of Gameboy Faceball working internally with special cables. Nintendo wanted them to support their new four-player adapter, but the mode that allowed for 16 players with the rigged cables was left in (it still works with an ordinary Gameboy link cable, jut limited to two players), although the devs noted in a 2005 interview that they had only managed to test it with up to 10 players.
Zarithya managed to figure out a way to play it with higher player counts with minimal extra hardware, and also discovered, and fixed, a bug that made 16-player games impossible with the code as released. It’s a pretty accessible explanation, you can probably understand it without much of a technical background.
That’s the main point; for the full story, the videos above are available. Enjoy, if you have the time!
It’s true. It’s meant for things like WiFi login pages and displaying online manuals, but it doesn’t have a field for entering URLs yourself.
Seems unfair to me, but I suppose they thought everyone has a smartphone these days. (Until recently, I didn’t!) And I understand the web browser was a persistent security hole for the Wii-U. So while they include a web browser in the Switch for those reasons, it’s locked-off from the users. It’s still a security risk, mind you.
Now, a weird thing about the Switch is it’s multitasking system. The OS reserves a large portion of its memory for an “applet.” This is one of a number of system programs intended to provide a number of services to the user and running game software. Each of the round button options on the Home menu starts up an applet. The eShop is an applet. The system keyboard is an applet. And the web browser is an applet.
One thing about the applets is only one can run at a time! Games can actually run in the background while the Home menu and an applet are open, but if a game calls upon the system keyboard to enter text, then you go to the Home menu and open something else, the keyboard will stop. When you return to the game, it’ll have to be restarted.
Sundry Sunday is our weekly feature of fun gaming culture finds and videos, from across the years and even decades.
It’s a little old, but we do claim here that sometimes we’ll post things that are decades old. This one’s only five years of age.
It’s an animation of audio from a (adjusts glasses) “Kirby drama CD.” I don’t want to image what the rest of it is like, but this part at least is funny and adorable and pretty much keeping in Kirby’s character of being enthusiastic about everything. It’s only 45 seconds long:
Who set up Popstar’s phone service? This seems to be a land line! Did Waddle Dees build it? Did they contract it out to Magolor, who has set up a network of satellites Starlink-style? Did King Dedede pay for it? Is it a naturally occurring phone system? Who the heck knows, poyo!
Sundry Sunday is our weekly feature of fun gaming culture finds and videos, from across the years and even decades.
Its from Dorkly, a gamer content channel on Youtube. I usually try to keep the finds we present here to one-person operations or similar. But the animation (2 ½ minutes) is entertaining, and it addresses the experience of those people standing to the side watching others beat the crap out of each other. I’m surprised they don’t take an accidental Hadoken from time to time. Doesn’t seem very safe to be at ringside for a Psycho Crusher.
The (very most barest) basics are explained in this five-minute video from Game Facts Special:
The (impossibly detailed) specifics are on Sonic Retro. Warning: you have no idea.
Can I summarize them briefly? Not really, but here’s the basics. The tiles link to a list of heights for that tile. If Sonic is traveling vertically up a wall, then the heights count as widths. If upside-down, then the inverse of the tile’s heights are used.
Every frame, Sonic emits four or five “sensors,” basically raycasts, around his feet and head. Those indicate where he’s standing and where the ceiling is. If he’s traveling vertically the rays are rotated 90 degrees in the proper direction, and for an upside-down Sonic they’re rotated 180 degrees. Additionally, each tile has a record of what its angle is, and that’s used for things like how it affects speed and what angle Sonic should jump at.
When going around a loop, Sonic’s sensors remain as normal until up past 45 degrees up the first ramp. Then his sensors rotate, and he’s now going up. 135 degrees around the loop, it rotates again, and again at 225 degrees, and one more time at 315 degrees. The same height values get used for each slope, just used for different purposes. It’s surprising it works as well as it does, really.
This seems like it’s going a bit too far to me. That’s the very phrase, “going too far,” that video creator 100th Coin uses, when he finishes Super Mario Bros. by swapping cartridges in mid-play.
And it’s not even really swapping cartridges. This is a TAS, a tool-assisted speedrun, so instead of physically removing a cartridge and putting in another one within a single machine cycle, it just switches rom images into an emulated machine’s address space.
It’s pretty ludicrous, but at least the video maker is upfront about this. Correction: they’re up front about it within their 40-minute video, but not in the title. The title is pretty click-baity, but I guess creators get views however they can in the Youtube hellscape of 2025, if content makers can survive.
Sundry Sunday is our weekly feature of fun gaming culture finds and videos, from across the years and even decades.
If you’ve been following Sundry Sunday for a while here, you might have caught on to a few trends. One, too many Nintendo characters. And two, I have a high resistance to schmaltz.
There’s fifty-pound bags full of unearned sentiment just laying around the Youtube platform, and most of it I will have no truck with. A lot of it depends on your past connection with characters, and despite surface appearances, I don’t have a lot of connection with game characters. And it feels like theft, to cloyingly play off of pre-existing characters in such cheap and easy ways.
But that’s not to say it can’t be done well, as in this short voice-acted slideshow that was released soon after the recent Super Mario Bros. Movie. The (newer) SMB movie definitely has its faults, but it also has some pretty deep cuts from throughout Mario’s history, and the best of those has to be Foreman Spike, semi-antagonist from Wrecking Crew, and Mario & Luigi’s boss in the mundane world of plumbing.
There are slight hints that, despite his abrasive personality, there is a tiny bit more to Spike than seems at first, and that’s what makes the slideshow, from GabaLeth, feel like it’s slightly more entitled to its emotion than your standard cartoon sugarjob. And it’s only a minute long. Here:
Final Fantasy games tend to have weird and crazy bugs, and VII was certainly no different. A bug beloved of speedrunners is called “Cloudsurfing,” where taking advantage of the way the game detects walkable overworld triangles and the way they’re cached to use Chocobos to walk over oceans and through mountains. Properly utilized, it can be used to skip a large portion of Disc 1.
Prior Final Fantasy games used a simple tilemap to represent terrain. Final Fantasy VII’s overworld switched over to a world made up of triangles, each of which with a terrain code that indicated which entities can traverse it.
The triangles, additionally, are divided into square chunks. No triangle extends outside its chunk. Additionally, in each chunk, the triangle vertices aren’t represented literally for each triangle. Instead, the triangle coordinates are indexes into a list of coordinates, all to save a bit more memory.
Now, while each chunk is much smaller than the entire overworld, each can have over 100 triangles, so the code does some additional optimization. It keeps track of the last six triangles Cloud has touched, and checks them first when moving. If a triangle in this list is touched, then the search is stopped without checking the 100+ other triangles in the chunk.
Now, chunks are loaded into memory dynamically as Cloud explores, both for interaction and for rendering. The game loads the 25 chunks immediately around him off the disk, and some more in the direction the camera is facing. These chunks are constantly going stale (going out of range) and being refreshed as Cloud moves and the camera changes direction. Chunks are stored in a linked list, so are usually located by pointers, which means the chunks don’t need to be actually moved in memory, but instead references to them are copied and moved around. Some older chunks stick around in memory, then, while new ones are loaded, and the new chunks get moved to the top of the list.
Now this is the hardest part for me to explain, as I don’t have the firmest grasp on it….
When Cloud boards most vehicles, his entity is despawned and the vehicle is created with an empty list of cached triangles. But when he gets on a Chocobo, his entity is not despawned. While the Chocobo has its own cached list of triangles, since Cloud is still being rendered on screen, his entity is preserved, and with it pointers to the last triangles he interacted with. These are kept, unused, while the Chocobo handles all of the collision and terrain checking.
When Cloud gets off Choccy, he still has a list of the last triangles he interacted with… but they refer to the data from the chunk he was last in. Now the game is smart enough that, if this is different from his original chunk, to refresh things, but if it’s the same chunk I think this doesn’t happen. But this doesn’t mean everything will work without problems. The chunks will probably be loaded in a different order, and that means the cached triangles will refer to different data.
And since the vertices themselves aren’t stored in the triangle list, but indexes* to another list of data, it’s possible for some of this data to come from outside of the expected area, and for there to be duplicated coordinates among them.
Due to the way FFVII figures out which triangle Cloud is in, if two of the points in a triangle are on the same location, the game becomes much less discerning about whether Cloud is inside it or not. And if all three of the triangle’s vertices are in the same spot, forming what’s called a point triangle, just a single dot, then the game can’t declare Cloud is outside of it at all! So long as that triangle gets checked first, then the game will think Cloud is inside that triangle, so long as he’s in the same chunk. This could potentially turn the whole thing walkable.
Did I get it sufficiently right? Watch the video, and decide for yourself!
* The English graduate in me demands I point out that I know I’m being inconsistent with the plurals of vertex and index. Properly, like how I’m not writing vertexes, I should be writing indices, not indexes. I think that index is used more in contemporary English, so I made an editorial decision to pluralize it in a more familiar way. There, explanation: given.
I had a bad fall from a bike a few days ago and my arm is still really weak, which has affected how much typing I can put into these posts. Still, I am getting better, and so here’s two videos of people installing Windows NT 4.0 to Nintendo consoles, using an ISO of the install CD and tools and information posted here, and in the Gamecube’s case some hardware mods.
This kind of hack isn’t of the type like people claiming to “install” Windows to a Nintendo DS, but in fact are using DOSbox running on the DS. They get a bit of credit for coming up with a clever solution, but it’s not running on the metal, in the parlance. This is about actually running literal Microsoft NT on the actual Nintendo Gamecube/Wii, with no emulation layers or similar shenanigan interposed between.
The first one is from “Spawn Wave,” who has the Bright Young Broadcaster style to his video, meaning, his records from a dark room of equipment, his camera close to his face, he speaks loudly and squeezes in that like and/or subscribe prompt early, and generally tries to impress personality into his video. Mind, I don’t think all of this has to be bad, and Spawn Wave is a lot less obnoxious than many other YouPotatoes I’ve seen. There’s a blessed lack of sound effects or swoopy editing. His video’s only nine minutes long, so if you’re pressed for time, this is the one to watch.
I tend to prefer videos more like Michael MJD’s overview, which is also much longer at 31 minutes. He’s installing on a Wii, which is more powerful and performs better, and doesn’t need hardware mods. His is of the Hands Intruding From Offscreen school of video, but he’s more laid-back, and with that much time can fit more information without having to squeeze it in. This is better for people wanting to positively luxuriate in the process of installing NT4 to systems not intended for it.
The question of why, oh why, someone would do this, must remain unanswered. Some people just like making computers do weird things. It’s an odd form of entertainment, but entirely valid. Now, when will someone get Linux running on CoreWar?
“Dr4gonBlitz” on Youtube found and played though a Nokia port of Castlevania: Dawn of Sorrow. It makes for a very interesting watch for people familiar with the original. (38m)
The player’s style is hyperbolic, in the common Youtuber style, but he knows the original. Dawn of Sorrow was made as a Nintendo DS game first and foremost, using many of its hardware features including its two screens and touchscreen, and I’m surprised any port was made, let alone one for pre-Apple smartphones
I always find it interesting to see how games get redesigned for lesser hardware, like the Tiger Game.Com port of Symphony of the Night. In Dawn of Sorrows’ case, most of the game’s souls, items and weapons were removed, the map was mostly kept the same but had some changes, several bosses didn’t make it, and “Aricado,” Alucard in disguise, isn’t even in the game. On the other hand, they added in a new item called a “Lost Soul” that serves as an auto-activating, one-time extra life.
The video is worth a look for IGA-style Castlevania fans!