Blog

Category Archives: MSX


Relearning MSX #41: Functions in MSX-C (Part 2)

Posted by in How-to,MSX,Retro,Technology | March 4, 2016

 

Relearning_MSX_41

It’s been a bit over two months since the previous post. In it we learnt how to define simple functions that don’t take or return any parameters. We also learnt that we need to declare a function if we’re calling it at a point in our program where it hasn’t been defined yet.

Today we’re resuming the course exactly where we left it. If you need a refresher then go ahead and re-read the previous chapter. As always, don’t hesitate to ask questions in the comments below if anything isn’t clear.

Let’s see a few more properties of functions in C:

Read more ›

Review: 8bits4ever’s FDC-600 floppy disk controller

Posted by in Hardware,MSX,Retro,Technology | February 12, 2016

Last December as the year was about to end I received 8bits4ever‘s FDC-600 floppy disk controller for MSX computers and Tweeted about it:

The plan was to go buy a floppy drive and a couple of cables and write a review immediately after the New Year vacation, but I focused on other things for a while.

It has taken a while, but here’s the review.

Read more ›

Relearning MSX #40: Functions in MSX-C (Part 1)

Posted by in How-to,MSX,Retro,Technology | December 21, 2015

DSC_1680

We’ve covered a lot of ground already, but so far we haven’t seen anything about MSX-C that couldn’t be done with some effort with MSX-BASIC. That changes with the posts that follow.

Today we’re going to see one of the strengths of the C programming language: functions.

Let’s get to it.

Defining and using functions

When we write a program, as the source code becomes bigger and bigger it becomes much more complex and more difficult to maintain. Because of this, no matter what programming language we use, we normally divide a big program into smaller parts that perform a specific action. For example, in BASIC we used to write subroutines and call them with GOSUB.

In C we do this with functions.

Defining a function

Before we can use a function we have to indicate what code it is going to execute and what name we’re going to give to it. We call this the function definition.

The way we define a function changes slightly depending on whether it takes parameters or not, and whether it returns any data or not. Let’s start with the simplest cases and then look at more complex scenarios.

Function without parameters nor return value

The simplest case is a function that doesn’t take any parameters and that performs some action, but doesn’t return any data. It’s basically just a bunch of C statements grouped together and given a name. This is how we define such a function:

(Click to enlarge)

(Click to enlarge)

Read more ›

Statement regarding Kai Magazine and msx.org

Posted by in MSX,Personal,Rants,Stupidity | December 17, 2015

(Update: Kai stole the ship graphics from here. See below)

(Update 2: I was wrong about Kai stealing the ship images. He has shown proof that he purchased these models back in November 4th. I apologize to Kai for asserting he had stolen these two images, when he did legally purchase them)

For the last ~20 years I’ve been a user of the MSX Resource Center, but differences with the msx.org staff made me leave yesterday. To be precise, I cannot accept the childish behaviour of one of the administrators: Sander Zuidema (snout).

The problem revolves around the user Oscar Albero (Kai Magazine). To summarize:

  • Oscar is releasing a new game called Life On Mars, which he’s selling for 39 euro (about $42).
  • Life On Mars uses graphics stolen from Nintendo’s Metroid Fusion and at least two other sources.
  • User Arkhan (Andrew Darovich, who is himself a game developer) notices the stolen content and calls Oscar out on this.
  • Oscar evades the point, going on a tangent on how much work he has put on the game (he claims “over 1000 hours”) and lying about having created “over 90%” of the content.
  • Admin snout joins the discussion, insulting Arkhan calling him a nutjob and posting an offensive image.
  • Meits (Jelle Jelsma, another admin) joins the conversation and takes sides against Arkhan. Arkhan is forced to defend himself from the insults of Oscar, snout, Meits and Grauw (Laurens Holst, who joins the others).
  • Arkhan obviously gets more and more frustrated.
  • snout makes things worse by childishly posting a log from the #msxdev IRC channel at Rizon. The log shows that users on IRC are also discussing Kai stealing the Metroid graphics.
  • One of the users on IRC happens to be GuyveR800 (Patriek Lesparre), who snout has personal issues with.
  • snout bans Arkhan from msx.org because of his association with Patriek on #msxdev
  • I join the thread and explain how I agree with Arkhan’s point (the graphics ARE stolen), and that he shouldn’t be insulted (and much less banned!) for telling the truth. For this I get put down on the thread while simultaneously other users are insulting me on a closed MSX-related Facebook group for agreeing with Arkhan.

