I have 64kB RAM, but BASIC only reports 28xxx Bytes free
This page was last modified 09:47, 9 June 2021 by Gdx.

This is normal. While the Z80 processor can address 64kB, starting BASIC will only give you access to 32kB RAM maximum, regardless how much memory the system has, as the remaining 32kB of the addressable memory space is occupied by ROM code which contains BASIC. The 32kB of RAM is further reduced as BASIC also needs some RAM for its own use. For an application to use the full 64kB of RAM it cannot use BASIC but needs to be written in something like assembler.

The exact amount of free Bytes that BASIC reports will also depend on additional ROM's that are present in the system which may also need some amount of RAM for their own operation. On a system with no additional ROMs, the best you can hope for is 28815 Bytes free. The most common additional ROM which also requires RAM is Disk BASIC. Depending on which Disk BASIC ROM is present the available RAM to BASIC can be anywhere between 23 and 25kB.

Here are some examples of how free memory is effected by the choice of disk drive on a system that otherwise would have 28815 Bytes free. Keeping CTRL pressed when booting the MSX will disable the second disk drive (present or not) and free some RAM.

Product Type Free Free with CTRL
AVT DPF-550 5.25" 180kB 24455 25501
Digital Design Drive-Interface DDX 3.0 any 23430 24988
Microsol CDX-2 any 23430 24988
Mitsubishi ML-30DC 3.5" 720kB 23432 24990
Panasonic FS-FD1A 3.5" 720kB 23414 24972
Philips NMS 1200 3.5" 720kB 23432 24990
Philips VY-0010 3.5" 360kB 24456 25502
Sanyo MFD-001 5.25" 360kB 24456 *
Sharp HB-3600 any 23430 24988
Sony HBD-F1 3.5" 720kB 23431 24989
Sony HBD-50 3.5" 360kB 24455 25501
Talent DPF-550 5.25" 180kB 24455 25501

(*) booting with CTRL on the Sanyo MFD-001 has no effect, drive B does not get disabled.