Blog

Relearning MSX #15: MSX-C commands: CG.COM

Posted by in How-to, MSX, Retro, Technology | February 18, 2015

In the previous two posts we’ve seen a detailed description of CF (MSX-C’s parser) and FPC (MSX-C’s function parameter checker). Today we’ll see the last one: CG.COM, MSX-C’s code generator.

What I said about the previous two articles applies to this one as well: this explanation is for experienced users who want to have more control over the compile process. If you’re a beginner then you don’t need to bother paying too much attention to this (yet). However, it won’t hurt to at least skim it and find out what are the available options.

msx-c_cg

MSX-C’s code generator (CG.COM)

Read more ›

Relearning MSX #14: MSX-C commands: FPC.COM

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

This is the second post describing MSX-C’s command line tools. In the previous article we examined the parser (CF.COM), and today we’ll see the Function Parameter Checker (FPC.COM).

As before, this post is rather technical and assumes experience programming in C. It’s targetted at users who already have experience programming in C. However, I still recommend to read it at least once if you’re a beginner, because it will familiarize you with problems you’ll find in the future.

msx-c_manual_and_disk

The MSX-C Ver.1.2 manual and disk

Read more ›

Relearning MSX #13: MSX-C commands: CF.COM

Posted by in How-to, MSX, Retro, Technology | February 13, 2015

It’s been a while since the last post in this series. At the end of the previous chapter we had a working installation of MSX-C Ver 1.2 with the MSX-C Library package.

Today’s post and the few that follow are a lot more technical. What comes now is a detailed description of the command line programs that compose the MSX-C compiler. The purpose is to allow users who already have some experience programming in C to dive deeper into software development in the MSX platform. If you’re new to compilers and the C language then this probably won’t make much sense yet, and that’s ok. We’ll go back to the basics after explaining these tools.

The information here comes from the books MSX-C Ver.1.2 User’s Manual and the Introduction to MSX-C (MSX-C入門上巻), both by ASCII Corporation.

msx-c_and_introduction_to_msx-c

MSX-C Ver.1.2 package and the Introduction to MSX-C book

Read more ›

Do you support MSX development? Then donate to developers

Posted by in MSX, Rants, Retro | January 20, 2015

This shocked me yesterday. If you’re an MSX user then you may have heard about Nestor Soriano (AKA konamiman). He’s the guy who developed:

  • Nextor, a new operating system for MSX (which I will talk about in the future on this blog), fully compatible with MSX-DOS2 and with FAT16 support
  • NestorBASIC, an extended, more powerful version of MSX BASIC
  • NestorPreTer, a new MSX BASIC preprocessor to make programming in MSX BASIC easier
  • InterNestor Lite, a full TCP/IP stack for MSX2/2+/turbo R computers (yes, allows you to connect your MSX to the Internet)
  • A bunch of Internet applications for MSX, including Dropbox, Twitter, FTP, Windows shared folders, clock synchronization via NTP, wget client…
  • Firmware for MSX peripherals: ObsoNET and DenYoNet (Ethernet cards for MSX), MegaFlashROM SCC+ SD (interface to use SD cards as hard drives on the MSX), Tecnobytes’ IDE cartridge, etc.

If you’re keeping your MSX equipment up to date, the chances are high that you’re using for free something he has created, because that’s what he does: he gives all of this to the MSX community for free.

So what shocked me yesterday?

Read more ›

Relearning MSX #12: Setting up the MSX-C environment (part 6)

Posted by in How-to, MSX, Retro, Technology | January 17, 2015

During the last few posts we’ve finished setting up the MSX-C environment and we’ve learnt how to use the AKID text editor. At this point we can already create and compile C programs, but the process is annoying because we have  to run all the compiler steps by hand.

In this post we’re going to create a couple of batch files: one to set up some useful parameters in MSX-DOS2, and another to automate compilation of our C programs.

msx_magazine_1985-05_msx-c

MSX-C ad from 1985. Yes, it was THAT expensive (MSX Magazine, May 1985)

AUTOEXEC.BAT

The first file we’re going to create is called AUTOEXEC.BAT, and it has to be created in the in the top directory of the boot disk (A:). If you used MS-DOS then you already know what it is.

Read more ›

18 meter tall, 30 meter long dinosaur spotted in Shinjuku

Posted by in Fun, Japan, MSX, Retro | January 17, 2015

Well, this actually happened almost thirty years ago, and it wasn’t a real dinosaur.

For years I’d been hearing about the dinosaur that Mr. Kazuhiko Nishi planted in the middle of Shinjuku to commemorate one million MSX computers sold. However, I never saw any real, detailed information about this, so I kept it inside the “Unverified stories that may or may not be true” drawer inside my brain.

Recently, while reading old MSX Magazines I came across a report about this event, so here’s a report on the report.

