HOW TO BUILD A NEW CP/M Note: with 64K of RAM, the largest CP/M may be less than 64K, depending on the size of your BIOS. My own MBIOS requires different amounts of RAM depending in version: * Version 3.xx: 62K CP/M * Version 4.xx: 55K CP/M (because of the track buffer) * Version 5.xx: 63K CP/M (The track buffer is in its on RAM bank) 1) Assemble your BIOS with the desired CP/M-standardized memory size a) in MBIOS.ASM, set the MSIZE variable to position CP/M where you want it. Rename this file MBIOS63.ASM. MSIZE equ 63 ;CP/M standard memory size in Kbytes b) ASM MBIOS63 (This creates MBIOS63.HEX.) 2) Use MOVCPM.COM to create a bare CP/M image of the matching size. How to use MOVCPM, avoiding their copy protection >DDT MOVCPM.COM -S234 0234 C2 0 0235 5A 0 0236 02 0 0237 02 . -S2CB 02cB C2 0 02CC 5A 0 02CD 02 0 02CE . I63 * <----{This example tells MOVCPM.COM to build a 63K CP/M image} -G CONSTRUCTING 55k CP/M vers 2.2 READY FOR "SYSGEN" OR "SAVE 34 CPM63.COM" >SAVE CPMDR63.COM (This creates CPMDR63.COM.) 3) Assemble the boot loader for the correct memory size a) In MEBOOT.ASM, set the MSIZE variable to match the value given to MOVCPM.COM. Rename this file MEBOOT63.ASM MSIZE EQU 63 ;MEMORY SIZE IN KILOBYTES b) ASM MEBOOT63 (This creates MEBOOT63.HEX) 4) Calculate/look up the address offset for the BIOS CP/M Size Offset CP/M Size Offset CP/M Size Offset 20K D580 52K 5580 59K 3980 24K C580 53K 5180 60K 3580 32K A580 54K 4D80 61K 3180 40K 8580 55K 4980 62K 2D80 48k 6580 56K 4580 >>63K 2980<< 50K 5D80 57K 4180 64K 2580 51K 5980 58K 3D80 5) Combine the relocated CP/M with the New BIOS and boot loader >DDT CPMDR63.COM -IMEBOOT63.HEX -R880 -IMBIOS63.HEX -R2980 <----This is the BIOS address offset from step 4 -G0 6). Use MSYSGEN.COM to write the version of CP/M that's in the RAM buffer to the disk's system area. (skip loading the CP/M image bewcause your new CP/M image is already in RAM.)