Title Hard Disk Drive Park Program (20_Jul_84) ; ; Copyright 1984 ; Morrow Designs, Inc. ; San Leandro, Ca. ; John Zalabak .z80 aseg org 0100h ; Index: Park (20_Jul_84) ;------------------------ ; ; PARK Park the Hard Disk Heads ; DOCOLD Call the Bios Cold Boot Entry Point ; DATA Print Strings ; ;---------------------------------------------------------------------- ; Equates (20_Jul_84) ;-------------------- ; Rev equ 30h ;Park Program Revision Number ;System Addresses and Constants Bios_Entry equ 0 ;Warm Boot Address Bdos_Entry equ 5 ;Bdos Entry Point Bdos_PString equ 9 ;Bdos Print String Function Extd14 equ 14 ;Extended Bios Function 14 (Execute system mem) PrkOff equ 2Bh ;Offset to the start of the Park jump vector ;Ascii Character Definitions Cr equ 0Dh ;Carriage Return Lf equ 0Ah ;Line Feed Tab equ 9 ;Tab page ;---------------------------------------------------------------------- ; PARK - Park the Hard Disk Heads (8_Jan_84) ;------------------------------------------- ; Park: ld de,SignOn ld c,Bdos_PString call Bdos_Entry ;Print the Sign-On Message ld a,Extd14 ;A:= Function_14 (Execute in System Memory) ld hl,PrkOff ;HL:= Vector to Park Program call Do_Cold ;Park the Hard Disk Drives ld de,DonMsg ld c,Bdos_PString call Bdos_Entry ;Print the Sign-Off Message Halt ;Stop Processing ;---------------------------------------------------------------------- ; Call the Bios Cold Boot Entry Point (20_Jul_84) ;------------------------------------------------ ; 1) The Cold Boot Entry point to the bios (1st entry in the bios ; jump table) is located by looking at locations 1 & 2 which ; point to the warm boot address (the desired address + 3). ; Do_Cold: push hl ;Save the HL Register Pair ld hl,(Bios_Entry+1) ;HL:= Warm Boot Address ld l,0 ;HL:= Cold Boot Address ex (sp),hl ;Restore the HL Register Pair ret ;Goto The Cold Boot entry ;---------------------------------------------------------------------- ; DATA - Print Strings (20_Jul_84) ;--------------------------------- ; SignOn: db 1Ah,'MD-HD Drive Shut Down Program Rev ' db ((rev and 0F0h) shr 4) + '0', '.', (rev and 0Fh) + '0' db Tab,Tab,Tab,Tab,' Copyright 1984' db cr,lf,'Morrow Designs Inc.' db Tab,Tab,Tab,Tab,Tab,Tab,'San Leandro, Ca' db Cr,Lf,Lf,Lf,Lf,Lf,Lf,Lf,Lf,Lf,Lf,'$' DonMsg: db Cr,Lf,Tab db ' You may now turn off the power to your system' db Cr,Lf,Tab db ' or press Reset to ReStart your system$' end