Formatting a C64 Disk In 15 Seconds

Recently Commodore History investigated just how Commodore 1541 disk drives format disks, and why it took them over a minute. It was also an explanation of just what it means to format a floppy disk. We linked that last week.

Well, yesterday they posted a second video on matters involving formatting disks. (16½ minutes) This time they went over a routine written, for the same drives, that can format a disk in 15 seconds.

So, how can this new formatting method be more than four times faster? In a few ways. The drive’s normal format routine writes 1 bits throughout each entire track; the 15 second formatter doesn’t do anything like that. The stock routine attempts to size the between-sector zones differently depending on how far from the center the track is, and to make that work better it performs a measurement of how fast the drive motor runs. The quick format just uses a same-sized gap throughout the disk. It still reads okay because the drive uses the sync marks to find sectors, it doesn’t try to time the length of gaps when reading, it just looks for a sequence of 10 1 bits in a row. And Commodore’s format routine verifies each track as it’s recorded to the drive; the 15 second format simply moves on, assuming everything worked out.

The result is, the quick formatter does a worse job of setting up the disk, skipping some of the niceties of Commodore’s routine. I wonder if there are some cases where the quick format produces a non-working disk? The video notes that, because there could have been data on the disk before, it could result in cases where the drive gets confused when that leftover data resembles a sync mark or other essential drive structure. Commodore History mentioned at the end of the video that they tried to create such a disk, to see if it caused issues, but was unable to make it happen.

How the C64’s Disk Drives Formatted Disks

The 1541 disk drive was infamously slow, probably the slowest of the 8-bit floppy disk drives, the result of a VIC-20 Kernal bug that was inexplicably kept in the C64 for the sake of backwards compatibility. The problem could be fixed by writing your own disk routines, which is why so many games used fastloaders.

But the bug isn’t always at fault. The 1541 disk drive takes over a minute and a half to format a disk, but as it turns out it had good reason to, and the time consumed had nothing to do with the C64’s code because the drive does all the work itself; the Commodore 64 just waits throughout the process.

Commodore History goes into considerable detail on the process here (16½ minutes). During formatting the drive wipes out all the data that had been on the disk, lays down syncing structures, writes the disk ID to every sector, puts down the directory track and sets up the Block Allocation Map (BAM), and more. It’s an interesting, if not too useful these days, exploration of what disk drives at the time had to do to make the disk’s magnetic surface usable for data storage.

Variable Screen Position on the Commodore 64

I keep forgetting what this trick is called so even though I’ve mentioned it here before, I’m hoping this will cause it to stick.

Variable Screen Position, or VSP, is basically an abuse of the C64 hardware, a way to make its VIC-II graphics chip do something it’s really not meant to do, a way to get it to get its graphics data from memory in such a way that it does rest on the bedrock of 1K memory boundaries. Perhaps best known for its use in the 1993 classic Mayhem in Monsterland (video, 59 minutes), and more recently the homebrew C64 port of Super Mario Bros.

Without VSP, scrolling on the C64 beyond an eight pixel range is extremely processor intensive, and in fact cannot be done for the full screen in a video frame’s time on unmodified original hardware if moving color RAM is required too. Here is a page that describes it, and how to do it safely, that is, how to live with the memory corruption it causes on some hardware. I had mentioned before that it had to do with messing with the VIC-II memory refresh timing, but this page claims that it’s actually due to the VIC trying to access memory at a time when a read hasn’t stabilized.

Well anyway, here’s video of that C64 port of Super Mario Bros., so you can marvel as the system doing something that’s much easier on the NES.

White_Pointer Gaming Examines All the SNES Graphic Modes

White_Pointer Gaming’s series examining how different graphic tricks were pulled off in 8- and 16-bit games has been great, and now they have a video going over all eight (Modes 0-7) of the SNES background modes. (42 minutes)

In brief:

Mode 0: Up to four independently movable backgrounds, but with some pretty serious color limitations. Mostly got used for title screens.

Mode 1: Up to three backgrounds, two with more colors. The SNES’s most-used mode.

