McMartin

Professional software developer, vintage computing nerd. Some modern graphics/game-y stuff too.

I'm off hiatus on my blog! I don't expect the new pace to be as regular as we saw over the last year or so, but it's probably going to take a month or so just to put all the toys I found *during* the hiatus to proper use.

This week I'm taking all the DOS stuff I wrote for Turbo C years ago and seeing how OpenWatcom can handle it.

bumbershootsoft.wordpress.com/

#retrocomputing #dos #msdos

@pervognsen If you disable the binaryen post-pass, Emscripten will cheerfully generate static-initializer functions with tens of thousands of locals.

As I understand the WASM spec it's theoretically unbounded, and Emscripten rolls with that, but it turns out most current runtimes will refuse to load something with more than 50,000 locals.

@glassbottommeg I think that this is a road where you end up reinventing the concept of speedrunning, tbh

It's done. I've indexed all my platform-specific toolchain-and-hardware articles and re-verified that the links are all live and the processes all still work.

This was during a blog vacation. I think I'm going to need a vacation from the vacation.

bumbershootsoft.wordpress.com/

#retrocomputing

@CarlMuckenhoupt This seems like a line that is designed for yacc and bison to walk directly down the middle of

@joshg @CarlMuckenhoupt My first paid programming job involved using Visual Studio 5 to make an ActiveX control in C++ for embedding in a Visual Basic application written by others on the team and I have _much_ harsher memories of that edition of C++ than I do of the VB of that era.

Interacts oddly with this rant though because that was the era of MIDL, which was autogenerated "source code" VERY CLEARLY neither by nor for humans. Should it even be reckoned as source?

My last two platform guides are the SNES and Genesis, and I've been putting those off because "tiny, single-file, self-contained Hello World program built in one or two commands" was looking like a nightmare.

Procrastination pays off: in writing my dozen other guides I've gotten good enough at this that I was able to fit each one in under 100 lines of asm source, including HW initialization and graphics data.

Should be wrapping this whole thing up in a week or so!

#retrocomputing

McMartin boosted:
Aras Pranckevičiusaras@mastodon.gamedev.place
2025-04-24

“How a 20 year old bug in GTA San Andreas surfaced in Windows 11 24H2” cookieplmonster.github.io/2025

McMartin boosted:
Anatoly Shashkin💾dosnostalgic
2025-04-23

I cannot describe emotions I experienced when I found out *why* Treasure Island Dizzy only gave the player a single life to beat the entire game with:

“The problem was if you died underwater, from, Say,
taking on the aqualung you'd drown, but which coast
would he be reset to? We have to think about whether
we gave him back anything that’s been put down
underwater and we got a bit stuck. We realised the
same problem could occur elsewhere in the game and
that, after dying, it May not be possible to complete the
game. It was too late for a redesign and so we gave him
just one life. We felt bad about this.”

@CarlMuckenhoupt Also, and putting the nonsense in its own less public post: one may be an edge case and the other a glitch, but both are diagetically appropriate. After all, surely Rad Spencer, BIONIC COMMANDO, has special lungs that let him scream as much as he wants

@CarlMuckenhoupt This discussion has reminded me two things:

* In the very first Tomb Raider, if you launched Lara off a tall enough height she would run out of breath to yell before actually hitting the ground
* There is a glitch in Bionic Commando Rearmed 2 that could cause the main character to do a battle cry and then just keep screaming forever

Both of these seem like sensible solutions, to be honest.

Four weeks in to my ostensible hiatus and I've written NINE platform guides, with the remaining four neatly plotted out.

As part of updating the instructions from the old blog posts I've also ended up being introduced to something like five new devkits or toolchains.

Taking a break is when you're posting twice as often, right?

bumbershootsoft.wordpress.com/

#retrocomputing

McMartin boosted:
💜 AdoraBeryl 🩷Rasp@raru.re
2025-04-08

boost this cat when they least expect it

A CAT YOU DIDN'T EXPECT

Moving out of the 8-bit era in my platform guides. There's a fork of GCC 13 that targets the Atari ST! That's pretty cool.

Making the tutorial, however, is not. I swear to God that the GNU Assembler team intentionally picked the worst possible syntax for each platform

I have many unkind things to say about AT&T syntax on x86, but MIT syntax for m68k is even worse.

VBCC/VASM will be remaining my primary toolchain recommendation, license permitting.

#retrocomputing

Whew. The most difficult of my platform guides is done. I think I have more C64 material on the blog than any other platform.

bumbershootsoft.wordpress.com/

#retrocomputing #c64

@persenche @SJohnRoss

My two personal favorites from my own work are:

"A person can be on-fire. A person is seldom on-fire."

"After showing a component (called their doom) to Those Fools From The Institute: now their doom is sealed; continue the action."

@rygorous EGA and later VGA breaking a bunch of CGA stuff might have actually helped there, come to think of it.

@rygorous I would have had a use for it about a year and a half ago, and I had to find workarounds.

Does this improve things? Probably also no!

McMartin boosted:
2025-04-01

Nice Myst analysis: a graph of the original game's nodes, extracted from the Hypercard source code.

glthr.com/myst-graph-1

@CarlMuckenhoupt My rule of thumb has generally been that, barring something unusual about the game or its achievement mechanics, if I don't have all the achievements rated 10% or above I haven't really given it a fair shake yet

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst