CPM+
CP/M+ already supports the Dk'Tronics RAM expansion but the CP/M+ on the system discs doesn't run on the CPC464/664 because it uses firmware v1.1 calls. Dk'Tronics provide patches to allow it to run on the 464/664.
CPM2.2
Creating the DkTronics 61K TPA CPM 2.2
Boot into CPM2.2 from system discs:
A>disckit2
Use disckit2 to format a vendor disc. This will become 'Dk'Tonics CPM Disk'.
A>BOOTGEN
This initialises the boot sector.
Source is: CPM 2.2 disk. Now insert 'Dk'tronics CPM Disk'.
A>SYSGEN
This puts CPM2.2 onto the disc. Source is CPM2.2 disk. Destination is 'Dk'Tronics CPM Disk'.
A>FILECOPY movcpm.com
This puts movcpm.com onto the disk. Source is 'CPM 2.2 system disc' disk. Destination is 'Dk'Tronics CPM Disk' disk.
A>FILECOPY save.com
This puts save.com onto the disk. Source is 'CPM 2.2 system disc' disk. Destination is 'Dk'Tronics CPM Disk' disk.
A>FILECOPY newcpm.com
This transfers Dk'Tronics newcpm.com. Source is 'Dk'Tronics bank switch software' disk. Destination is 'Dk'Tronics CPM Disk' disk.
A>FILECOPY oldcpm.com
This transfers Dk'Tronics oldcpm.com. Source is 'Dk'Tronics bank switch software' disk. Destination is 'Dk'Tronics CPM Disk' disk.
Now boot the Dk'Tronics CPM Disk.
A>MOVCPM 255 *
This configures a 63K CPM.
A>SAVE 34 NEWCPM.SYS
This saves a 63K CPM for Dk'Tronics CPM to use.
Your Dk'Tronics CPM is setup.
Technical
- 61K TPA is not active until NEWCPM.COM is run.
- 61K CPM is stored in "NEWCPM.SYS" and is loaded by NEWCPM.COM
NEWCPM.COM
- NEWCPM.COM is a normal COM file. It is loaded like a normal COM file. It resides in memory in bank 0 but configures a 61K CPM in bank 1 and transfers control to it. It remains in bank 0 and implements parts of the 61K CPM BIOS.
- NEWCPM.COM sets up a BIOS jumpblock in page C7 at &FC00. This calls into the resident NEWCPM.COM code in bank 0
- NEWCPM.SYS is first loaded to B00 in bank 0, it is later copied into bank 1 to it's correct location.
TPA upper address is &F300. BIOS jump is at &FC00. Code after &FC00 is part of the BIOS in bank 1.
OLDCPM.COM
- OLDCPM.COM is much simpler than NEWCPM.COM. It restores the dormant CPM in bank 0. If NEWCPM.COM was used it remains dormant in bank 1.