MSX_magazine_1986-02_p176-177

MSX Dinosaur Land (MSX Magazine, February 1986). Click to enlarge

Read more ›

RE:birth

Posted by in Fun, Gadgets, Hardware, Japan, MSX, Retro, Technology | January 15, 2015

Today I had to go to Akihabara for work and something caught my attention in an electronics shop not far from the station:

rebirth_with_SCC_cartridges

What’s is this sorcery!!?? MSX cartridges? Sound boards??

In the background there was playing one of Salamander‘s themes, with perfect timing and perfect instruments. Initially I thought this was a custom-built MSX computers, but it wasn’t.

Keep reading for the details.

Read more ›

Relearning MSX #11: The KID (AKID) text editor (part 2)

Posted by in MSX, Retro, Technology | January 13, 2015

In the previous post we saw the four menus assigned to the function keys F1 through F4 in the KID/AKID text editors. I left the F5 key for this post because it has a different function: copy and paste blocks of text. I’m going to explain now how to do that, and also some of the keyboard shortcuts available in the editor.

As in the previous post, everything I write about AKID also applies to KID and vice versa, unless I say otherwise. Again, I’ll be using a copy of the CURSESC.C file from the MSX-C Library disk in the examples.

F5: Copying, duplicating and deleting blocks of text

This menu supports three commands:

  • C: Copy a block of text to the clipboard (discards the previous clipboard contents)
  • A: Adds a block of text to whatever is in the clipboard
  • X: Deletes a block of text from the screen and copies it to the clipboard

Unlike the other menus, nothing will appear in the top of the screen when you press F5. Instead, the editor will change to select mode. If there’s text in the line where the cursor is, then the whole line will be highlighed (it will reverse color). At this point you can select more lines of text by moving the cursor, but be aware that you can’t select any text above the current position of the cursor.

After you’ve selected the text you’re interested in you can press C, A or X to apply any of the three commands. ESC cancels the operation and brings you back to edit mode.

By default the keyboard shortcut for pasting the clipboard is . For some reason this key combination doesn’t work properly in my openMSX setup (a Mac with a Japanese keybard), so I’ve changed the shortcut to CTRL-D. I”ll explain later how to change the default shortcuts.

Here’s a video showing this in action:

Read more ›

Relearning MSX #10: The KID (AKID) text editor (part 1)

Posted by in MSX, Retro, Technology | January 11, 2015

In the last few posts we saw how to install MSX-DOS2, MSX-DOS2 TOOLS and MSX-C v1.2. This is what we’ve done so far:

At this point we can already compile C programs, but the process is annoying and involves lots of typing. The next obvious step is prepare a script to do the work for us, and will require using a text editor. Since I’m assuming no previous experience, I’m going to explain the text editor included in MSX-DOS2 TOOLS, AKID (and its sibling KID) before we prepare our compile scripts.

You can skip this post if you’re already familiar with KID/AKID, or if you prefer to use a different text editor that you’re already familiar with.

What’s exactly a text editor?

Simply put, a text editor is a program to enter plain text in a computer and save it into a text file. Plain text consists just of normal characters: letters, numbers, punctuation marks, newlines, etc.

Do not confuse a text editor with a word processor. A word processor includes extra information in the files it generates. This information may be font names, colors, styles, file version numbers, maybe charts and images, etc.

Read more ›

Relearning MSX #9: Setting up the MSX-C environment (part 5)

Posted by in How-to, MSX, Retro | January 06, 2015

In this post we’ll add the MSX-C Library package to our MSX-C environment. Setting it up is trivial because it only involves copying a few files, as was the case of installing MSX-DOS2 TOOLS.

Let’s start.

What’s MSX-C Library?

msx_magazine_1988-08_msx-dos2_ad

MSX-DOS2 and MSX PDT series ad. MSX Magazine (August 1988). Click to enlarge

MSX-C Library is a collection of C source files and libraries that extend the capabilities of MSX-C v1.1/v1.2. It adds support for a lot of stuff:

  • 32-bit and 64-bit numeric types, modifies some of the standard library functions to support them, including the printf() and scanf() groups of functions
  • Support for the MSX graphics processor (VDP) including drawing on the screen, graphic block operatings, data transfer to/from the video memory, and handling sprites
  • Functions to work with joysticks, cursor keys, triggers, mice and printer
  • A subset of the curses library called MSX-CURSES, to create menus and windows in text-based applications

As you can guess, it’s going to be quite useful.

One thing to note is that, unlike the other software packages in the MSX PDT series (MSX-C, MSX-DOS TOOLS, MSX-S BUG), there isn’t a version especific for MSX-DOS2. The same MSX-C Library package works with both MSX-C v1.1 and v1.2.

Read more ›