These machines were incredible, on 32KB of ram: all the things that could be one.
Disclaimer: This model is hard to find on the second hand market, so hopefully #Sanyo won't be bothered with me using the ROM. #fairuse

#retrocomputing #MSX2 #MSX #memory

@silentexception I loved how well the BASIC implementation could tap into the graphical capabilities of the #MSX, especially on the #v9938 of #MSX2 and up.

Support for the pattern modes of the TMS9918 (SCREEN 1 and 2) of the MSX1 was, in retrospect, less well developed. I guess the 32KiB ROM was full.

@RandySimons I did some measuring, I can't find them right now (that screenshot was taken 3 years ago..). From (brain) memory, the 32 Ko (I am french) is filled up..

@silentexception From what I've read is that (almost) all is 8080 code, from their earlier BASIC versions. Perhaps MS could have optimized a bit by using the extra Z80 instructions. Not sure if that would (or even could) be enough to squeeze in better pattern support.

But for the MSX2 bitmap modes they did properly give BASIC access to many of the hardware accelerated features of the V9938, supported pages, interlace, YAE/YJK (MSX2+). I had lots of fun with it.

@RandySimons interesting, thanks for this.
Yamaha V9938 - Wikipedia

@RandySimons Actually I don't like being misleading, the ROM itself is 32KB, and the Sanyo PHC 28L is actually a MSX1 with a Z80A and 64KB of ram (16KB of VRAM), the one I used a long long time ago. The video chip was a Texas Instruments TMS9929ANL https://www.msx.org/wiki/Sanyo_PHC-28L
Sanyo PHC-28L - MSX Wiki

The Sanyo PHC-28L was aimed at the French market. This model is based on the MPC-5.

@silentexception All MSX1 had (more or less) the same 32KiB ROM. It was a standard, after all. The spec required at least 8KiB of RAM, but 64KiB was quite common. For BASIC, anything more than 32KiB didn't really matter, it wasn't used.

Perhaps that's my biggest gripe with MSX BASIC, especially apparent in the later systems: you got ~28KiB to work with, even less with diskdrive enabled,, regardless the amount of RAM installed. MSX2 added `CALL MEMINI`, but that sucked.

@RandySimons I found the details I mentioned before. It was the command FRE I used. The game on the right is called MDB (wall breaker in French or Mur De Brique), it takes 6KB in memory when loaded (it's amazingly reactive, almost impossible to play)