Mode 2: Two backgrounds, with “offset per tile” on one of them that lets the system move columns of tiles vertically by arbitrary amounts. Used for certain special effects, like (along with raster-based scanline placement) the waving flag in Battlemaniacs, Super Turrican 2’s worms and rockets stages and Panel de Pon/Tetris Attack’s rising game boards. Horizontal offset per tile was also possible, but much less used due to the coarseness of the scroll.

Mode 3: Two backgrounds, one of them gets either 256 colors or, using direct color, being able to specify colors without palettes, with 8 bits of RGB value. Often used for high-color stills. Earthbound’s “THE WAR AGAINST GIYGAS!” screen uses it.

Mode 4: Has the high color first layer of Mode 3, and the offset-per-tile effect from Mode 2 for its second layer (which has fewer colors than in Mode 3). Rarely used. Puzzle Bobble uses it for gameplay, to independently shift the playfields from the rest of the gackground.

Mode 5: Two backgrounds, with 16 and 4 colors per tile respectively, but supports high resolution with 512 pixels per scanline. Can’t do transparency (but can kind of fake it with dithering). Notably, the high res menu screens in Secret of Mana use this.

Mode 6: Only one layer, hi-res like the second layer in Mode 5, but supporting offset-per-tile. Often considered completely unused, White_Pointer Gaming found out that Lufia 2: Rise of the Sinistrals does use it during the credits.

Mode 7: The famous mode that supports scaling, shearing and rotation of a single background layer, used for special effects and fancy 3D effects in games like F-Zero, Pilotwings and Super Mario Kart. Supports 256 paletted colors or direct 8-bit RGB color.

Notably though, Mode 7 can’t actually do 3D effects on its own; it has to use another feature called HDMA. It uses a raster effect to change the horizontal scale of the background on each scanline. As it turns out, the calculations to do this on each line are substantial, which is probably why so many games that use Mode 7 to a significant degree use one of the SNES’ coprocessor chips, like the DSP or SA-1, to help the processor out. The video then rounds out with a discussion of the Mosaic function used in such places as the map transitions in Super Mario World and Final Fantasy IV (II).

Elsewhere, Retro Game Mechanics Explained did a 16-part series covering the SNES’ hardware feature in considerable depth.

MARCHintosh 2026

I feel like I’m a bit late on this one, but there’s still two weeks of March left. Some crazy wonderful people every year devote the month of March to classic Macintosh stuff, both hardware and software, and primarily things before the release of OS/X in 2001. The original MacOS traces its lineage all the way back to 1984’s original Macintoshes, and existed as Apple’s primary OS for 17 years. Now it’s been 24 years since the switchover, but a lot of people still like the system that served as Apple’s mainline OS for so long.

MARCHintosh has a website that organizes it, and even offers a style guide. It was created as a fruit-flavored adjunct of similar month-long pun-inspired retrocomputing celebrations DOScember (website currently down for a redesitn) and SepTANDY (doesn’t seem to have a home site at all). Should there be more? VICtober? JUNIX (thanx Ben Zuddist)? I vote yes, regardless of how terrible the pun is! Let’s fill the year with crackling, smoking old tech!

There is lots to find exploring the hashtag #marchintosh, this is just a few items. Level 2 Jeff emulated the original Macintosh on a microcontroller (15 minutes):

Michael MJD emulated Windows on a PowerPC Mac (32 minutes, but running, it should be said, OS/X, not classic MacOS):

Retro Repair Roundup did an hour-long video where they talked about old Macs:

It’s from back in 2019, but Ron’s Computer Videos showed off a Mystery Science Theater 3000 Hypercard stack! (1 hour 16 minutes) They have a whole MARCHintosh playlist too.

More MARCHintosh projects can be found through the #marchintosh tag on Bluesky and Mastodon.

MacOS Timeline

