I was asked by a viewer if the Roland SoundBrush that I showed in an earlier episode can also be used to record MIDI music from a PC. And yes of course, it can. With some caveats though! I connected the SoundBrush to my 486 PC and tried a few games. Lucasfilm games were running into buffer problems on the SoundBrush, but Sierra games were playing nicely. Let’s have a look and a listen how you can wire up the SoundBrush, format some floppies and record some MIDI files!
Category: Uncategorized
Let’s Code x86 Assembly: 0x06 Tic Tac Toe JMP and CALL
In this episode we learn how to program a little tic-tac-toe game for two human players. No AI, just the input and output and the winning condition! We learn different methods to compare registers and memory locations, different conditional jumps and how to save a few bytes by replacing CALL instructions with JMP.
The Commodore 1541 Frankenstein
I have a couple of broken 1541 floppy drives for the C64 and similar machines. Some have broken mechanisms, of Mitsumi variety, where the read coils are fried, but also one drive that has supposedly some PCB issues. Let’s see if we can assemble a Frankenstein 1541 drive by taking bits and pieces from each drive!
Let’s Code x86 Assembly: 0x05 Primes and Variables
In this episode we learn how to declare variables in assembly language. Also we learn how to access data from pointers stored in registers. We learn a couple of jump instructions and how to loop. We use this knowledge to compute all prime numbers below 1000 and print them to the screen. As usual this is based on the book “Programming Boot Sector Games” by Oscar Toledo.
Zelda: Majoras Mask Rescued From the Flood
Last time we restored Ocarina of Time to its former glory, this time it’s Majora’s Mask. This N64 cartridge was hit by last year’s flood, which besides hurting lots of people also claimed the less important artifacts, such as retro game collections. Here we have one example of a cartridge that was salvaged by the owner, before he sold it to me, untested. Let’s see if we can clean it up and get it going!
Let’s Code x86 Assembly: 0x04 DIV and Debugging
In this episode we learn how to use the DIV opcode for dividing integer numbers, how to print integer numbers to the screen, as well as how to use a debugger to understand what our program does. In all coding tasks looking for errors and understanding what the program actually does is a key aspect. So a debugger (here we use the Turbo Debugger by Borland) is a very useful tool that every developer should know how to use.
The McCake Roland MT32 Emulator
So you always wanted a Roland MT-32. Even as a kid you saw it in ads, and in the setup programs of games. But it was way to expensive. And today you still will pay upwards of 250 EUR for a working device, which is more than 30 years old. So why not emulate it? There is now a Waveblaster compatible module that will fit on many retro sound cards and which is able to emulate the MT-32 as well as SoundFont based GM and GS compatible synthesizers.
Game Gear Shell Replacement
The SEGA GameGear that we revived in the last video gets a new shell! The old one was beaten up pretty roughly. And new shells in all kinds of colours are still made to this day. At the same time I will be replacing the electrolytic caps with small SMD ones. I disliked how the electrolytics were all over the place, making the shell hard to close. However something went wrong in the end, due to my own negligence…
Reviving a Dead SEGA GameGear
I have had this SEGA GameGear lying around for a couple of years. I got it very cheap, because it was sold as broken, for parts. It came with a few games and the TV Tuner. Upon trying it out I noticed the power comes on, but all else seems dead. The GameGear is prone to have very bad capacitors, so that is the first order of the day: recapping! This and a modern LCD replacement are what we are going to tackle in this episode!
Let’s Code x86 Assembly: 0x03 Simple Keyboard Input
This is part three of our x86 assembly series. In this episode we learn how to do simple single character keyboard input. We use this to code a little game “Guess the number”.