MSX CLOAD format

ZX80, ZX 81, ZX Spectrum, TS2068 and other clones
Post Reply
stefano
Well known member
Posts: 2137
Joined: Mon Jul 16, 2007 7:39 pm

MSX CLOAD format

Post by stefano »

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 :lol:).

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.
p3load.png
MCL_P3_b.png
mcl_MSX_a.png
mcl_MSX_b.png
mcl_MSX_c.png
You do not have the required permissions to view the files attached to this post.
stefano
Well known member
Posts: 2137
Joined: Mon Jul 16, 2007 7:39 pm

Re: MSX CLOAD format

Post by stefano »

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 :)
pjshumphreys
Member
Posts: 66
Joined: Sat Feb 06, 2021 2:32 pm

Re: MSX CLOAD format

Post by pjshumphreys »

Very cool! :)
Post Reply