Mercurial > hg > Members > kono > nitros9-code
view level1/modules/superdesc.asm @ 2730:6bd6e348665d
Working on cloned default branch, pulled 2012/11/03
user: gheskett@wdtv.com
branch 'default'
changed ChangeLog
changed ReadMe
changed defs/rbf.d
changed defs/rbsuper.d
changed defs/scsi.d
changed level1/atari/cmds/fuji.asm
changed level1/coco/modules/makefile
changed level1/modules/boot_scsi.asm
changed level1/modules/superdesc.asm
changed level2/coco3/bootfiles/makefile
changed level2/coco3/modules/makefile
changed level2/coco3_6309/bootfiles/makefile
changed level2/modules/joydrv_6551L.asm
changed rules.mak
author | gheskett@wdtv.com |
---|---|
date | Sat, 10 Nov 2012 11:55:48 -0500 |
parents | 17d43fd29ee2 |
children | 28ed72477814 |
line wrap: on
line source
opt w132 wide listing ******************************************************************** * SuperDesc - Super Driver Device Descriptor Template * * $Id$ * * RBSuper Defined Offsets * * IT.STP (offset $14) * Bit Meaning * --- --------------------------------------------------------------- * 7-0 HDB-DOS Drive Number (useful only if HDB-DOS bit set in IT.DNS) * * IT.TYP (offset $15) * Bit Meaning * --- --------------------------------------------------------------- * 7 Hard Disk: 1 = hard disk * 6 Fudge LSN0: 0 = OS-9 disk, 1 = non-OS-9 disk * 5 Undefined * 4 Drive Size Query (1 = yes, 0 = no) * 2-3 Undefined * 0-1 Sector Size (0 = 256, 1 = 512, 2 = 1024, 3 = 2048) * * IT.DNS (offset $16) for SCSI Low Level Driver * Bit Meaning * --- --------------------------------------------------------------- * 5-7 SCSI Logical Unit Number of drive (0-7) (ignored if bit 3 is 1) * 4 Turbo Mode: 1 = use accelerated handshaking, 0 = standard * 3 HDB-DOS Partition Flag * 0-2 SCSI ID of the drive or controller (0-7) * * IT.DNS (offset $16) for IDE Low Level Driver * Bit Meaning * --- --------------------------------------------------------------- * 4-7 Undefined * 3 HDB-DOS Partition Flag * 1-2 Undefined * 0 IDE ID (0 = master, 1 = slave) * * Edt/Rev YYYY/MM/DD Modified by * Comment * ------------------------------------------------------------------ * 0 2004/04/08 Boisy G. Pitre * Created. * * 0 2005/11/27 Boisy G. Pitre * Added IT.MPI value to descriptor. * * 0 2005/12/08 Boisy G. Pitre * Reserved two bits in IT.TYP for llscsi. * * 1 2012/11/06 Gene Heskett * passing config opts from makefile NAM SuperDesc TTL Super Driver Device Descriptor Template * Super Driver specific fields *ITDRV SET $00 GH - conflicting? Set in makefile GH ITSTP SET $00 GH - HDBDOS drive num in $hex ITTYP SET $81 GH - default=Hard drive, 512 byte sectors *ITDNS SET $00 GH - conflicting? Set in makefile ITDNS SET ITDRV ITSOFS1 SET $00 GH - partition offsets ITSOFS2 SET $00 ITSOFS3 SET $00 * Geometry for an EZ-135 Sides SET $40 Cyls SET $007f SectTrk SET $0020 SectTrk0 SET $0020 Interlv SET $01 * GH - conditionalize this eventually to reduce disk fragmentation SAS SET $08 GH - S/B reset to $20 if not floppy IFP1 USE defsfile USE rbsuper.d IFNE IDE USE ide.d ELSE USE scsi.d ENDC ENDC tylg SET Devic+Objct atrv SET ReEnt+rev rev SET $0A MOD eom,name,tylg,atrv,mgrnam,drvnam IFNE CDROM FCB DIR.+SHARE.+PEXEC.+PREAD.+EXEC.+READ. ELSE FCB DIR.+SHARE.+PEXEC.+PREAD.+PWRIT.+EXEC.+UPDAT. ENDC FCB HW.PAGE extended controller address FDB SDAddr physical controller address FCB initsize-*-1 initilization table size FCB DT.RBF device type:0=scf,1=rbf,2=pipe,3=scf FCB Dnum drive number IFNE HDBDOS FCB $80 ELSE FCB ITSTP step rate or HDBDOS # ENDC FCB ITTYP drive device type FCB ITDNS media density or bus addr SEE DEFS ABOVE! FDB Cyls number of cylinders (tracks) FCB Sides number of sides FCB $01 verify disk writes:0=on FDB SectTrk # of sectors per track FDB SectTrk0 # of sectors per track (track 0) FCB Interlv sector interleave factor FCB SAS minimum size of sector allocation FCB 0 IT.TFM FDB 0 IT.Exten FCB 0 IT.STOff * Super Driver specific additions to the device descriptor go here * NOTE: These do NOT get copied into the path descriptor; they * cannot due to the fact that there is simply NO ROOM in * the path descriptor to do so. The driver must access * these values directly from the descriptor. FCB ITSOFS1 (IT.WPC) FCB ITSOFS2 (IT.OFS) FCB ITSOFS3 initsize EQU * FDB lldrv (IT.RWC) FCB SDMPI (IT.MPI) IFNE NULL name FCC /NULL/ FCB Dnum+$B0 ELSE IFNE DD name FCS /DD/ ELSE IFNE DRIVEWIRE name FCC /X/ IFNE HB FCS /H/ ELSE FCB Dnum+$B0 ENDC ELSE IFNE IDE name FCC /I/ IFNE HDBDOS FCS /H/ ELSE FCB Dnum+$B0 ENDC ELSE IFNE SD name FCC /SD/ IFNE HB FCS /H/ ELSE FCB Dnum+$B0 ENDC ELSE name FCC /S/ IFNE HDBDOS FCS /H/ ELSE FCB Dnum+$B0 ENDC ENDC ENDC ENDC ENDC ENDC mgrnam FCS /RBF/ drvnam FCS /rbsuper/ lldrv EQU * IFNE NULL FCS /llnull/ FCB 0 ELSE IFNE DRIVEWIRE FCS /lldw/ FCB 0,0,0 ELSE IFNE TC3+SB FCS /lltc3/ FCB 0,0 ELSE IFNE KTLR FCS /llktlr/ FCB 0 ELSE IFNE HDII+D4N1 FCS /lldisto/ ELSE IFNE IDE FCS /llide/ FCB 0,0 ELSE IFNE SD FCS /llsd/ FCB 0,0,0 ENDC ENDC ENDC ENDC ENDC ENDC ENDC EMOD eom EQU * END