1976 Founding of Apple Computer (now Apple Inc.), release of Apple I
1977 Release of Apple II
.
. 6 years
.
1984 System 1, release of the original Macintosh
1985
1986 Systems 24 (sometime between 1985 and here)
1987 System 5
1988 System 6
1989
1990
1991 System 7, a.k.a. MacOS 7.6
1992
1993
1994 Switchover to PowerPC hardware
1995
1996
1997 MacOS 8
1998 Initial release of iMac, the beginning of the revival of Apple’s fortunes
1998 MacOS 9
1999
2000
2001 Mac OS/X 10.0 Cheetah (“OS 10,” now called MacOS), initial release of iPod
.
. 24 years
.
2026 Today

About Arcade Game Startup Displays

I was just thinking a few days ago, It’s been quite some time since we’ve heard from Retro Game Mechanics Explained. In fact, looking at their channel, it’s been eight months since their last deep dive into video game internals, their terrific (if somewhat dry) look into how Super Mario Bros. 2 stores and constructs its levels (1h40m!), drawing their tiles directly into a bank of work RAM specially included in the cartridge for that purpose.

Yesterday they broke their silence with an examination of the startup routines of arcade Galaxian, Teddy Boy, Joust 2, Pac-Man and Super Pac-Man. It’s “only” 41 minutes, but it’s hugely informative of the necessities of how and why arcades games go about arcading:

I will summarize. The main task an arcade machine must do upon startup is test as much of the hardware as it is able and confirm that it’s operational. The main part of this is testing the various memory types comprising the machine’s storage systems: audio, video and work RAM, and program and graphics ROM. Not just to test them, but to stop operation and alert the operator if something is awry. The garbage often shown on-screen on powerup is a direct result of writing and reading 0s and 1s to and fr0m every bit in the video RAM. The system must also check the contents of the ROM, which is usually done by adding all the values in each bank and comparing them to a known total, literally called a “checksum.”

It’s a fine explainer, even if they didn’t cover my personal favorite game startup, that of Twinbee and Gradius with the Bubble Memory system . The storage media of the game was unreliable unless it had physically warmed up, so when turned on it would play music while the game was making itself presentable, known fondly as the Morning Music. I posted about this way back in 2022! Here it is again. It would be an excellent tune to set a wake-up alarm on a cellphone. Just saying.

37C3 Unlocked: Turning Chromebooks into Laptops

37C3 was the 37th Chaos Communication Congress, held in 2023, and a talk was given there by elly and sdomi on the subject of unlocking and using Chromebooks as regular Linux-running computers.

That’s it. That’s all for today. It’s 39 minutes though, so it should keep you going for a while. If you’d like to avoid Youtube and its various vagarities, you can also get it directly from the event website.

Creator of C64OS Talks VIC-II Video Timing

It’s a pretty good run-down of the various weird timing issues of the Commodore 64. Machines at that time had to do all kinds of weird things to keep up the overriding priority of microcomputers of the time: building a consistent video signal that could be displayed on a television. Nearly all machines needed special hardware to do the job of keeping up the display, to give the CPU time to run user programs, or anything at all.

Circuit diagram from the linked article

The C64’s VIC-II video chip is a product of many compromises. The C64 could contain so much memory affordably because it used dynamic RAM, which requires periodic refreshes, and one of the tasks of the VIC-II was to handle that. It also needed access to main memory in order to build the display image.

But both of these actions conflict with whatever the processor needs to do, so the computer is designed to actually put the 6510 to sleep when the VIC-II needs to access memory. This is why, when the screen is blanked, the machine runs a little faster and more consistently, and that’s why the screen is blanked when a connected Datasette is loading programs from cassette tape.

VIC-II and FLI timing (part 1 of 3, c64os.com)

Use a GBA as a Switch Controller, No Fooling

It is true, but you do need some extra items. Not only the Gameboy Advance, but a Gamecube, a GBA controller cable, the Gamecube controller adaptor (the one made to support Smash Bros. games) and a Gameboy Player with boot disk. But if you have all of these items, none of them need to be modded. It’s all Nintendo code and hardware, baby!

The process is to boot the Gamecube and Gameboy Player with the GBA plugged into it with the cable. Then turn off the Gamecube leaving the Gameboy Advance on, disconnect the GBA cable from the GC, then plug it into the Gamecube adapter plugged into a USB port connected to the Switch. If the GBA is still powered on, it should be usable as a Switch controller at that point, until it’s turned off!

