	Application notes for Disk Doctor and Install


	Disk Doctor and Install will not work on Morrow Designs
	Disk Jockey 2 + 2 on two-sided disks. This is due to the
	fact that this system nunbers the physical sectors of a
	double density two-sided disk 1 to 64 and 65 to 192. To
	use Disk Doctor and Install on this system the following
	patches must be made. These patches will prevent it from
	running on most other two-sided drives, so you should
	only make these changes to a copy of the original.

	The files "DPATCHDJ.HEX" and "IPATCHDJ.HEX" can be used
	to patch Disk Doctor and Install by keying the following
	commands:

	DDT DOCTOR.COM
	IDPATCHDJ.HEX
	R
	G0
	SAVE 26 DOCTOR.COM
	DDT INSTALL.COM
	IIPATCHDJ.HEX
	R
	G0
	SAVE 60 INSTALL.COM

	We are providing the source to these patches to help other
	users with similar problems.

; DJPATCH.ASM		Disk Doctor/Install patch for Morrow
;			Designs Disk Jockey 2+2.
;
; Only one of the next two symbols must be non-zero.
INSTALL		EQU	1	; Generate patch for INSTALL.COM
DOCTOR		EQU	0	; Generate patch for DOCTOR.COM
	
ORGDOC		EQU	1177H
ORGDOC2		EQU	1A56H
INSTORG		EQU	4000H
SETSECT		EQU	30
BOOT		EQU	0
TRACKSIZE	EQU	307H

	IF	DOCTOR
		ORG	ORGDOC
		JMP	PRIM
		LDA	TRACKSIZE+1
		RAL
		MOV	E,A
		ORG	ORGDOC2
	ENDIF
	IF	INSTALL
		ORG	INSTORG
	ENDIF
; This routine intercepts all calls to the BIOS entry points
; It checks to see if the call is to SET SECTOR and if so,
; will test against # sectors/side. If desired sector is on other
; side, #sectors/side will be subtracted and HO bit will be set.
; number of sectors/side is in E.
;
;
PRIM		MOV	A,L	; Check which BIOS entry point.
		CPI	SETSECT	; is it set sector?
		JNZ	CCALL	; Nope, leave alone
		MOV	A,C	; Check sector number
		CMP	E	; Is it on side 2?
		JC	CCALL	; Nope
		SUB	E	; Sub sects/side
		ORI	80H	; Turn on bit 7
		MOV	C,A
CCALL		XCHG
		LHLD	BOOT+1
		DAD	D

	IF	INSTALL
		LXI	D,CRET
		PUSH	D
		PCHL
CRET		MVI	H,0
		MOV	L,A
		RET
	ENDIF
	IF	DOCTOR
		PCHL
	ENDIF
		END
