However, I got a structured BASIC for the Speccy in a MicroHobby or Micromania magazine (cannot remember exactly), with screen editor, but naturally had the problem it would make the 48 KB memory size even smaller.
It would work better on the 128 KB models, but those lucky ones to own a 128 +3A could get hold of CP/M, with support for Mallard BASIC, CBASIC and BASCOM.
This is not surprising because the Microsoft Basic was intended for computers with 8 inch floppy disks (the much larger predecessors of the 5 1/4 inch floppy disks familiar to IBM PC users), while ZX Basic had to run from a ROM with only cassette storage. Thus the former was expected to be used for bigger programs that could also process much more data.
The Microsoft Basic for CP/M was very similar to the later GW-BASIC for MS-DOS.
The advantages of Microsoft Basic that mattered for me at that time were less about any improved program control structures, but about more powerful data types, for instance double-precision 64-bit floating-point numbers.
Also to note, the original Darthmond BASIC was much more powerful than the ones on 8 bit micros due to hardware restrictions, exception to those that were good enough to run CP/M.
- IF THEN
- FOR
- GOSUB / RETURN
- DEFN
- GOTO
- READ / DATA
That was the same thing that any 8 bit BASIC of the era.
I have yet my books of learning BASIC (for kids), and there for ZX Spectrum, Commodore, Apple 2, etc... And only had that. The only thing that I remeber lacking compared againts other BASICs, was the ON GOTO, ON GOSUB and ELSE . On the control of flow in BASIC... That is all.
I will not see something more advanced (and without numbering the lines), like while and do loops, or select case, proper subrutines and functions, until I touch Turbo BASIC (and QBASIC)