[Maury Markowitz' answer already nails it, so this is just to add some numbers for comparison]
The Cassette BASIC 1.0/1.1 in the IBM PC ROM is a Microsoft BASIC V5.x (*1). It's usually marketed as MBASIC. It was available as stand alone application or as program under CP/M and other OS. MS offered 3 basic flavours:
- 8 KiB BASIC
- Extended BASIC
- Disk BASIC
8 KiB BASIC was intended for (low cost) home computer with limited ROM space. I'm not really sure if there were any uses at all, but it's mentioned in some early manuals.
So a good comparison may be typical Extended BASIC machines (Although Cassette BASIC is a bit different, see below):
MSX BASIC (*2)
MSX1 BASIC uses 16 KiB ROM for BASIC but needs a rather upper end BIOS to work, filling another 16 KiB for a total of 32 KiB ROM. For disk usage another 16 KiB Disk-ROM is added, which included a 4 KiB BASIC extension.
MSX2 BASIC added another 16 KiB (*3) for BASIC for a total of 64 KiB ROM.
TA Alphatronic PC
This Z80 based machine featured 32 KiB ROM, of which 8 house the BIOS/OS, while 24 KiB are used for Microsoft Extended BASIC V5.11. This BASIC did not feature any disk extensions, which had to be loaded from disk - much like with the IBM-PC
In addition it's important to see that IBM's Cassette BASIC is Disk BASIC sans disk support (driver). Unlike Extended BASIC, all mechanics for abstract devices are already included. Access is done thru files, using names like "LPTn" or "CAS1". It does no longer need (or support) specific commands like CLOAD/CSAVE for cassette or LPRINT for printer handling, as Extended BASIC does.
Bottom line: Microsoft Extended BASIC (without Disk support) for Z80 systems already filled ~24 KiB of ROM. So 32 KiB for an even more enhanced Version doesn't seam like a lot (*4)
Background IBM PC BASIC
IBM offered BASIC in 3 flavours:
- Cassette (ROM) BASIC
- BASIC.COM, to extended ROM BASIC with functions for handling disk files (*2)
- BASICACOM, adding disk handling plus advanced Features for graphics and sound.
The later two were not stand alone solutions, but extensions to the ROM code. BASIC.COM only adds disk access and handling for serial ports(*4), while BASICA offers many more functions for graphics and sound.
The separation in BASIC.COM and BASICA.COM was made to maximize available RAM on machines with less than 128 KiB. 32 KiB is the absolute minimum to use DOS 1.x. With BASICA loaded this would leave about 1 KiB of RAM for BASIC. So not really usable. BASIC.COM reduced the footprint by ~6 KiB, enabling the use on a 32 KiB minimum system. Still not much better than what a VIC-20 could do for a fraction. For useful programs in BASIC, and comperable numbers to other computers of the time, 48 KiB was the minimum, leaving 17 KiB under BASICA and 23 KiB under BASIC.COM. And with 64 KiB the PC managed to beat the C64 with a whooping 43 KiB free under BASICA.
In it's structure BASIC 5.0 was still an 8/16 bit program. All data (BASIC code plus all data) was held in a single segment (*5). Thus none of the three BASICs could provide more then 61 KiB to a BASIC user. A PC with 96 KiB RAM (*6) would be all a BASIC user could have dreamed about :))
*1 - I'm not sure about the exact version, but it must be after 5.0, but before 5.28
*2 - After all, MSX is said to mean MicroSoft eXtended BASIC
*3 - I'd say code size between Z80 and 8086 version is rather close. After all, the 8086 was made to support 8080 style programming without bloating the code too much - that's why there are many short encodings for instruction equivalent to 8080 instructions - which in turn the Z80 uses as well. Over all increase is somewhere around 20-30% without optimization.
*4 - Due the already abstract file access mechanics.
*5 - While it can be speculated, that porting was kept simple by keeping the memory layout exactly like with the 8080 version, I think it's much more likely that 61 KiB maximum BASIC space seamed, as so often, more than enough for everything.
*6 - 64 KiB motherboard RAM plus 32 KiB Memory Expansion Option (card) - yes, there was such a thing