System information
 ;THIS IS A SAMPLE COLD START LOADER, WHICH, WHEN 
 ;MODIFIED
 ;RESIDES ON TRACK 00, SECTOR 01 (THE FIRST SECTOR ON THE 
 ;DISKETTE), WE ASSUME THAT THE CONTROLLER HAS LOADED 
 ;THIS SECTOR INTO MEMORY UPON SYSTEM START-UP (THIS 
 ;PROGRAM CAN BE KEYED-IN, OR CAN EXIST IN READ-ONLY 
 ;MEMORY
 ;BEYOND THE ADDRESS SPACE OF THE CP/M VERSION YOU ARE 
 ;RUNNING). THE COLD START LOADER BRINGS THE CP/M SYSTEM 
 ;INTO MEMORY AT"LOADP" (3400H +"BIAS"). IN A 20K 
 ;MEMORY SYSTEM, THE VALUE OF"BIAS" IS 000H, WITH 
 ;LARGE
 ;VALUES FOR INCREASED MEMORY SIZES (SEE SECTION 2). 
 ;AFTER
 ;LOADING THE CP/M SYSTEM, THE COLD START LOADER 
 ;BRANCHES
 ;TO THE "BOOT" ENTRY POINT OF THE BIOS, WHICH BEGINS AT
 ; "BIOS" +"BIAS". THE COLD START LOADER IS NOT USED UN-
 ;TIL THE SYSTEM IS POWERED UP AGAIN, AS LONG AS THE BIOS 
 ;IS NOT OVERWRITTEN. THE ORIGIN IS ASSUMED AT 0000H, AND 
 ;MUST BE CHANGED IF THE CONTROLLER BRINGS THE COLD START 
 ;LOADER INTO ANOTHER AREA, OR IF A READ-ONLY MEMORY 
 ;AREA
 ;IS USED.
 0000  ORG 0 ;BASE OF RAM IN
  ;CP/M
 0014 = MSIZE EQU 20 ;MIN MEM SIZE IN
  ;KBYTES
 0000 = BIAS EQU (MSIZE-20)*1024 ;OFFSET FROM 20K
  ;SYSTEM
 3400 = CCP EQU 3400H+BIAS ;BASE OF THE CCP
 4A00 = BIOS EQU CCP+1600H ;BASE OF THE BIOS
 0300 = BIOSL EQU 0300H ;LENGTH OF THE BIOS
 4A00 = BOOT EQU BIOS
 1900 = SIZE EQU BIOS+BIOSL-CCP ;SIZE OF CP/M
  ;SYSTEM
 0032 = SECTS EQU SIZE/128 ;# OF SECTORS TO LOAD
 ;
 ; BEGIN THE LOAD OPERATION 
 COLD:
 0000 010200  LXI B,2 ;B=0, C=SECTOR 2
 0003 1632  MVI D,SECTS ;D=# SECTORS TO
  ;LOAD
 0005 210034  LXI H,CCP ;BASE TRANSFER
Appendix D : MDS-800 Cold Start Loader CP/M Operating System Manual
E-1










