TITLE COLD BOOT PROGRAM FOR KAYPRO 10 WITH ADVENT TURBOROM ; ; This program checks a couple of unused bytes and forces a cold ; boot if they are not set. This is necessary in some cases where ; a second hard drive is installed and the second drive takes longer ; to come up to speed than the first one. The Advent Turborom only ; allows 5 seconds for the second drive to come up, and does not ; recognize it if it takes longer. If ZCPR2/3 is set up to run ; this program on startup, it will force a second cold boot on ; power up, giving the second drive time to come up to speed. On ; subsequent cold boots, the bytes will be set and the program will ; simply exit. This is necessary for unattended operation (RCP/M). ; ; Written by: Jim Sinning ; KUAFC RCP/M (303-223-0185) ; Fort Collins, Co. ; ORG 0100H ; LD A,(0F483H) ;Get first power-up check byte CP 0AAH ;Is it AAH? JP NZ,CODE ;No, go start cold boot LD A,(0F484H) ;Get second power-up check byte CP 55H ;Is it 55H? RET Z ;Yes, we don't need to cold boot - return ; CODE: LD HL,CODEST ;First Move code into safe RAM location LD DE,8000H ;HL -> code location; DE -> destination LD BC,CODEND-CODEST ;length of cold boot code LDIR JP START ; CODEST: .PHASE 8000H ;Relocate to here. Must use 8000H ;or greater to avoid having turning ;on ROM bank switch out our code. START: LD A,0AAH ;Put AAh in A reg LD (0F483H),A ;Stuff in mem at F483h CPL ;Complement A (to 55h) LD (0F484H),A ;Stuff in mem at F484h ; IN A,(14H) SET 7,A OUT (14H),A JP 0 .DEPHASE CODEND EQU $ ; END ;