This post is a bit off-topic, but for the MSX tape format experiments.
I've adapted the CP/M version of the Microsoft BASIC to the ZX Spectrum +3 to support a little bit of graphics and a proper console integration.
To do so I've imported portions of the MSX ROM, the result looks quite stable and professional (for the 1982 standards ).
Since I've finished the spare slots for command tokenization and I'm not willing to break the compatibility with MBASIC, I decided to rename the "DRAW" command to "LINE@".
The new commands customized for the Spectrum are: VPOKE, VPEEK, PSET, PRESET, POINT, CSRLIN, LINE, CLS, COLOR, LOCATE, LINE@ [replacing DRAW], CSAVE, CLOAD, CLOAD? [as on MSX, to verify the saved program].
The CSAVE format is sort of compatible with MSX but, as said, the token codes are the MBASIC ones and are different.
It could be possible to work on the compatibility but there are better ways to convert the programs and plenty of Microsoft BASIC variants (e.g. even the SpectraVideo SVI slightly differs from MSX both on the tokenization and on the CSAVE format).
I haven't tested CLOAD on a real Spectrum thus I don't know if it is worth to extract a LOAD routine for the BLOAD format for z88dk.
Screenshot of the process of typing and running an MSX program on a Spectrum, using CSAVE to pass it to the MSX, adjusting the code (tokens are not compatible), running on MSX.
The program tests the "MCL macro language", available on both GW-BASIC and MSX.
MSX CLOAD format
MSX CLOAD format
You do not have the required permissions to view the files attached to this post.
Re: MSX CLOAD format
This project brought me to the Philips VG-5000 and a generic tape library for z88dk.
Moreover I was able to merge the VG's PLAY command, adapted to run on the traditional internal speaker of any Spectrum.
Due to the mentioned shortage of free token codes, I chose "OUT!" to replace "PLAY" and "OUT@" for "SOUND".
I'ts kind of fun to type programs intended to run on an MSX or other targets and get them working on a ZX Spectrum
Moreover I was able to merge the VG's PLAY command, adapted to run on the traditional internal speaker of any Spectrum.
Due to the mentioned shortage of free token codes, I chose "OUT!" to replace "PLAY" and "OUT@" for "SOUND".
I'ts kind of fun to type programs intended to run on an MSX or other targets and get them working on a ZX Spectrum