Get the most out of MSXHub

Published 10-12-2019 14:48:22

In this post I’ll introduce MSXHub and how to use it in a very “linuxy” way just by organizing our packages a bit. You’ll need an MSX with MSX-DOS (probably in a flashcart) along with a network card and your fingers.

Introduction to MSXHub

MSXHub is a superb repository tool for our MSX Systems that allows us to download MSX software (tools, games…) directly from our MSX without needing a computer. We just need a UNAPI compatible network card and a flashcart to run the software over MSX-DOS.

For more information about MSXHub, please check the project’s website. Cheers to fr3nd for his enormous work on this!

Drawback

At the moment MSXHub allows you to install software in a given folder that you may specify, but that program won’t be accessible directly from MSX-DOS prompt from any folder, you have to do some trickery (don’t worry, it’s quite easy).

Installing software with MSXHub

In order to install software from MSXHub you just have to do the following:

HUB INSTALL vi

With this we install vi (also by fr3nd) on the root of our flashcart in a vi folder. We can also specify where to install it:

HUB INSTALL vi B:¥pkg¥vi

This will install the software on B:\pkg\vi (Notice that I have used ¥ instead of , this is because I own a japanese machine.).

Organization

So, now I’ll explain to you how I organize my software now for this task:

  • B:\pkg: Contains all the software installed with MSXHub
  • B:\bin: Contains all the software manually installed and without folders
  • B:\bin\ln: Contains some magical .bat files that will be introduced later

So, yeah, every time I install something I do it in the pkg folder to have it organised.

Path

There is an awesome MSX-DOS command named path. With it you can set different files for MSX-DOS to search for executables. If an executable is in any folder of the path (just like in linux and other systems), it will be accessible just by typing its name directly! No more “I have to go to this folder, then execute, then to this other…".

So, in your flashcart’s autoexec.bat you could set the following:

PATH A:¥;A:¥MM;A:¥BIN;B:¥BIN¥LN;B:¥BIN;

With this MSX-DOS will be aware of all those folders and search for executables. Mind that if you put B:\BIN before B:\BIN\LN you won’t be seeing LN folder executables. I don’t know why is this but I assume that is a way to prevent to reload folders on path. If you have any clue about this, please tell me :).

.BAT files

Ok, now we have B:\BIN\LN on our path, now we need to create “links”. I couldn’t find a way to link on MSX-DOS so I made some dummy .BAT files to call applications. For example in the case of B:\BIN\LN\VI.BAT:

B:¥PKG¥VI¥VI %1

So we’re calling the application with the full path inside and we use %1 to refer to the first parameter that we pass to VI.BAT. If the application doesn’t need one or it has more than one, you can use %1 %2 %3....

And… THAT’S IT! vi is now accessible everywhere in your MSX computer. Enjoy!

Thanks to fr3nd for his work and Aorante for his support!