Browsed by
Category: Technical

4AM Apple floppy archiving effort

4AM Apple floppy archiving effort

Apple II copy protection was a really interesting thing. While floppy controllers were partly hardware/firmware devices, Apple II floppy disk controller was incredibly simple and most of the work of reading/writing was done in software. This meant that copy protection schemes for the Apple II could utilize a LOT more clever and difficult tricks such as custom data encoding, half tracks, empty tracks, bad crcs, bad addressing headers, etc.

As time has gone on, original Apple II disks are becoming more and more scarce. Even worse early cracking efforts often hacked the games in ways that got around disk protection, but also removed or broke things. Unfortunately, that meant removing opening cut scenes or other game-altering changes.

The 4am Archive on the Internet Archive is an attempt to back up those original copy protected games as they were. So far there are 1673 Apple II titles safely imaged.

4am has even been interviewed by Paeleotronic on how and why he went about this. He even provides some of his tools like Passport.

Definitely give the interview a read and also check out some of the games on the archive. Many of his images (like Maniac Mansion for Apple II) come with a text file that gives all the details about what protection was found and how he worked around it.

Being Design/Engineering led vs Marketing led

Being Design/Engineering led vs Marketing led

I think it’s very important for creative people and developers to try and make something on their own, and then see if it’s fun or not. The game development process in Taito eventually changed, and we, the game creators, were increasingly expected to listen to the sales team, which came up with new title concepts they thought it would sell.

Personally, I don’t think that is the correct approach. Creators should try to make a game on their own first, and then it should expand into a larger project. This is what I’ve felt throughout my whole career.

The point is that it needs to be creatively led first, before the management gets involved. If you don’t try to make something first, you will never know if it’s fun or not. Younger people who want to make games should play really old games. They may not have good graphics, but there is something shining within them in a playable sense. There’s definitely something to be learned from those games and also to inspire people to make something new. Forget about the graphics, focus on the core design. What makes it fun.

Tomohiro Nishikado – creator of Space Invaders (and countless other games)
A cluster of displays

A cluster of displays

NTT describes newer advances of using scattered monitors to create an image. Robert Kooima previously wrote about using a clutter of monitors to create a image in his 2008 paper “Generalized Perspective Projection”

Interestingly, he found using just a random arrangement of monitors apparently doesn’t won’t work. The array is carefully calibrated to display a two-dimensional code on each monitor, then photographed in order to understand “the positional relationship between monitors.”

Self testing a Roland MT-32

Self testing a Roland MT-32

To self-test a Roland MT-32, turn the unit on while holding down the 3 button, Volume and turn on the unit to enter test mode. You can check all the keys and play some test tones. To test the midi, you need to have the midi cables plugged in. To play a demo song, just hold just Master Volume. The “MIDI Message” light should flicker if it receives data.

Here’s a great guide for setting up an MT-32

Programming without an OS

Programming without an OS

Inkbox decides to program without an OS. Back in the day, we used to do this by programming directly to the system or to BIOS with interrupts for things like disk, device, and display access.

Fast forward, and if you want to do this today, one doesn’t talk to BIOS – they need to program via UEFI services. Inkbox walks us through doing multi-core bare metal programming of the old game Zaxxon. It’s excellent work and fun walkthrough.

Replacing your Subaru mid 2010’s Crosstrek Headlights

Replacing your Subaru mid 2010’s Crosstrek Headlights

Once your car gets about 10 years old, one of the most annoying things is that headlights dim and yellow. This is due to a number of reasons – but primarily due to the degradation of the UV coating. You can buff it off, but it often quickly returns and you’re stuck with an annoying chore almost every year.

Another option is to buy replacement headlights. In the old days, you simply unscrewed the old bulbs and put in the new ones. Now you need to remove the assemblies – which often involves removing the bumper and surrounding shrouds – as is the case with mid 2010 Subarus.

The Crosstrek/Impreza’s in the 2015 era were actually not that bad to replace. TRQ does a great job showing you how to do the job yourself – including how to re-aim the headlights. It’s a great video.

Tool for measuring AI enhanced GPU image quality

Tool for measuring AI enhanced GPU image quality

Engineers at Intel released an open-source tool that tries to quantify the issues from increasing amounts of upscalers, frame generators, and AI rendering techniques. Ironically, the tool itself is an AI trained on large datasets. Their paper about the methodology is located here.

CGVQM is a video quality metric that predicts perceptual differences between pairs of videos.
Like PSNR and SSIM, it compares a ground-truth reference to a distorted version (e.g. blurry, noisy, aliased).

What sets CGVQM apart is that it is the first metric calibrated for distortions from advanced rendering techniques, accounting for both spatial and temporal artifacts.

CGVQM is available for free on github and uses PyTorch optimized for CUDA GPUs though it does work on CPUs.

Other links:

Compute! Type-in programs

Compute! Type-in programs

I got my start in programming with type-in BASIC programs. Back in the 80’s, almost every computer had BASIC built-in, but almost no kid could afford games. Or even get them – the nearest store that sold software from me was over 30 miles away. Mail order took 2-3 weeks. On top of that – kids are notoriously broke. What I did have was a library, and plenty of time.

Enter Compute! magazine. After ravenously devouring all the programming books our small Carnegie library had, I branched into magazines. BYTE was too news oriented and didn’t have type-in programs; though reading about the technology was fun. When I found Compute! – I was hooked. I eventually checked out just about every single magazine they had a dozen times over. I remember digging in the downstairs old issue stacks in search of any I might not have seen. I spent whole weekend afternoons typing the programs in – and then even more hours debugging each line to figure out where I’d gone wrong.

Nate Anderson recently wrote an article about those early days of type-in programs. Even more fun is the comments section full of people sharing their similar experiences.

With the internet and instantly available content and content development tools – it makes me wonder how the next generation’s engineers will develop. How will the instantly available world of free software and tools shape them compared to our generation of type-in programmers?

Thankfully, all these wonderful magazine scans have been saved in the Compute! Magazine Archive on the Internet Archive. I even sat down and typed one in (well – heavily utilized OCR as well!). What a blast.