>which was Microsoft's second stage to orbit after providing Level II Basic for the TRS-80.
But that was just BASIC 80, rev 2, which was also found on most other micros of the day and shortly thereafter, Apple's base Integer BASIC and Atari's initial cartridge BASIC being the most notable exceptions. (for that matter, Level I basic on the TRS-80, too). [yes, there were other tiny basic machines, but they were in the toy to hobby range].
BASIC 80 came in three levels, with "Extended" and "Disk Basic" being the upper tiers. Generally, a high level could be loaded into RAM to supplement what came in ROM.
while it had single (6 digit) and double (12 digit) floating point, the non-8080 ports (Apple, commodore, etc.) tended to have a single 9 (?) digit float.
And they were all bad at math; the rounding to base 2 meant that a loop from -1 to 1 step .1 would miss zero by its calculations . . .
Version 4.51 was common on CP/M, as was the later 5. I think 4.51 was the first that built an address table, rather than scanning memory for line numbers on every branch. [the workaround for large programs was to put common subroutines in low line numbers, setup in high numbers, and to jump to setup and then jump to mid numbers for main execution. {my large BASIC programs looked suspiciously like well-structured FORTRAN}]
for all practical purposes, the PC's BASICA and MS-DOS' GWBASIC were 8088 ports of MBASIC5.