Default user memory "partition" in a Basicalc is at >4000, aka 0x4000h among the heathen...
>4000 & up is cartridge memory, >3FFF & below is "System" RAM. 8K Cartridge memory
can be appended to system RAM with [ CALL ADDMEM ].
Executing CALL ADDMEM with a 32K cartridge appends 8K - The Basicalc model ignores
the other 24K (which can also be useful, but that's for another day).
To append an entire 32K cartridge a loadable sub-program, MEMADD.SUB must be used.
OK, you already know all that - But what if you don't want to append the entire 32K for some
reason - Possible?
Apparently it is. To reset the partition to (say) >8000, try the following:
1) NEW ALL
2) RUN "100.LOAD.PGM"
3) "100.POKE.SUB"
4) "Q"
5) NEW
6) CALL POKE(8192,127): CALL POKE(84,127): NEW
FRE(0) now indicates 23993 bytes of BASIC-usable RAM., with 16K of the cartridge still
above the "partition".
Seems to work normally here - YMMV, & I'd like to hear about it if it does.
Jack
>4000 & up is cartridge memory, >3FFF & below is "System" RAM. 8K Cartridge memory
can be appended to system RAM with [ CALL ADDMEM ].
Executing CALL ADDMEM with a 32K cartridge appends 8K - The Basicalc model ignores
the other 24K (which can also be useful, but that's for another day).
To append an entire 32K cartridge a loadable sub-program, MEMADD.SUB must be used.
OK, you already know all that - But what if you don't want to append the entire 32K for some
reason - Possible?
Apparently it is. To reset the partition to (say) >8000, try the following:
1) NEW ALL
2) RUN "100.LOAD.PGM"
3) "100.POKE.SUB"
4) "Q"
5) NEW
6) CALL POKE(8192,127): CALL POKE(84,127): NEW
FRE(0) now indicates 23993 bytes of BASIC-usable RAM., with 16K of the cartridge still
above the "partition".
Seems to work normally here - YMMV, & I'd like to hear about it if it does.
Jack