Category Archives: Retro

Multi-review: MSX Memory Mapper, MEGA-MAPPER and MEMORY SAMURAI (Part 2 of 2)

Posted by in Hardware,MSX,Retro,Reviews,Technology | July 18, 2016

The previous part of this post ended with a few quick words about the MEMORY SAMURAI. Let’s continue where we left.

MEMORY SAMURAI by Classic PC & Game Rescue Committee

MEMORY SAMURAI / Classic PC & Game Rescue Committee

MEMORY SAMURAI / Classic PC & Game Rescue Committee (click to enlarge)

ManufacturerClassic PC & Game Rescue Committe

The MEMORY SAMURAI arrives in a clear vinyl bag including the cartridge and a paper sheet with instructions. It’s nice enough, though a box would have been much better.

Keep reading below for the full review.

Read more ›

Multi-review: MSX Memory Mapper, MEGA-MAPPER and MEMORY SAMURAI (Part 1 of 2)

Posted by in Hardware,MSX,Retro,Reviews,Technology | July 13, 2016


How do you even review a memory expansion cartridge? Usually you just plug it into a cartridge slot, turn on the computer, and that’s all: your MSX computer now has more memory. There isn’t really much else to say, or at least there wasn’t, until now.

In this review we’re going to see two traditional MSX memory expansions (Repro Factory‘s MSX Memory Mapper and 8bits4ever!‘s MEGA-MAPPER), plus a very special new arrival: Classic PC & Game Rescue Committee’s MEMORY SAMURAI, which brings an astonishing 16MB of memory to our MSX computers.

I’ve never seen so much memory in an MSX computer before, much less know what to do with it. It is awesome nonetheless.

Keep reading, because there’s a lot to talk about.

Read more ›

Relearning MSX #45: Pointers, arrays and strings (Part 2)

Posted by in Development,How-to,MSX,Retro,Technology | June 20, 2016


In the previous post we learnt what pointers are, their properties, and how to use them. However, most likely this didn’t help understand why pointers are so useful or why we even need them at all. Today we’re going to take care of that.

Pointers are most valuable when combined with other functionalities of the C language. Let’s start by taking a look at how they work with arrays.

Read more ›

Game review: Uwol, Quest For Money (MSX2)

Posted by in Fun,Games,MSX,Retro,Reviews,software,Technology | June 19, 2016


Back in 2009 the Spanish group Mojon Twins released Uwol, Quest For Money for the Spectrum 128K and made the full game and source code freely available for download. Later, in 2010, Shiru released a Sega Genesis port based on Mojon Twins’ code.

Now (June 2016) Imanok releases an MSX2 version. This is the one this review is about.

Uwol, Quest For Money - MSX2 title screen (click to enlarge)

Uwol, Quest For Money – MSX2 title screen (click to enlarge)

Read more ›

Correcting wrong assumptions in an post

Posted by in MSX,Retro,Stupidity | June 8, 2016

Today Sander Zuidema (snout) has published a note about me and the MSX Association in the MSX Resource Center. Here it is:

(Click to enlarge)

(Click to enlarge)

This post contains a few wrong assumptions.

I’ve received already several emails regarding this from MSX users around the world (mostly Brazil, probably because of the time zone), so let me correct the wrong statements before I get too many emails to reply one by one:

Read more ›

Relearning MSX #44: Pointers, arrays and strings (Part 1)

Posted by in Development,How-to,MSX,Retro,Technology | May 24, 2016


Pointers are a special type of data in the C programming language (and also C-like languages). In short, a pointer is just a variable that contains the memory address of some data in the computer. It’s a simple concept, but pointers are always a source of confusion when we’re learning the language. However, once understood they become a powerful tool that provide lots and lots of flexibility.

Today we’re starting a short series explaining what pointers are and how they can make our programs much more interesting. As always, don’t hesitate to ask in the comments below when anything isn’t clear.

Let’s begin.

The address operator (&) and the indirection operator (*)

Computers store all program data and variables in an area known as memory. In MSX computers memory is organized in 65,536 cells(*), each containing a number between 0 and 255 (known as a byte).

Each memory cell is identified by a number between 0 and 65,535 (0x0000 – 0xFFFF in hexadecimal). We call this the memory address.

It’s easy to visualize this concept if we think of the computer memory as an spreadsheet with 65,536 rows, such as this one:

Memory cells and data (Click to enlarge)

Memory cells and data (Click to enlarge)

Read more ›

Changes to the Patron rewards for Relearning MSX posts

Posted by in MSX,Retro,Technology | May 23, 2016

Hi all,

First of all, thanks to all of you who support the creation of new Relearning MSX articles via your patronage on Patreon, and in your comments here, on the Facebook MSX groups, Reddit and Twitter!

Today I’ve changed the Patreon reward system. Until yesterday, the first four Relearning MSX posts every month were exclusive for Patrons for a week, and after that they became public for everybody.

Somebody gave feedback on Facebook, saying that announcing each post twice (once the moment it became available for Patrons, and once more a week later when it became public) felt too spammy.

In order to address this, all future Relearning MSX posts will be public from the very first moment. Patrons are still charged for the first four articles every month, but now everybody has access at the same time, whether they’re supporters or not. This also involves less work for me, since I don’t have to go back and forth setting up access passwords and keeping track of when articles become public.

If you find my programming articles useful, please consider becoming a Patron. Every little bit helps ensure that other life commitments don’t take precedence over writing new content.


The MSX Resource Center’s rotten user community

Posted by in MSX,Rants,Retro,Stupidity | May 19, 2016

The MSX Resource Center (most commonly known as MRC) is currently the biggest MSX user community on the Internet. It started when Sander van Nunen in the Netherlands registered the domain around 1996. Search results for “MSX” or “MSX computers” on Google show the MRC near the top because their domain name matches the search and also because it has been around for so long.

This is unfortunate, because the MRC is a toxic community and it keeps harming the MSX scene.

The latest incident happened just yesterday. What started as a post about Brazilian MSX users taking a stand against piracy ended in a heated discussion when the user foobarry81 attacked the game developer Kralizec. The MRC moderators did nothing to stop this user, resulting in continuous attacks agains Kralizec and several users publicly announcing they were leaving the MRC for good.

In other words, a shitstorm.

(Click to enlarge)

Original post (Click to enlarge)

Keep reading for the details.

Read more ›

Relearning MSX #43: Storage classes and variable scope in MSX-C

Posted by in Development,How-to,MSX,Retro,Technology | May 13, 2016


We’ve already seen how to use local variables inside a function declaration. However, there are times when we want to be able to share the same variable between several functions. In this situation local variables aren’t the best solution.

There are other cases when we want to use a local variable, but we need the variable to retain its value between calls to the function.

In this chapter we’re going to see how to declare and use variables to support these two situations.

The storage class of a variable

All variables in C have a property called storage class. The storage class defines the lifecycle of a variable. This means that depending on this property, a variable can either be created and destroyed several times during the execution of a program (whenever we call the function or block that defines the variable), or created once and exist until the program finishes.

Variables in MSX-C can belong to one of the two storage classes below:

Storage classes in MSX-C

Storage classes in MSX-C

Read more ›

Relearning MSX #42: Functions in MSX-C (Part 3)

Posted by in How-to,MSX,Retro,Technology | April 12, 2016


The previous post dealt with function arguments and private variables inside functions. Today we’re going to complete our study of functions by looking at how we can return values from them.

Let’s jump into it.

Read more ›