changeset 1137:200548732ba1

Added building of /h1 (slave) descriptors
author boisy
date Fri, 18 Apr 2003 16:22:14 +0000
parents de922d952820
children 6264431d0c88
files 3rdparty/drivers/ide/idedesc.asm 3rdparty/drivers/ide/makefile
diffstat 2 files changed, 50 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/3rdparty/drivers/ide/idedesc.asm	Fri Apr 18 13:52:56 2003 +0000
+++ b/3rdparty/drivers/ide/idedesc.asm	Fri Apr 18 16:22:14 2003 +0000
@@ -1,8 +1,16 @@
+********************************************************************
+* H0 - IDE device descriptor
+*
+* $Id$
+*
+* IDE Defined Offsets
+*
+* Ed.    Comments                                       Who YY/MM/DD
+* ------------------------------------------------------------------
+
          nam   H0        
          ttl   IDE device descriptor
 
-* IDE Defined Offsets
-*
 * IT.STP (offset $14)
 *  Bit Meaning
 *  --- ---------------------------------------------------------------
@@ -16,16 +24,25 @@
 * IT.DNS (offset $16)
 *  Bit Meaning
 *  --- ---------------------------------------------------------------
-
+*  1   Force CHS:     1 = Use CHS, 0 = Use LBA if drive supports it
+*  0   Master/Slave:  0 = master, 1 = slave
+*
 
 * Interface Address
 ADDR     set   $FF50     
 
+Master   set   %00000000
+Slave    set   %00000001
+ForceCHS set   %00000010
+
+DriveSel set   Master
+
+
 * Driver specific fields
 ITDRV    set   $00       
 ITSTP    set   $00       
 ITTYP    set   $80       
-ITDNS    set   $00       
+ITDNS    set   ITDRV
 
 ITSOFS1  set   $00       
 ITSOFS2  set   $00       
--- a/3rdparty/drivers/ide/makefile	Fri Apr 18 13:52:56 2003 +0000
+++ b/3rdparty/drivers/ide/makefile	Fri Apr 18 16:22:14 2003 +0000
@@ -1,16 +1,20 @@
+# Curtis Boyle's IDE Driver
+
 include ../../../Makefile.rules
 
 DEPENDS		= ./Makefile
 DRVRS		= ccide_l1.dr ccide_l2.dr superide_l1.dr superide_l2.dr
-DESCS		= h0_ide_l1.dd h0_ide_l2.dd dd_ide_l1.dd dd_ide_l2.dd
-SUPERDESCS	= h0_superide_l1.dd h0_superide_l2.dd dd_superide_l1.dd \
-		dd_superide_l2.dd
+DESCS		= h0_ide_l1.dd h0_ide_l2.dd h1_ide_l1.dd h1_ide_l2.dd dd_ide_l1.dd dd_ide_l2.dd
+SUPERDESCS	= h0_superide_l1.dd h0_superide_l2.dd h0_superide_l1.dd h0_superide_l2.dd \
+		dd_superide_l1.dd dd_superide_l2.dd
 ALLOBJS		= $(DRVRS) $(DESCS) $(SUPERDESCS)
 IDEL1FLAGS	= $(AFLAGS) -aLevel=1
 IDEL2FLAGS	= $(AFLAGS) -aLevel=2
 
 all:	$(ALLOBJS) $(DEPENDS)
 
+# Drivers
+# SuperIDE=1 selects code to work with Cloud-9's SuperIDE product
 ccide_l1.dr: ccide.asm
 	$(AS) $(ASOUT)$@ $< $(IDEL1FLAGS)
 
@@ -23,29 +27,43 @@
 superide_l2.dr: ccide.asm
 	$(AS) $(ASOUT)$@ $< $(IDEL2FLAGS) -aSuperIDE=1
 
+# Descriptors
+# ITDRV is the Master(0)/Slave(1) switch for device descriptors
 h0_ide_l1.dd: idedesc.asm
-	$(AS) $(ASOUT)$@ $< $(IDEL1FLAGS)
+	$(AS) $(ASOUT)$@ $< $(IDEL1FLAGS) -aITDRV=0
 
 h0_ide_l2.dd: idedesc.asm
-	$(AS) $(ASOUT)$@ $< $(IDEL2FLAGS)
+	$(AS) $(ASOUT)$@ $< $(IDEL2FLAGS) -aITDRV=0
+
+h1_ide_l1.dd: idedesc.asm
+	$(AS) $(ASOUT)$@ $< $(IDEL1FLAGS) -aITDRV=1
+
+h1_ide_l2.dd: idedesc.asm
+	$(AS) $(ASOUT)$@ $< $(IDEL2FLAGS) -aITDRV=1
 
 dd_ide_l1.dd: idedesc.asm
-	$(AS) $(ASOUT)$@ $< $(IDEL1FLAGS)
+	$(AS) $(ASOUT)$@ $< $(IDEL1FLAGS) -aITDRV=0
 
 dd_ide_l2.dd: idedesc.asm
-	$(AS) $(ASOUT)$@ $< $(IDEL2FLAGS)
+	$(AS) $(ASOUT)$@ $< $(IDEL2FLAGS) -aITDRV=0
 
 h0_superide_l1.dd: idedesc.asm
-	$(AS) $(ASOUT)$@ $< $(IDEL1FLAGS) -aSuperIDE=1
+	$(AS) $(ASOUT)$@ $< $(IDEL1FLAGS) -aSuperIDE=1 -aITDRV=0
 
 h0_superide_l2.dd: idedesc.asm
-	$(AS) $(ASOUT)$@ $< $(IDEL2FLAGS) -aSuperIDE=1
+	$(AS) $(ASOUT)$@ $< $(IDEL2FLAGS) -aSuperIDE=1 -aITDRV=0
+
+h1_superide_l1.dd: idedesc.asm
+	$(AS) $(ASOUT)$@ $< $(IDEL1FLAGS) -aSuperIDE=1 -aITDRV=1
+
+h1_superide_l2.dd: idedesc.asm
+	$(AS) $(ASOUT)$@ $< $(IDEL2FLAGS) -aSuperIDE=1 -aITDRV=1
 
 dd_superide_l1.dd: idedesc.asm
-	$(AS) $(ASOUT)$@ $< $(IDEL1FLAGS) -aSuperIDE=1
+	$(AS) $(ASOUT)$@ $< $(IDEL1FLAGS) -aSuperIDE=1 -aITDRV=0
 
 dd_superide_l2.dd: idedesc.asm
-	$(AS) $(ASOUT)$@ $< $(IDEL2FLAGS) -aSuperIDE=1
+	$(AS) $(ASOUT)$@ $< $(IDEL2FLAGS) -aSuperIDE=1 -aITDRV=0
 
 clean:
 	$(RM) $(ALLOBJS)