I will not put up with this childish behaviour, so I’ve left both msx.org (I’ve requested them to delete my accounts there) and also the MSX Boixos Club Facebook group.

Read more ›

Relearning MSX #39: Graphic characters and additional quoted symbols

Posted by in How-to,MSX,Retro,Technology | December 16, 2015

relearningMSX39cover

In the last few posts we’ve learnt how to control what’s being printed on the screen. Soon we’ll move on to something else (functions!), but first we’re going to see how to handle graphical characters and how to print any character inside a double-quoted string.

The MSX graphic characters

MSX computers have a set of 32 special characters known as graphic characters. These only occupy one position on the screen and one byte in the video RAM, but in order to display them we have to print a 2-byte sequence.

We can type all of these characters by pressing the GRAPH key together with normal alphanumeric characters on the keyboard, but not all the characters generated with GRAPH are 2-byte codes: some are normal characters from the ASCII table (we’ll see these in the future).

The GRAPH key on a Japanese MSX computer

The GRAPH key on a Japanese MSX computer

Also, it’s important to remember that most of these graphic characters will be different from one MSX to another depending on the country of origin of the computer. For example, a Japanese MSX computer would display several commonly used kanji characters, while an European MSX would display several other useful symbols:

Read more ›

Relearning MSX #38: Screen escape sequences

Posted by in How-to,MSX,Retro,Technology | December 11, 2015

Relevo Videogames' Ninja Savior

In the last post we learned about control characters and the C escape sequences that represent some of them. Today we’re going to see a different kind of escape sequences: the ones that control the console.

You may remember that among the list of control characters we saw there were two that weren’t used to control the screen, but instead mark the beginning of either a graphic character or a terminal escape sequence. In this chapter we’re going to see how to use one of these (character code 27, or \33, or 0x1B):

control_characters_without_escape_sequence

Printing this character by itself does nothing. However, when it is followed by certain sequences of characters we can control several aspects of the text screen such as the position and shape of the cursor.

Read more ›

8bitkick Kickstarter campaign funded

Posted by in Fun,Gadgets,MSX,Photography,Retro | December 2, 2015

8bitkick

8bitkick is a deck of 42 printed cards featuring photos of retro computers (and also a Raspberry Pi that got thrown into the mix because it’s cute). In order to create the product a Kickstarter campaign started with a funding goal of $750.

The campaign ended a few hours ago. The amount raised? $12,233. About 16 times the amount needed. Looks like there are a few of us (retro computer enthusiasts) out there.

Oh, I forgot to mention: one of the cards features the Ferrari of 8-bit computers: a red Sony HB-101:

8bitkick_sony_msx_card

You may have seen this photo somewhere before. :-)

All cards will be freely available for download after they’ve been produced.

Relevant link: http://www.8bitkick.cc

Relearning MSX #37: Control characters and C escape sequences

Posted by in How-to,MSX,Retro,Technology | November 28, 2015

Screenshot from the original Tron movie

The MSX supports several control characters. Those are special characters that when printed on the screen don’t display any letter, number or symbol, but instead perform some special function such as clearing the screen or moving the cursor.

Let’s go take a look.

Read more ›

Relearning MSX #36: Formatted output with printf()

Posted by in How-to,MSX,Retro,Technology | November 26, 2015

fs-a1gt_keyboard

At this point we already know a decent amount about programming in C and we can create some useful (although simple) programs. We’ve seen how to display text and numbers on the screen, but we haven’t paid much attention to the presentation yet. We’re going to take care of this in the next few chapters.

There are several statements in MSX BASIC such as CLS and LOCATE to help determine where and how things will be displayed on the screen. The C language doesn’t have functions to do the same thing, but we use control characters and escape sequences to achieve the same thing.

Let’s start.

Read more ›

Retro event in Akihabara: MyCOM Infinite PRO-68K

Posted by in Culture,Gadgets,Hardware,Japan,MSX,Retro,Technology | November 23, 2015

Yesterday I attended MyCOM Infinite PRO-68K, a small event about retro computers at the conference floor of the Akihabara UDX building.

I arrived a little bit after 1pm, in the middle of a talk by Mr. Mikito Ichikawa, president of Mindware.

Mr. Ichikawa during his talk (Click to enlarge)

Mr. Ichikawa during his talk (Click to enlarge)

The lights were dimmed during the talk, so I waited until it ended before visiting the stands.

Read more ›