I'm really impressed at the responsiveness of this implementation. HTML5 terminals I've seen seem more sluggish even though they are similarly simple (though I guess that's partly the round trip latency at work, as well, and I guess this is all implemented in the client).
I always wanted an MSX when I was a kid and collecting 8 bit computers (this was when 8 bit computers were still somewhat useful; I bought, fixed, and sold them for spare cash and would keep the most interesting ones). I had almost everything I read about in magazines come across my radar during those several years, including ridiculous stuff like an Apple Lisa with several hard disks, a TRS80 with every imaginable expansion (including the big expansion backplane case), a Coleco Adam, and more Commodore machines than you can shake a stick at.
But, alas, MSX just wasn't common in the US, and I never found one.
I've never even seen an MSX before, but I was big into the C64 and those early BASIC machines have a lot in common, so I decided to give it a try just for you.
Turns out you can, with the caveat that you it won't look quite right unless you enter "SCREEN 1" first:
10 PRINT CHR$(1)CHR$(93.5+RND(1));: GOTO 10
The differences (assuming that you understand the original C64 statement, because I suspect no one but andersonfreitas will ever read this now that it's dropped off the front page):
* The "SCREEN 1" statement puts the display into the second text mode, which has 32 columns and 8x8 characters. The default text mode is 40 columns and 6x8 characters, truncating the rightmost quarter of each character. All of the non-graphical characters are squeezed into the first six columns, so the default mode has no downside unless you want to use graphical characters.
* The diagonal line characters are at points 29 and 30 in the international (i.e. non-Japanese) version of the MSX character code table (see http://www.tabalabs.com.br/msx/msx_tech_hb/msxtech_tabalabs...., page 317 (page)/320 (PDF)). However, the first 32 character values are normally interpreted as control codes instead of printable characters. To actually print those 32 graphical characters, you need to precede each one with control character 1, followed by character (desired character value + 64). So if you want character 29, you PRINT CHR$(1)CHR$(93). (BTW, the characters past 95 appear to print the same with or without a proceeding CHR$(1). I dunno.)
Unlike the C64, the MSX also has a pair of triple-diagonal characters, so you can make a denser maze like this:
10 PRINT CHR$(203.5+RND(1));: GOTO 10
Or you can combine both and make a weird mixed-density maze like this:
Thank you for the explanation! The second version is really cool!
I've never used an MSX or C64 before, but since I'm interested in generative art, I've became curious about these program when a book with the same title was released:
We used to do development on various MSX machines (we were doing implementations of Logo). The machines were never designed to work in low-humidity environments (winter time in Montreal). Once I accidentally zapped four machines while attaching an emulator board. We had sets of all the custom chips shipped in from Japan, and I spent four days with the VP R&D fixing them. We got three of them to work eventually (there were no spares of the computers as they were prototypes and in short supply). Fun times.
One of the fondest MSX games I've played when I was a kid were "Cannon Fighter" and "Panic Junction". Though I haven't seen the latter, someone rebuilt the former in Flash: http://www.silvergames.com/cannon-fighter
I always wanted an MSX when I was a kid and collecting 8 bit computers (this was when 8 bit computers were still somewhat useful; I bought, fixed, and sold them for spare cash and would keep the most interesting ones). I had almost everything I read about in magazines come across my radar during those several years, including ridiculous stuff like an Apple Lisa with several hard disks, a TRS80 with every imaginable expansion (including the big expansion backplane case), a Coleco Adam, and more Commodore machines than you can shake a stick at.
But, alas, MSX just wasn't common in the US, and I never found one.