Homebrew for Sale on the MSX
Friday February 15, 2013 00:50:36

Somehow got sucked into a rabbit hole this weekend while looking up information on Konami's Gradius games for the MSX and ended up discovering Matranet, a company creating and seeling new MSX games as well as books and other stuff. They seem to be the MSX equivalent of Atari Age.

I only have the YouTube clips to go off of but I'm shocked the how high quality of the MSX games for sale. Most of them seem to be original adventure games and compared to Atari Age or RetroUsb there are relatively few ports (although I'm not really up on my 1980's European PC culture so I may be wrong about that). It's a testament to the MSX's popularity that such passionate fans exist to produce this stuff.

Here's some of the stand outs:

Ink : Exxon Surfing - This is probably the prettiest looking game. It's a really simply game, the kind I wish I'd tried creating as a kid when all I had at my disposal was Q-Basic.

Zombie Near - What I like about this one is that it has the split screen concept from Spy vs Spy, but instead is a cooperative adventure game where both players work together to infiltrate a complex of some kind, with each player being able to move independently.

Mecha 8 - Looks too Euroshmup for my taste, but its technically impressive how nicely everything scrolls. Its interesting that in some levels the Mecha is walking, Knightmare style.

Matranet also has created a cool looking book called the "Legend of Konami" which details Konami's history on the MSX computer. It's great to see people preserving such a great time in videogame history.



Silent Hill Live Action Spoof
Sunday February 3, 2013 21:45:19

I discovered this video by Andres Borghi the other day and thought it was pretty funny. Anyone who's a fan of Silent Hill 1 and remembers the cutscenes will enjoy it.



Don't Switch from Cmd
Monday January 14, 2013 03:40:31

People make a compelling argument that Microsoft stops innovating the moment it's locked people in, and point to Internet Explore 6 as a great example. Progress on Internet Explorer ceased for years until Firefox gained traction and lulled Microsoft out of complacency, at which point they turned the lights back on at IE HQ and got to work again.

The built in Windows console, also known as Command Prompt, makes Internet Explorer look like as innovative as a bleeding edge Linux distro. Based on the harm it does, it might be the worst piece of software pushed by Microsoft.

Why is it so bad? There are a few reasons, but my main beef is its failure to behave like every other modern computer application regarding copy and past. Copy and paste in the Windows console requires dragging over blocks of text, which is antiquated and no longer makes any sense. There is no option for selecting text line by line.

However, there are replacements.

  • Power Cmd - This looks real nice, and a few years ago I bought a license. It doesn't work well on newer versions of Windows though.
  • Console 2 - This has tabs and copy and paste. It also lets you have use background images, and looks like the terminals seen in Linux and OSX.
  • ConEmu - Like Console 2, but seems to be the new heir to the cmd prompt throne.

Time for the bad news: most of these replacements don't work very well or slow down the programs they run. I wanted to write up the reasons I don't think they should be bothered with.

Let's start with PowerCmd, which I used on my laptop years ago. This was the first Cmd Prompt replacement I tried which seemed to be generally endorsed. Like all of these tools, it felt a bit wonky, but I'd accepted the quirks and switched to it for awhile until I switched back to Cmd briefly and discovered it was running programs much quicker. In other words, whenever I kicked off long running processes with PowerCmd, they ran glacially slow compared to the real Windows console. Years later, when my Netbook gave Windows XP a second life, I tried it again and found the problem to be more noticable than before.

I would have liked to write up a real speed measurement of PowerCmd, but these days it's so outdated it simply shouldn't be installed or considered. It's 32-bit, requires admin privileges, and even then failed when executing Boost Build.

Next up, there's ConEmu, described by Scott Hanselman as “The Windows Terminal/Console/Prompt we've been waiting for?” I started using this a week ago and it looked like the fully loaded real hot dog Cmd Prompt suffers had been waiting for. It offers line-by-line text selection, the ability to integrate with Cygwin, and loads upon loads of special features. I was very impressed by it, and spent half a day configuring the options to suite me.

However, when I ran the Macaroni build process with ConEmu, it went from 69 seconds to 172. What's worse is that despite the extreme slow down, the CPU stayed at 100% the entire time! I was so shocked by this I ran the tests again, this time taking care to not touch or do anything at all on my computer. But the results were the same. ConEmu strikes me as the PowerCmd successor, in that it looks pretty but cannot be used for anything serious.

Finally, I installed Console 2.

First, the good news: Console 2 runs programs at the same speed as the real Windows console. So it's worth consideration.

Personally, though, I didn't suite me. First off, it failed to move around correctly with Aero snap, and would constantly get stuck partially off screen when I moved it across monitors. These days I work in Windows, OSX, and Linux, and use some kind of “snap to grid” key bindings for all of them. Not cooperating with those bindings is a kiss of death! Second, Console 2 didn't copy and paste easily or correctly! Maybe I didn't sacrifice enough time to get that feature to work right but at this point I don't understand why Console 2 is so highly recommended given how unpleasant I found it. I guess there's no accounting for taste.

In summary, my recommendation is that you learn to deal with the Windows console's broken copy and paste. I can sympathize with you if you have to switch, in which case try Console 2 (at least the other shoe will drop quickly). Don't use ConEmu unless you want to waste your time, and don't even think of installing Power Cmd.



Including Boost Libraries with Boost Build
Wednesday January 2, 2013 03:01:23

Creating a library in Boost Build is easy; it's doubly so when using Macaroni.

Pulling in a library like that is similarly easy - just use the “use-project” rule and reference the jamroot.jam file of the dependency.

However, the best practice of referencing a Boost library itself has confused me for awhile. There is not jamroot.jam file for each project, and referencing the main jam file at the root of the Boost distribution folder doesn't lead to happy results either. So how do you do it?

It turns out to be really simple.

First, make sure to set an environment variable named BOOST_ROOT to the absolute path of the unzipped Boost distribution directory.

Then, create a file called site-config.jam in your home directory, containing this:

using boost 
  : 1.52
  ;

For awhile, I kept thinking I needed to actually put the path to Boost in this file. Nope! That actually causes all hell to break lose in Windows and for things to generally not work (in Linux nothing bad seems to happen, but since doing it the way I'm suggesting now works in both OSes it might be better to keep things consistent).

With these two steps out of the way, it's easy to include the Boost libraries:

import boost ;
boost.use-project ;

exe recreate
    :   ../src/Main.cpp
        /boost//headers      
        /boost//system
        /boost//filesystem
    ;

This project will build Main.cpp, which uses the Boost FileSystem and System library as dependencies. It will even build these libraries if they're missing! It also adds the Boost headers to the include path while building Main.cpp. Easy, no?

On a side note, I actually knew about this method years ago but ran into trouble using it when building complex projects with Macaroni, when a library would depend on another library which depended on Boost. I think in retrospect, this was due to some problem I had created. The good news is, I recently changed Macaroni to use this method and found that it jam files which build correctly on both Windows and Linux, even with complex projects using multiple dependencies.





<---2013-05-23 04:30:07 history 2012-12-27 19:47:09--->



-All material © 2007 Tim Simpson unless otherwise noted-