The Commodore DM602 is a small 10″ monochrome CRT, which pairs nicely with the VIC20 or C64. It has a built in speaker and a nice, very bright and sharp picture tube. This particular screen has a tiny problem, namely the video input socket broke off the PCB, so we will have to repair that. Also we will compare using different video cables on the C64, composite and YC (Luma/Chroma). This has some interesting visual side effects on the CRT.
Author: root42
Let’s Code MS DOS 0x1E: Power BASIC Snowflake
For this year’s Christmas Episode of Let’s Code MS DOS we are revisiting Power BASIC and will be coding a very seasonal snowflake. It will be based on the Koch curve, especially implemented using an L-system. This is a rather easy system to describe fractal structures. It is not as hard as it might seem and you will be able to adjust the curve to display different things.
C16: Look Inside & Upgrade to 64K
The Commodore 16, or C16 for short, is one of the few machines that Commodore designed and produced in the mid 1980s based on the TED chip. They were supposed to be cheap, entry level home and business computers mainly geared towards text display. But they also had some graphics and sound capabilities. They sadly fell short of their goal, mainly due to the fact that founder Jack Tramiel left Commodore and new management didn’t really know what to do with the TED machines. The C16 is a brother to the more sci-fi looking C116, but comes in a classic C64 style breadbin. We will have a look inside, upgrade it to a more usable 64KiB of RAM, and play some games and demos on it!
Let’s Code x86 Assembly: 0x02 Arithmetics
In our second episode of the x86 assembly programming course we learn about how to do simple arithmetics on the 8086 and compatible processors. We also set up a simple NASM library for outputting digits to the screen.
The Gravis Ultrasound ACE
Back in the early 90’s the Canadian company Gravis came out with a range of sound cards called “Ultrasound”, or GUS for short. They were meant to be Adlib and Sound Blaster compatible, as well as having a versatile Wavetable synth, which could be populated with custom samples. It was similar to what the Amiga did, but with way more concurrent samples or channels.
The Sound Blaster compatibility was lacking at best, or non functional in other games. So at one point Gravis left out all that made the GUS compatible and simply put the Ultrasound part on a card called the Audio Card Enhancer (ACE). This card is very sought after nowadays, as you can simply plug it into a retro machine alongside an existing SoundBlaster card. Let’s have a look at it!
Let’s Code x86 Assembly: 0x01 Hello World
In my Let’s Code MS-DOS series we already did a little bit of assembly language. However I think it is more fitting if I start a new series on x86 assembly, as I want to keep the original series so that it uses only C and BASIC.
This series will use Oscar Toledo’s book “Programming Boot Sector Games” as a guideline, and we will use examples from his book as a foundation. Many thanks to Oscar for allowing me to do this.
In this first episode we will start off simple, with the classic “Hello World” program.
Rebuilding: Zelda Ocarina of Time
In the last episode we refurbished a corroded “Zelda – The Ocarina of Time” cartridge for the Nintendo 64. After this the cartridge worked fine, however I was not happy with how broken the gold edge fingers on the cartridge looked. So I looked around and wondered: maybe someone designed a replacement PCB for old cartridges? And sure enough: The N64 Preservation Project has PCB designs for the four major cartridge types. So I ordered some PCBs and we can rebuild the cartridge from the ground up!
Quick Refurb: Zelda Ocarina of Time
Some months ago I acquired a Nintendo 64. It was missing a controller, power supply and games, and since then I got the missing parts as well as a wonky cartridge of “Zelda: Ocarina of Time”. When trying the cartridge it wouldn’t to anything, the screen stayed black. Closer inspection revealed that the edge connector of the cartridge was pretty corroded.
Upgrading the FeTAp 751
I am using an ancient German telephone, which goes by the name “FeTAp 751”, or Fernmeldetischapparat for short. It is a lovely orange 80s piece of equipment. But it has one drawback: it only supports pulse dialing, which isn’t supported by my WiFi router anymore. Since all German landlines use tone dialing by now, I can’t connect this phone directly, but need a converter. That converter used to work on a different router, but doesn’t on this one. So we will swap out the whole numberpad! The German Postal service made a similar phone with tone dialing. And you can still get a tone dialing number block as “new old stock”. So let’s swap it out and see if we can start calling people again!
Let’s Code MS DOS 0x1D: Melting the VGA Screen
One of the effects that is easy to do on machines like the C64 or Amiga is the „melting screen“. In theory you can do such things just by copying lots of pixels in video memory. However the VGA is rather slow for doing that. So what we will do instead is cleverly manipulating the CRTC registers of the VGA to achieve a similar effect. This lets us move big portions of the screen without actually copying any bytes.