If you don’t have them all that kit, a modded GC or Wii will also suffice for the Gameboy Player. It’s all demonstrated in NotRealEric’s video. There is also some alternate hardware usable, including third-party adapters and connectors. The video is ten minutes long, but the setup is in the first 3½ minutes of it; the rest is demonstrating some use cases, including Mario Kart 8 Deluxe.

The hardest to find of these devices now, if you don’t use modded hardware, is the Gameboy Player, which is quite expensive used. But if you do happen to have all the pieces, it’s quite the hack. It seems to work due to a controller-emulation program the Gameboy Player (or modded GB or Wii running mGBA) sends to the GBA, which, amazingly, is Switch compatible.

Maybe you have a magic combination of gizmos lying around to use this trick, and use a GBA as an extremely limited Switch peripheral? Yeah, let’s not kid ourselves, this is pretty silly and doesn’t have a strong use case, considering that Switches come with two Joycons, but it’s amazing that it works at all.

The Ultimate Gameboy Talk

It’s a busy day for me coming up, so here’s one from my list of Youtube links: the Ultimate Gameboy Talk (1 hour 1 minute) by Michael Steil, but you don’t have to watch it on YT, as it’s also hosted on the website of Chaos Computer Club in various formats. The embed below is from Youtube though, since they usually have pretty good embedding:

This “ultimate” talk is ultimately about the hardware, its internals and quirks, and tricks that can be pulled off in it. Sure, it’s very technical and extremely geeks, but that’s pretty much the standard around these parts. Enjoy!

Luxocrates’ Project to Get C64 Commando Music Running On Arcade

I am back from DragonCon, but got hit by a staggering blow from life (which I will not mention the details of here) that’s going to take me a long time to recover from. So in the meantime, please enjoy this 19 minute video in which someone on Youtube describes his plan to get arcade Commando (a.k.a. “Wolf of the Battlefield”) to play Ron Hubbard’s excellent soundtrack from the C64 port.

Arcade Command didn’t have bad music at all, but Ron Hubbard’s score is generally regarded to outshine it. The two hardware platforms are really different: the C64 has a 6502-workalike and the legendary SID chip, while the arcade version used a custom platform. This is a first video in a projected series, so at this point we don’t even know if he’ll be successful. Let’s hope.

An ALU Implemented in K’nex

A lot of your less tech-savvy people look upon computer chips as some kind of magic, at least judging by how Hollywood movies depict hacking. And aliens can take control of computer systems just by inserting part of themselves into some console and sort of glowing while ominous music plays on the soundtrack.

But everything that happens in a processor is the result of simple logical operations: ANDs, ORs, NOTs, XORs and memory, all connected in different ways. And there’s some redundancy in that list: some of those logic gates can be constructed out of the others. The whole point of computers is you can perform billions of simple operations in a second, and complex operations are made out of lots of simple ones. When you’re working with binary numbers, all you need are simple operations.

Because of this, computers can actually be built out of physical parts, without even electricty, they’ll just be much bigger, and slower, and less durable, and may need some motor attached to them. Mechanical calculators have existed since the 1700s, and in the 50s-70s were common sights in offices. Arguably the first general-purpose computers, Charles Babbage’s Difference Engines (Wikipedia), were made from mechanical parts, but they had the disadvantage of not being made out of colorful pieces of plastic.

Shadowman39, an artiste who works in the medium of K’nex, has made a number of devices out of those construction toys, but an ALU, an Arithmetic Logic Unit that can increment, add, AND and XOR two binary numbers, is probably his most “practical” creation. He shows it off in this 15 minute Youtube video:

I want to see an alien that can nebulously control that monstrosity.

This ALU is one part of a larger processor project that’s still being built. I hesitate to call it a “microprocessor,” maybe we should call it a macroprocessor. We wish Shadowman39 the best, and hope he has enough time, energy and parts to realize his wondrous, ludicrous dream.