November 28, 2024, 06:52:39 am

MSX3 and MSX0

Started by P, January 15, 2023, 09:24:27 am

Previous topic - Next topic

P

MSX3 Release!
I don't know how many here knows, but our beloved series of 8-bit computers from the '80s, the MSX is receiving an official successor in the MSX3. Back in the day the MSX3 failed to be released because of several reasons, including the problem with Yamaha being late in developing the new video chip it was supposed to have. ASCII first released the MSX2+ and later the MSX Turbo R because it wasn't a large enough of an upgrade to call it the MSX3.
Then in the '90s, expensive computers like the IBM PC started to become affordable and the market for homecomputers declined, which was also the end of the MSX series.

...Until now, years later the MSX3 is finally coming out. Kazuhiko Nishi (Bill Gates' old pal and the founder of ASCII Corporation who took the initiative for the MSX computer standard), the father of MSX, is behind this so it's much more official than the 1-Chip MSX and other MSX revivals.

Besides the MSX3, Nishi is also releasing something they call the MSX0 which is going to be an IoT device something like the Raspberry Pi.


MSX0
First up is the MSX0. The crowdfunding has started, and it seems the MSX0 will be a module to and include a special edition of the M5 Stack (a microcontroller thingy that stacks on various modules with sensors and stuff allowing it to do about anything you can imagine), as well as an MSX emulator (supporting MSX1, MSX2 and MSX2+ but seemingly not the MSX Turbo R).

It can play MSX cartridge ROMs (no mention of tapes and disks), and it also supports the Project EGG download service (hopefully Project EGG will be accessible outside Japan, but I don't know).
It has a small keyboard and a Game Boy-like button add-on so that you can play games. I hope you can connect a real keyboard as well so that it can be programmed more easily.
It can be programmed in MSX-BASIC of course, but Nishi also promised support for MSX-DOS and MSX-C.

There will also be an MSX0 Pro later this year which uses FPGA-based emulation instead of software-based emulation and will be more powerful and support some of the same things as the upcoming MSX3.

It's fantastic to see some of my favorite '80s culture being revived and turned into a modern product. ;D
I always thought the MSX is one of the best ways to learn about computers (modern computers are just too complex to understand for a layman), or if you just want to program in BASIC, draw pixel art or compose music in the built-in MML.

adori_12

That's awesome! Still surprising to see how many fans the computer line has.
Do you know how much would it cost in case the thing gets released? I see some packs you can preorder but I don't know if that will be the final price.

I've been looking for an MSX for a while, it would be my first retro computer, but man they are getting expensive, I just don't have $400+ USD lying around for one  :(
If these are cheaper then I might be better off with one so I can play some carts and find out what's all the fuzz with MSX computers.
De todo un poco es el sabor de la vida, ida y vuelta en lo de siempre, empobrece y deja roto.

P

Not sure about the prize for the MSX0, but the original M5Stack is here, turns out it was already released 2017. It looks like they just slapped an MSX faceplate on it and ships it with an MSX emulator, not sure why they need crowdfunding to do that. The MSX0 Pro and all the variants of MSX3 I do understand however.
MSX3 will use an ARM CPU (earlier MSX systems all used a Z80) and the backwards-compatibility (with MSX, MSX2, MSX2+ and MSX Turbo R) portion will be created using FPGA.


$400 sounds steep, that's with shipping from Japan? MSX Turbo R are very expensive and they have gone up in price lately, but the others should all be reasonable with MSX1 being like an 8-bit game console and the MSX2 will perhaps be double that. MSX2+ is usually also a step higher in the price range but not as much as the Turbo R.
You will definitely want to get an MSX2 or higher, since even though the MSX1 library is pretty good the MSX2 library is the largest one (and includes the MSX1 library since they are backwards-compatible) and most of the best games are MSX2 games (Metal Gear 1 & 2, Snatcher, SD Snatcher, Zanac EX, Space Manbow, Aleste 1 & 2, some Dragon Slayer games, all Ys games etc).

The MSX2 also basically covers 2 or almost 3 generations: MSX1 games are pre-Famicom type of games (very similar to Sega SG-1000 games which shares much of the same hardware as MSX1) while MSX2 games are comparable to Famicom games and almost to PC-Engine games thanks to the high resolutions and large amount of colors. On the other hand it has poor spriting and the video hardware can only scroll vertically (many games manages to scroll smoothly in software though so this isn't as bad as you may think). Late MSX2 games has some fantastic looking cut-scene still images, but moving screens may be forced to use simpler display modes.

MSX2+ has slightly better video hardware (more colors and it can finally scroll in both axes), but the number of games supporting it are quite few, so you would have to consider that if you want to pay for one. It's backwards-compatible with everything the MSX2 is however so you can't really go wrong with it if you do get one. I have one myself (a Panasonic FS-A1WX).

MSX Turbo R is a pretty big upgrade with a new much faster CPU "R800" (the old Z80 is also present for backwards-compatibility) and much more RAM, but it's a bit too expensive for me. Maybe I'll pick one up sometime in the future. It is also missing some backwards-compatibility like a cassette tape drive. That doesn't sound too bad when you have a disk drive, but some games like Metal Gear 1 requires a tape drive to save although Metal Gear 1 also offers long passwords as an alternative. There are also exclusive tape games.

I suggest to try an MSX emulator first. BlueMSX is the old one everyone used, but OpenMSX is hands down the best MSX emulator today. It's a bit hard to understand how to use (use the included "catapult" execute to start it) though, and you may want to read some guides on how to start a game from a cassette tape or floppy disk as you need to type some BASIC, and the method is different depending on the format.

adori_12

Hmmm, I thought the MSX0 was made from the ground up, it's weird why would they need crowdfunding indeed. MSX3 sounds a lot more interesting this way, but I should start with all the other MSX software before thinking on that.

Yes, I've looked for computers on eBay and that's an average price for MSX2 models (I read somewhere that you should buy one with an integrated FDD for maximum compatibility) and those are like $300 with shipping, but considering the price, it's pretty much guaranteed to pay import tax, that's another $70-120 I'd have to pay. Some MSX2s are slighlty cheaper but they are either FS-SA1 (some people really trash this system and that worries me), or are untested or don't include AC adapters (which are supposedly near impossible to find separately). And that's without a single game, and those are super expensive as well  :'(
I'd probably have to buy some sort of flash cart or something that allows me to play downloaded ROMS on the computer which is something I've never liked, but I don't know any better.

I was also interested in an MSX2+ for scrolling and MSX-MUSIC being built-in (I'd love to play Family Stadium with FM enabled, not the first game one would think of when asking for MSX-MUSIC games lol), but those are even more expensive, I think $400 plus like $150 for import tax, completely out of my reach. MSX Turbo R well, last time I checked, about $650. If you know places where I can get an MSX2 cheaper I'd love to know, I would consider a lot more seriously buying one that way.

Thanks a lot for the explanation on the models, always nice to have it simplified for beginners like me :)
And as for the emulators I will check them out, there are some games I really want to try and see if they would be the first games I'd look for when I finally get an MSX.
De todo un poco es el sabor de la vida, ida y vuelta en lo de siempre, empobrece y deja roto.

P

January 18, 2023, 05:19:42 pm #4 Last Edit: January 20, 2023, 10:12:28 am by P
OK I checked out eBay and I think I was a bit optimistic. I think I actually payed something similar for my WX years ago, so they haven't really changed much in price.
$650 might not be enough for a Turbo R lately though, these babies have gone up closer to $1000. I should have picked up one years ago, rats!

Yeah an FDD is basically a must for an MSX2 and up, also make sure the drive belt has been repaired. Floppies are the easiest way to transfer files between your regular computer and your MSX since MSX uses Microsoft's FAT12 filesystem with its floppies. Just format them on the MSX first (enter "CALL FORMAT" in BASIC then say 1 side for 1DD and 2 for 2DD). You may need to tape over the bottomleft hole on the disk if you have a 2HD floppy to turn it into a 2DD as the MSX only support up to 2DD.

I'm not sure what's wrong with the Panasonic FS-A1, it's a very common Panasonic MSX2 that has main RAM in slot 3 (which is a good thing for games like Eggerland 2 that won't like it) and fulfills all of the basic requirements that I think an MSX2 should have. The one downside I can see is that it has built-in word-processor software that it always boots into unless you hold DELETE key, which is probably very annoying.
Ah now I see the main problem, there is no FDD!
You can technically add an FDD to a cartridge slot, but I don't know what your options are there. AFAIK external FDDs typically uses a propertiary connector and are only for a specific MSX model. And if you end up buying expensive hardware for it just to get an FDD, it might not end up being cheaper than just picking up a better MSX from the start.

The FS-A1WX I have is a fantastic MSX2+ with built-in MSX-MUSIC. I especially looked out for this model as the later FS-A1WSX has an inferior tape drive port which shares its connector with the RGB-out port and also has a non-standard RGB cable that may be hard to find.
The WX has the standard MSX RGB cable pinout so the one they make at RGC works perfectly.
The only improvement with the WSX is that it supports a particular color printer that I have no use for and that it has S-video output which I can do without since I already have both RGB and composite (and RF) on my WX.
The WX also boots into a built-in word-pro, but it thankfully has a switch that allows me to choose to boot it into MSX-BASIC instead. It seems you can mod the FS-A1 and build a switch for that too (if it just had an FDD...).

There are many other good models though, so you may want to do a little research. Sony supposedly makes good MSX models, although beware that some of them has a "suicide board" (the HIC-1 board) with bad capacitors that tends to leak and ruin the PCB. Also if you can help it, try to avoid any MSX with built-in firmware that can't be disabled with a switch (like that FS-A1).
Note that not all MSX2+ systems has MSX-MUSIC built in, only most of them. Beside if you get a proper flashcart you will get both MSX-MUSIC and SCC/SCC+, which is nice with software like MuSICA that supports both simultaneously.


And yeah MSX games are expensive on eBay, and hard to find elsewhere unless maybe if you know where to look (which I don't). Especially ROM cartridge games unless they are really common. It's a shame because MSX cartridges are quite collectable as they comes in various shapes and colors much like Famicom cartridges (which they are also very similar to).
My MSX collection is very modest with mostly loose cartridges and a few tapes and disk games.

I understand why you wouldn't want to use a flashcart, however as I see it many old computer games comes on moldy tapes or disks that doesn't properly load anymore. I have many old disks that doesn't work properly even if I format them on the MSX and writes a fresh DSK image on it. For a computer like the MSX, flashcartridges, tape/disk drive emulators and similar solutions is often the only way to keep the system alive. Though I will still continue to use tapes and disks as well as long as I can.

The MSX is a computer, a hacker's main tool, you use whatever means you can to run a game that you can't play any other way. Traditionally this have meant converting ROM dumps to tapes or floppies. There are disk loaders that can be used to put one or more ROMs on a floppy disk and run them from there. Not very authentic for us console gamers, but it usually works if you just want to play a game (and those problems Famicom flashcarts has with games that relies on uninitialized hardware doesn't apply as much to MSX since the hardware is basically always initialized by the BIOS before the ROM loads). I used to do that to play games I didn't have the original of before I got myself an MSX flashcartridge.


Even if you would not want to get a flashcartridge for playing games, you might probably have to count on eventually getting one anyway. The most popular flashcartridges on computers like the MSX are usually called "multipurpose-cartridges" since they do so much more than to upload a ROM from a flash storage device (though there are simple flashcarts as well). All the current MSX multipurpose-cartridges that I know of (MegaFlashROM SCC+ SD, Carnivore 2 and GR8NET) contains a RAM expansion at 512 kB or more (MegaFlashROM SCC+ SD has it as an option) which is great since it means you can run MSX-DOS 2 which requires at least 128 kB RAM. Most Japanese MSX2 systems (and I recommend to get a Japanese one for a few reasons) and all MSX2+ systems only has 64 kB main RAM and can only run MSX-DOS 1. All three mentioned multipurpose-carts also comes with Nextor, which is an enhanced version of MSX-DOS 2 by the Spanish MSX enthusiast Konamiman.

Besides MSX-DOS 2 being a handy OS for handling disks and using your multipurpose-cart for general storage of your files (the MSX is from a time when computers usually didn't have harddisk drives, and you had all software on cassette tapes, ROM cartridges and floppy disks), some programs you may want to use can only run in an MSX-DOS 2 environment and won't run from MSX-BASIC (the regular OS which also doubles as a programming language and IDE).


Oh and if you are going to try an emulator you need the BIOS ROMs and such files. You can get them at File Hunter in the format OpenMSX expects.
If you want to get a good MSX experience I recommend to start with emulating the "National FS-1300" (it should appear in the MSX type drop-down menu in the Catapult if you have all the BIOS files), which is a good MSX1 that maps RAM to slot 3 and has everything you need (except FDD but that mainly just means it boots faster). Get comfortable with it, play some MSX1 games and maybe program it in MSX-BASIC (there are tons of books). You can copy MSX-BASIC programs you find online and paste them in the Input Text tab in the Catapult, then press Type to let the emulator do the job for you.

For MSX2 the Sony HB-F1XD should have everything you need. Not sure if it has built-in firmware, but it seems to boot into BASIC on openMSX for me at least.

For MSX2+ of course pick my FS-A1WX (firmware switches are OFF by default on openMSX so you boot to BASIC). Sony HB-F1DJ and HB-F1XV seems equally capable though.

For Turbo R there's not much choice, FS-A1GT is the better of the two.

adori_12

Damn I thought they were as cheap as you said, but apparently that's their average price now. I do wonder, do they even sell these things at those prices? Nearly all of the computers listed right now on eBay have been there for like at least 6 months when I last checked, and some were even listed more than a year ago! I know there isn't exactly a huge market for old computers, but when there's months and months and you still haven't sold it, shouldn't that be a warning that it's a bit too expensive?

Yes I should look for one with a built-in FDD. Although I'd probably just load everything I want on a flash cart, I suppose there are some things of interest on floppies. It seems people also dislike the FS-A1 for having only 64kB RAM, but that's to be expected of Japanese MSX systems.

I've also read wonders about your FS-A1WX, you're really lucky on owning one of those. Standard RGB pinout is also something I'm really interested as I finally have an RGB setup now.

I had no idea about the Sony MSX computers loving to commit suicide lol, thanks for the advice, I'll keep an eye on that since apparently the HIC-1 board is in other computers as well (and it's on the FS-SA 1 also... :( )

For MSX carts I really lucked out and found one at a local flea market, God knows how a Japanese MSX1 game made it all the way up here, but it did. Nothing special, Konami's Golf, but at least I own something MSX-related now ;D
For finding more games, I think Yahoo Auctions did have some interesting stuff, but it wasn't that much cheaper than eBay prices, not to mention all the service fees which I have no idea how much would them cost.

And yeah I think I'd have to get a flashcart as well, for all the money I'll save on carts, MSX-MUSIC in case I can't get a system with that built-in and extra RAM that most Japanese computers need. It's certainly quite impressive all the things flash carts can do on MSX compared to game consoles which only serve as 10000 in 1 carts and for playing homebrew games.


Seriously thanks for the BIOS ROMs link! :D  I was only playing stuff on CBIOS which I think is openMSX's own BIOS or something, I knew I was missing something, but wasn't able to find it. I'm having a blast with the emulator now, pasting games I found on the Internet and toying with the systems you recommended me. Maybe it's not a bad idea to try to learn some basic commands to try to create something after all...

Oh BTW do you really only need a D-Pad and A and B buttons for most games? It's even less buttons than the Famicom, I guess games a bit more ambitious needed to rely on the keyboard.
De todo un poco es el sabor de la vida, ida y vuelta en lo de siempre, empobrece y deja roto.

P

It seems prices has changed after all, not only Turbo R. I thought the prices of most systems seemed similar to what I payed for my WX, but these are lesser models. I checked the current prices of WX on ebay and it's more in the range of what the Turbo R used to be. Maybe now is a bad time to hunt for an MSX.
Ebay seems to always have pretty high prices, especially on buy-now things, but auctions can also drive up the price to crazy amounts that I don't want to pay. As long as you have space to store the wares and don't have to pay a fee to ebay for keeping their store open, they can probably have expensive wares there for a very long time as they know someone will eventually walk into the trap.

You are right, with a flashcart that can emulate an FDD, a real FDD maybe isn't THAT important. I also saw this, so the possibility of real floppies is not lost forever.

RAM can sometimes be upgraded (it's possible in my WX but I haven't done it) internally as the board may come with slots for extra RAM chips. Even VRAM can be upgraded to 192 kB, though very little software makes use of this (and these extra 64 kB can't be displayed and are only for a little extra buffering).
It might not be very easy however, personally I think desoldering chips is too much a hassle and can easily go wrong so I don't want to risk it until I get much more experience in soldering and desoldering.

To be fair the WX also has its flaws. One is that it blocks external memory mapper register reading which means some MSX software (mostly European games) won't work with external RAM and are therefore limited to the 64 kB internal RAM of my WX, which might not be enough for all software. Memory mapper registers should not be read according to the MSX standard, so Panasonic isn't doing anything wrong, but some software breaks the rules.
Another is that the MSX Engine (an ASIC chip with CPU, PSG and other MSX components integrated) used in some Panasonic models is doing an extra cycle thingy or something like that, I forgot the details but it's a potential compatibility problem.
But no matter where you look you always seems to find flaws, I have yet to find a flawless MSX model.
Compatibility problems are usually because software don't follow the MSX law, or are only tested with a single computer. Games like Eggerland 2 (Meikyuu Shinwa) expecting RAM to be in slot 3 is one of those problems (the MSX standard allows RAM to be in any slot), and you could argue that Eggerland 2 isn't fully an MSX game because of this faulty assumption it makes.

Regarding RGB cables, the MSX standard RGB pinout as described in the MSX-Datapack is found here. As you can see, the WSX is the only Panasonic that doesn't use the standard. All Sony MSX2 and MSX2+ do use it however.

Congratulations to owning your first piece of MSX merchandise! :D Doesn't it feel great? :)


For flashcarts here is a quick summary of the 3 main contenders:

MegaFlashROM SCC+ SD
The oldest of the bunch and a very capable multipurpose-cartridge. It has 8 MB flash-ROM which you can flash both ROMs and DSK images to as it works like a FDD emulator in that case. It comes with SCC/SCC+ and MSX-MUSIC.
Initially they used real NOS Konami SCC chips, but nowadays they implement it in FPGA like everyone else.
Just make sure to get the 512 kB expansion RAM option and also the SD-card slot option (though I think that might no longer be optional, not sure). You can even have 2 SD-slots, not sure what it's good for but it doesn't seem to affect the price by much.
The expansion RAM can only be used to expand main RAM (memory mapper), not as MegaRAM.

Carnivore 2
This Russian multipurpose-cartridge seems to me to be a little more capable and is the one I have myself.
It has 8 MB flash-ROM as well and can seemingly do everything the MFR SCC+ SD can and a little more. It has much more RAM (2 MB) and it can use 1 MB of it to expand main RAM and 720 kB as MegaRAM, meaning that you can load up MegaROM ROM images to it and run them similar to what the Everdrive is doing, saving the flash-ROM for ROMs that needs to be bootable.
It also has 4 kB BBSRAM like the Panasonic PAC and FM-PAC which some games can use to save data to. It actually ships without a battery (but solder pads for one if you want to install it yourself) so it's just normal volatile SRAM, but this isn't a problem as you can reset the system and dump the SRAM to the CF-card before cutting the power. And yeah it uses a CF-card instead of an SD-card, they are a bit more expensive, but not impossible to find (and there are adapters for SD->CF).
It has SCC/SCC+ and MSX-MUSIC of course.

GR8NET
This is one is a bit too rich for my blood, but it seems to be the most capable one. Not only SCC/SCC+ and MSX-MUSIC but it also has MSX-AUDIO and OPL4 among other things. On the downside, besides being expensive it is said to be very hard to use.


Yeah the CBIOS is an open-source MSX BIOS that only supports ROM cartridges and it lacks MSX-BASIC. The real MSX BIOS is still requiring a license for any product that uses it (besides being copyright-protected), so all emulators comes with the CBIOS.


Hehe in 1983 people thought that a joystick with TWO triggers was an awful lot of buttons to keep track of, and even the Famicom technically only has two extra function buttons originally for STARTing the game and SELECTing game modes with (thus no need for those buttons on controller 2).
There are a number of games that ever only uses a single button and therefore works fine with an Atari Joystick.
But yeah, since virtually every MSX has a keyboard, games often requires both the keyboard and the joystick. Konami games often pauses with the F1 key and the Metal Gear games uses a few more buttons to access the weapons, items and radio for example. In Metal Gear 2 you have to press A+B to crawl due to lack of buttons though.
Konami and some other games typically uses both N and M as an alternative to joystick trigger B while A is SPACE. Yet other games may use GRAPH or SHIFT for trigger B.
ZX Spectrum ports tends to be a bit TOO faithful and use the exact same keys as the Speccy (which lacks arrow keys):

1      = P1 START or choose joystick
2      = P1 choose keyboard
3      = P2 choose joystick
4      = P2 choose keyboard
Q      = UP
A      = DOWN
O      = LEFT
P      = RIGHT
SPACE  = FIRE button


The MSX joystick is compatible with passive Atari and Sega joysticks, but only one button will work. It's a specific Atari joystick variant with 2 buttons and is also used with Sharp X68000 and several Fujitsu and NEC computers. Since it has Vcc (power) in a different pin from Atari and Sega, you should never connect anything that uses power (active devices) that isn't made for MSX like an Atari, Commodore or Amiga mouse, Sega Lightphaser, Mega Drive controllers and any joystick with turbo that isn't for MSX/X68K/etc. IBM-PC serial mouse also uses the same DE-9 connector but will damage the hardware.

I recommend to get a Hudson Joycard (I have the Super X) or a similar joypad with a cross-shaped d-pad like on Nintendo controllers. It is of equal quality to Nintendo's, and according to Retrospectives the parts are compatible with Nintendo's, which means it would be easy to find spare parts. I haven't tested if mine are compatible (it is a bit bigger than Nintendo's) because one of the screws had corroded and stripped so I couldn't open it.

Computer joysticks tends to be a bit flimsy so if you want a real joystick I recommend to build your own using arcade parts. You just need a male DE-9 connector (industry standard ones might not work because they have a thick metal casing, so you might need one from a broken Atari/Sega/MSX joystick) and some wires, no chips or other components.

I think that the MSX mouse is compatible with other computers using the same joystick port (X68K etc). A mouse is cool to have but probably not used a lot in games. It's mostly for image editors and things like that. There are PS/2 mouse-adapters to buy though, which might be a cheaper alternative. I have the EGG Mouse that I found for a reasonable price. :)


Finally here is a simple joystick test program I wrote long ago. I use it in openMSX when I want to quickly check that I have the joysticks configured correctly. "Joy0" is a virtual joystick the MSX BIOS creates and maps to the arrow keys as the stick and the SPACE key as trigger A (trigger B doesn't exist).
It simply displays the raw switch data whenever a switch is engaged.
'Joystick Test Program

10 CLS
20 PRINT"Joystick Test"
30 PRINT"Press any joystick direction or button."
40 IF STICK(0)<>0 THEN PRINT"Joy0 stick:    ";STICK(0)
50 IF STICK(1)<>0 THEN PRINT"Joy1 stick:    ";STICK(1)
60 IF STICK(2)<>0 THEN PRINT"Joy2 stick:    ";STICK(2)
70 IF STRIG(0)<>0 THEN PRINT"Joy0 trigger A:";STRIG(0)
80 IF STRIG(1)<>0 THEN PRINT"Joy1 trigger A:";STRIG(1)
90 IF STRIG(2)<>0 THEN PRINT"Joy2 trigger A:";STRIG(2)
100 IF STRIG(3)<>0 THEN PRINT"Joy1 trigger B:";STRIG(3)
110 IF STRIG(4)<>0 THEN PRINT"Joy2 trigger B:";STRIG(4)
120 GOTO 40

adori_12

Maybe it has something to do with the current price spike of all retro things due to the pandemic, but I never really looked prices for MSXs before 2020, so I don't really know. Price wise I like the FS-A1, it's still quite cheaper than most other MSX2s, I think its design is pretty cool and given I'm going to have to buy a flash cart anyway I can add disk games and extra RAM that way. I remember reading that model also has that memory mapper reading block you mentioned, although I'll mostly play Japanese games (I thought games ran the same in Japanese and European computers but in openMSX they run slower so that rules out European software sadly for me) so I wonder if it really affects me. Just hoping that whoever had the computer before me changed the capacitors so I don't have to rush into a technician that can change them for me :-\
Al least I'm not in a hurry right now so I can

Nah I don't think upgrading RAM is worth the effort, too risky as you say, only if you really know what you're doing.

It's not at all Panasonic's fault that's true, that kind of things are expected if programmers didn't respect something that should have been the norm. I don't think you could even make a flawless MSX model, lots of people want different things, so it would be impossible to make something perfect for everyone.

Glad the WSX is an exception, the more systems that share the pinout the better.

It's awesome indeed! It may be a simple game but it really makes me happy to own it, especially given the complete absence of MSX stuff here. I hope it's the first step of all MSX things that I'd love to own ;D

Ohhh thanks! That made me understand the flashcarts a lot more. Carnivore 2 sounds like the better option to me, although they all sound nice for what I need.

Well it makes sense in 1983, it's just like the Famicom, they couldn't really have expected games to become much more complex in just a few years. That ZX Spectrum config is really cute (I wish it was more functional though).
For controllers I think I saw an NES-shaped new MSX controller on eBay, not the most comfortable design ever but it's something I'm pretty familiar with so why not? Hudson's controllers are excellent too, I like how all Joycards they made mimic the Famicom's controller even if they are for use with other systems, copy the best of course :)

I just tested your program, really handy since I'm playing with a USB SNES controller plugged to my PC and I wanted to test a few things with it :D

Why doesn't Trigger B exist in Joy0? And why are they called triggers instead of buttons? I thought you were talking about triggers like the ones on PS1 or PS2 controllers for example. Really surprised me to find that out.

I still wonder about the specs of the MSX3, they haven't announced anything yet right? I assume they would be just an upgrade ( a big one though) to where the MSX Turbo R left off and not like a modern take on the concept with modern day specs (assuming that is actually even possible and I'm not saying something that shows my ignorance on the computer lol).
De todo un poco es el sabor de la vida, ida y vuelta en lo de siempre, empobrece y deja roto.

P

January 20, 2023, 12:33:11 pm #8 Last Edit: January 20, 2023, 12:53:01 pm by P
I suppose it's best to be open for many different models and once you find one for sale you can check if you find it on msx.org (MSX2 MSX2+).
Also don't be afraid of Sony models as the seller is responsible to tell you if it works or not. In some cases the seller has changed all caps so you no longer have to worry about the HIC-1 board killing the machine. Some sellers also upgrades RAM and/or VRAM.

The minimum requirements you will probably want includes:
*All requirements of an MSX2 (64 kB RAM etc)
*128 kB VRAM
*A keyboard that you think is OK (arrow keys in a proper place etc)
*Composite output (not just RF)
*RGB output (preferably the standard connector)
*Cassette tape drive port (preferably the standard connector)
*2 standard cartridge slots
*RAM in slot 3 (or slot 3-0 if slot 3 is expanded)

AFAIK, MSX1 always has 16 kB VRAM since the MSX1 VDP can't use more than that and the MSX standard demands no less than that, but for MSX2 the minimum is 64 while you want 128 kB (192 is even better). I think 64 kB is very rare though. All MSX2+ models has 128 unless modded for 192 kB.
Beware that many MSX systems announce how much RAM they have by adding together main RAM and VRAM into a single number: 64 + 128 = 192! This makes zero sense to a programmer as the two types of RAM has very different uses, but I guess it makes a lot of sense for marketing. ;)

Some MSX1 systems has one MSX cartridge slot and one more proprietary so that you had to buy the company's own accessories for it. People sometimes makes adapters for these but it's preferable to have two cartridge slots that are fully compliant to the MSX-standard. Some MSX has one MSX-compliant slot and one that is missing some pins like 12 V which means some accessories like flashcarts with audio expansion won't work since they use 12 V amplifiers.
For MSX2 I think it's very common to have two fully MSX-compliant cartridge slots, but it's still another thing to double check.

RAM in slot 3 is very common on MSX2 and MSX2+, but it may be another thing to check. They also usually has other internal hardware (kanji-ROM, sub-ROM etc) and therefore slot 0 and slot 3 are usually expanded to keep these things in, and in that case the slot is named 3-0 and not 3 (the 0 is the secondary slot number).
Slot 1 and 2 are most often external (cartridge) slots on MSX2/MSX2+. They are normally not expanded as the cartridge slot can be expanded externally using a slot expander (turns 1 slot into 4 slots). Flashcarts like MFR and Carnivore 2 also expands the cartridge slot internally and can map different "virtual" cartridges to these internal cartridge slots (so you could have one game ROM and one SCC+ for example), which is why they must be plugged in to a non-expanded slot (the MSX slot system allows expanding a primary slot once into 4 secondary slots but no more than that).


As for flashcarts I advice you to make your own research as well, I don't know everything about all of them, I just summarized what I know about them.


Yeah, but if you really want to see a joystick with a lot of buttons check out the Micomsoft XE-1AJ (AKA Sharp Cyber Stick) and the joypad version XE-1AP "Kabutogani" (meaning "horseshoe crab"). I've been looking for this one for years but been unable to find one for a good enough price.
I think it was made as a home version of Sega's After Burner II cabinet for some computers (possibly the X68000) and I'm not sure if any MSX games actually uses it, but it should be fully compatible with it and at least work as a normal joystick in digital mode (I can imagine that being a nightmare to use though). It also works with PC-Engine (with the XHE-3 adapter) and the joypad version has a mode switch for the Mega Drive, and these systems actually has games that uses the analog stick.
The joypad version is pretty cool as it predates several modern controllers with its thumbstick, shoulder buttons and overall modern-looking design.
I saw that Sega were releasing a modern USB-version of the Cyber Stick for their Mega Drive Mini 2 (which is a bit odd, AFAIK the joystick variant wasn't compatible with the Mega Drive only the joypad variant).


My program is intentionally simple and small, so it shouldn't be hard to figure out how it works.
As for why I used "trigger", well I thought "button", "trigger" and "switch" basically were synonyms in English that only differs in nuance. Also "trigger" is pretty common term for joysticks of the MSX1's time. Besides the BASIC command for reading the joystick buttons is called "STRIG()".


As for MSX3 I don't know too much but there are probably more information about it if you look hard enough. Like the MSX0, the MSX3 isn't just a single product, but a whole series of different product in different price ranges. One of them seems to be a cartridge slot device that upgrades an MSX1/2/2+/Turbo R to MSX3.

Unfortunately it will not just be something that follows were MSX Turbo R takes off (Mr Nishi had some heated discussions on Twitter with Japanese fans that wanted something more like the old MSX systems). It will be a modern device that also supports older MSX software, and a download store.

Well there was this meeting with Mr Nishi. I haven't watched it all yet, it was a little slow and he doesn't seem to really give out any more detailed information than is already out.

Keep an eye on his Twitter as he speaks English and sometimes makes announcements there.



Here is a little longer program I've made, it allows playing around with the sprite hardware a bit.
You can move the first sprite (slowly, sorry about that) with the arrow keys:
'Basic Sprite Handling

10 SCREEN 1,0
15 REM SCREEN 1,3
20 COLOR 15,4,1
30 X=48
40 Y=96
50 C=10
55 E=0
60 SPRITE$(0)=STRING$(8,255)
65 REM SPRITE$(0)=STRING$(32,255)
200 J=STICK(0)
205 T=STRIG(0)
210 IF J=1 THEN Y=Y-1
220 IF J=5 THEN Y=Y+1
230 IF J=7 THEN X=X-1
240 IF J=3 THEN X=X+1
245 IF T=-1 THEN E=(E XOR &H80)
250 IF Y>255 THEN Y=0
260 IF Y<0 THEN Y=255
270 IF X>255 THEN X=0
280 IF X<0 THEN X=255
500 PUT SPRITE 0,(X,Y),C,0
510 PUT SPRITE 1,(80,96),1,0
520 PUT SPRITE 2,(112,96),2,0
530 PUT SPRITE 3,(144,96),6,0
540 PUT SPRITE 4,(176,96),15,0
545 REM VPOKE &H1B03,(C OR E)
550 LOCATE 0,0
560 PRINT "X: ";X,"Y: ";Y,
1000 GOTO 200

'*The REM lines are for largest
'possible sprite size (32x32).
It also demonstrates what happens when there is more than 4 sprites on a scanline (the 5th sprite is hidden on the scanline), and as you move away the first sprite with the arrow keys the 5th will slowly appear on each scanline it's not longer a 5th sprite. The Famicom also works like this but it can have up to 8 sprites.
It also demonstrates what happens if you move the sprite off the top of the screen until Y-position is 208. All sprites will disappear at that point, this is a feature of the VDP and normally you would have to check that a sprite never gets to Y=208.

You can change Y=Y+1 to Y=Y+2 and Y=Y-2 to Y=Y-2 or an even higher value to make it move a little faster vertically (the same goes X to move faster horizontally).

Maybe you know this, but to stop an MSX-BASIC program you need to press CTRL+STOP (STOP is F8 in openMSX by default), not just STOP as in Family BASIC, that will just pause execution temporarily.

adori_12

I knew that place had some MSXs for sale, but I hadn't really checked it. I had a look and it seems like a viable alternative, as most systems are completely tested and sellers are very honest on what you're getting which I like  :) Definitely will be checking it out more often.

Yeah those things are what I want, nice of you to clarify the RAM slot, I've seen some models that have it on slot 3-3 and didn't really know what it meant.

Haha I did notice that when booting some systems, RAM was expensive so of course they needed to add both to crack up the number and boast about that. Imagine trying to boast that your PC has 192kB RAM today, wonders of tech...

Ugh proprietary cart slots? Definitely passing on that one, thanks for the info, explains why some like to clarify about standard slots.

Yeah I'll look more in detail on flash carts, considering how important they are it's something that should be analyzed.

That Micomsoft stick looks awesome! If I ever find it for cheap it'd be a great addition. Though I actually don't care that much about how many buttons there are, I was just surprised the system needed so few, the simpler the better for me  ;D

Ohh I see. Don't worry, most MSX-related stuff also refers to them as "triggers" (even that Micomsoft stick) so it's my fault not knowing that  :P

I think that's a missed opportunity, having the man behind all and not following what was established? Might as well call it Modern MSX or something like that, MSX3 implies that it was the next step in a well defined series (and considering he had to fight his own fans because of that approach I assume lots think like me).
We probably won't get any new information right now, there will be probably several news sites covering all the new revealed features when that happens. We just have to wait a little big longer...

Thank you, I'll test that program when I get home. I like running code like that, just a few lines and you have something functional! Really digging how these systems needed so little code to do things.
I didn't know I just reset the system when I'm done, precisely because STOP didn't, well, stopped everything. Thanks for that!  :D
De todo un poco es el sabor de la vida, ida y vuelta en lo de siempre, empobrece y deja roto.

P

January 22, 2023, 05:02:59 am #10 Last Edit: January 22, 2023, 05:43:08 am by P
I meant looking up the specs of a particular machine on the msx.org wiki, but looking for sales in the forum is always also a good idea.


Regarding MSX3, us old hardcore fans are probably too few to be a good target market, so the fact the MSX3 is using an ARM CPU is probably hard to avoid. Some of the old chips are not manufactured anymore so using an FPGA to implement the classic MSX hardware is probably the best option today. I'm just glad it has backwards-compatibility at all.
Mr Nishi said that he is not going to challenge the IBM-PC or the Mac as a modern personal computer alternative, but rather he is going for a more Raspberry Pie-like computer where he thinks it has a potential market today.


Yep that's the beauty of these old 8-bit machines. You can just pick one up and start programming it right away, and with a program language that is easy enough to learn and understand by a layman.
With modern computers you don't really program them anymore unless you are a programmer, you use ready-made software, but back in the day many computers had BASIC built-in to the ROM. Though there were many variants like Sharp's computers where you usually had to load BASIC from a cassette tape (or later floppy disk), and the Apple computers that instead came with something called a monitor (a program used to enter machine code and/or view memory with) named "Wozmon" (after Steve Wozniak who made the computer and monitor) and BASIC was again initially required to be loaded from tape or disk (later Apple II had BASIC in ROM though).

You could argue that a modern computer is as easy to pickup and program as old 8-bit home-computers since every webbrowser is compatible with JavaScript that you can type in any text editor, but it doesn't have the same type of community following as BASIC had in old magazines like Micom BASIC, LOGiN Magazine, MSX-Fan etc.

In the '80s every mall in Japan had a computer corner were people could try out the latest computer models for free and type in BASIC program listings from magazines and the like.
Some radio programs (all over the world, not just Japan) had computer corners where they would broadcast the frequency modulated data of programs so you could record it to a tape and load it in your computer.
Some magazines would come with phonograph records made out of paper that could be played in a normal phonograph player and thus be connected to a computer and load the program like from that of a tape.

Since the BASIC dialect used in MSX (as well as in Family BASIC) is a variant of Microsoft's BASIC (specifically what is called "Dartmouth BASIC" to distinguish it from other unrelated languages also named BASIC), it means that porting a program made for another computer using a similar BASIC (like any Commodore computer which all used variants of Microsoft's BASIC) is not impossible. It mainly depends on how different the audio and video hardware is, and how BASIC implements the drawing functions. Purely text-based programs may work verbatim even on different computers that uses similar BASIC dialects.

MSX BASIC is especially good since it contains both good drawing commands and a good MML for making sound (Commodore BASIC 2.0 used in C64 lacked both of these), and these have been around since MSX-BASIC 1 used in MSX1. I think this is important, because the BASIC that is built-in is almost always going to be the one that is most frequently used and have the most software support. Commodore BASIC got upgrades that added drawing and MML but as most people won't have this upgrade, it wouldn't receive the same level of software support.

P

January 23, 2023, 04:09:34 pm #11 Last Edit: January 23, 2023, 04:22:25 pm by P
I forgot to answer this question:
Quote from: adori_12 on January 20, 2023, 12:09:58 amWhy doesn't Trigger B exist in Joy0?
That's just how whoever programmed the MSX BIOS designed it. SPACE makes sense to use as a trigger button in games but there is no clear second choice, even though MSX games often uses M or N as a second trigger button when the player is using the keyboard, possibly popularized by Konami. On later computers (including modern IBM PCs) it's common to use Z and X (where Z is "A"/confirm/jump and X is "B"/cancel/attack) as trigger buttons for games that only need two buttons, but I don't think I've seen this in MSX games.

It's anyone's guess why the programmers designed it like that but I think it sorta makes sense if you consider the following:
The MSX joystick ports are numbered 1 and 2 since that is how humans number things, but in computer systems things are often numbered starting from 0 (so 1 means the second item). They could have done it like Family BASIC where STICK(0)/STRIG(0) is controller 1 and STICK(1)/STRIG(1) is controller 2, but by inventing a "virtual" joystick 0 mapped to the keyboard, you get STICK(1) for the joystick 1 stick and STICK(2) for the joystick 2 stick which is a bit more elegant, don't you think?
That doesn't really answer why there is no second trigger for joystick 0, but watch this:
STRIG(0) joystick 0 trigger A (SPACE)
STRIG(1) joystick 1 trigger A
STRIG(2) joystick 2 trigger A
STRIG(3) joystick 1 trigger B
STRIG(4) joystick 2 trigger B
If we had a joystick 0 trigger B, the numbers would be bumped up to 2 and 3 for joystick 1 and 2 trigger A and 4 and 5 for trigger B. By reserving 0 for the keyboard we get the more elegant situation where joystick 1 get all the odd numbers and joystick 2 all the even ones.
So to summarize, by removing joystick 0 trigger B we get an uneven number of total buttons (5) which fixes the asymmetry you get when you start counting from 0 instead of from 1 and from having an odd number of joysticks (3).

Now the virtual "joystick 0" is a bit superfluous since you can just read the keyboard to find out the state of any key you want, instead of using the joystick reading commands. In BASIC that is done using the INKEY$ command.
10 K$=INKEY$
20 PRINT ".";
30 IF K$=CHR$(24) THEN 50
40 GOTO 50
50 END
This program simply prints out dots until you press the seldomly used SELECT key (code 24), which is quite a unique key for the MSX keyboard. In openMSX the SELECT key is mapped to F7 by default. CTRL+X also works because that's the control code for the SELECT key.


Edit: BTW I just remembered that there are a lot of adapters like the Popolon JoySNES. That may be an alternative to buying an expensive MSX joy-stick/-pad.  SFC/SNES controllers are very available and the extra buttons can be supported by games (some games have been patched to support it). It also allows using a SFC/SNES mouse as an MSX mouse. I've been considering getting one of these myself but I haven't done so, so I can't say anything about the build-quality of this adapter.
Although it's also cool to own a real MSX joypad as well. :)

adori_12

Oh sorry I misunderstood you, that's also what I've been doing, checking the site for the models I find.

Well that's sadly the case for most retro things in general, we're not a very big market so most companies don't invest that much in it. But still better to have an MSX successor than nothing I guess. Hope it comes out great.

So there's variants of BASIC? I thought they were all cross-compatible. Still I think it's a great language, a lot more understandable for me than other languages. It's perfect for the power or these computer too, being rich enough to allow for excellent software, but keeping things basic ;)

Really?? Oh it must have been so cool to play those games, something you could only do on computers because it's not like you can play a broadcasted Famicom game. At least there's still some of that magic left when you look for old programs on the Internet, you don't really know what you're getting until you run the program.

Is MSX's BASIC is more capable than the C64's then? That was the other system where I'd like to toy around a little with programming.

That actually makes a lot of sense. If I had to add it I think it would be the very last one, so it gets beginning and end for joystick 0, odd for joystick 1 and even for joystick 2. It's not very confusing is it?  :) Well but still there wasn't that much need for trigger B so a bit useless to do that.
...Wait now that I think about it, why even have trigger A in the first place if you could just read the Space key with INKEY$? I guess it would be the same situation where the numbering would be unintuitive again. Anyway thanks a million for the explanation, means a lot to me  :D

Ohhh, an interesting alternative! I'm already playing with an SNES controller plugged to my PC and I do like it. I can't find them on eBay right now but I suppose they're fairly common, or at least a bit more common than MSX controllers... :-\
De todo un poco es el sabor de la vida, ida y vuelta en lo de siempre, empobrece y deja roto.

P

Quote from: adori_12 on January 27, 2023, 12:09:55 amSo there's variants of BASIC? I thought they were all cross-compatible. Still I think it's a great language, a lot more understandable for me than other languages. It's perfect for the power or these computer too, being rich enough to allow for excellent software, but keeping things basic ;)
8-bit systems vary too much for BASIC to be able to be fully universal, and each system also seems to make a few changes to the usual keywords, or adds new ones to do something the only that computer can do etc.
For example the Famicom PPU (1983) has much better spriting and colors than the MSX1's (1983) VDP (1979, the TI TMS9918, same video chip as used in TI-99/4A, ColecoVision, Sega SG-1000 and many other computers/consoles) which even lacks a hardware scroll. But the TMS9918 VDP has support for much more video RAM and can do something close to a bitmapped mode which means plotting lines are possible, while plotting lines on the Famicom PPU is very hard. Thus any BASIC program that plots lines would probably be very hard to port to Family BASIC since it lacks the line plotting commands, but the MSX1 can do it quite well.
MSX2 has several true bitmap modes (a true bitmap mode means you can choose the color of every single pixel on the screen which the Famicom PPU and MSX1 VDP can't) and are much more capable in drawing still images for that reason.


Quote from: adori_12 on January 27, 2023, 12:09:55 amsomething you could only do on computers because it's not like you can play a broadcasted Famicom game. At least there's still some of that magic left when you look for old programs on the Internet, you don't really know what you're getting until you run the program.
If it's a Famicom game written in Family BASIC you can save it to a tape and broadcast it.

Ozidual is part of a group that are typing in BASIC listings from magazine scans and saves them so you can copy-paste them.
Check this thread out, no MSX yet though.


Quote from: adori_12 on January 27, 2023, 12:09:55 amIs MSX's BASIC is more capable than the C64's then? That was the other system where I'd like to toy around a little with programming.
I have too little experience with the C64 to make a fair comparison, but it seems to me that MSX-BASIC v1 (which comes with MSX1) is at least a bit more capable than Commodore BASIC v2 (which comes with C64), as there are only 71 commands. Though the main complaint seems to be that Commodore BASIC lacks audio and video commands, so you are forced to use POKE (a BASIC command that allows to write any value to any address) to manually write to the audio and video registers, which requires you to know exactly how to use the audio and video chips, which are normally for professional engineers, making the programs very tedious to write and hard to read.
The Commodore 64 seems to have better audio (the famous SID chip) and video (VIC II) hardware than the MSX1's PSG (the simple but useful AY-3-8910) and VDP (TMS9918 as I mentioned above). The ZX-Spectrum falls far behind both however in all these areas (that doesn't prevent it from still having die-hard fans that swears by it).
Both Commodore BASIC and MSX-BASIC were improved with later models. Commodore 128 has Commodore BASIC v7.0, MSX2 has MSX-BASIC v2.0, MSX2+ v3.0 etc, any MSX with a disk drive would have Disk BASIC add-on which adds disk commands such as FILES (view files on disk) and CALL FORMAT (format the disk), MSX-AUDIO and MSX-MUSIC hardware comes with MSX-AUDIO BASIC and so on.


Quote from: adori_12 on January 27, 2023, 12:09:55 am...Wait now that I think about it, why even have trigger A in the first place if you could just read the Space key with INKEY$?
Yeah that's what I meant by joystick 0 being a bit superfluous, although I suppose there might be a good reason for its existence.


Quote from: adori_12 on January 27, 2023, 12:09:55 amOhhh, an interesting alternative! I'm already playing with an SNES controller plugged to my PC and I do like it. I can't find them on eBay right now but I suppose they're fairly common, or at least a bit more common than MSX controllers... :-\
If you do get one I'd like to hear of your experience with it.

adori_12

Seems logical, they don't share the same specs and quirks so you can't write the same program for all of them.
A true bitmap mode sounds really cool, considering I'm most familiar with the Famicom and its limitations, possibilities are much more open that way.

Well you technically can with Family BASIC, but you can't record a cartridge, if you had an NES then you were out of luck.

Man that sounds tedious, who knows why they implemented it like that. At least the C64 got pretty popular so there was lots of information on Commodore BASIC programming lying around.

Yeah I assume they had to talk about it and agreed it was necessary to have. They wouldn't have something completely useless that just takes up memory space.

Sure! I'll let you know if I get one.
De todo un poco es el sabor de la vida, ida y vuelta en lo de siempre, empobrece y deja roto.