Mercurial > hg > Members > kono > nitros9-code
view defs/rbsuper.d @ 3204:64ad5cd0b912
Added some HD6309 optimizations to level1's covdg.asm file.
Optimization 1) added TFM clear screen
Optimization 2) added TFM scroll screen
One of the optimizations was copied over from the level2's covdg.asm file.
author | David Ladd <drencor-xeen@users.sourceforge.net> |
---|---|
date | Fri, 28 Jul 2017 15:42:20 -0500 |
parents | 6bd6e348665d |
children |
line wrap: on
line source
IFNE RBSUPER.D-1 RBSUPER.D SET 1 ******************************************************************** * rbsuper.d - rbsuper definitions * * $Id$ * * (C) 2004 Boisy G. Pitre - Licensed to Cloud-9 * * These definitions make up the static storage environment for the * rbsuper driver. Low level drivers share these variables with * rbsuper, and also have an area reserved exclusively for their use. * * Edt/Rev YYYY/MM/DD Modified by * Comment * ------------------------------------------------------------------ * 2004/04/10 Boisy G. Pitre * Created. * * 2005/11/27 Boisy G. Pitre * Moved SCSI base addresses and I/O offsets to here. * * 2005/12/13 Boisy G. Pitre * Employed a "trick" whereby driver's U is pointed UOFFSET bytes * into the static storage for faster, smaller code generation. * * 2005/12/13 Boisy G. Pitre * Rearranged order of driver statics for smaller code size * Interface Address SDAddr SET $FF00 SDMPI SET $FF * * IT.DNS Definitions for all Low Level Drivers * DNS.HDB EQU %00001000 * * IT.DNS Definitions for Low Level SCSI Driver * DNS.TURBO EQU %00010000 maxcache SET 2048 DrvCount EQU 8 llreserve EQU 64 UOFFSET EQU DRVBEG+(DRVMEM*DrvCount) ORG 0 V.LLSema RMB 1 low-level semaphore variable V.LastDrv RMB 1 last drive to access cache V.PhysSect RMB 3 physical (HW) sector V.LogSect RMB 3 logical (256 byte) sector V.SectSize RMB 1 sector size V.SectCnt RMB 1 number of hw sectors to read from interface V.Log2Phys RMB 1 number of logical (256) byte sectors to 1 physical sector V.CchAddr RMB 2 address of cache in system memory V.CchSize RMB 2 size of cache in bytes V.CchPSpot RMB 2 pointer to target physical sector in cache V.CchLSpot RMB 2 pointer to target logical sector in cache V.CchDirty RMB 1 cache dirty flag (0 = cache is stable, !0 = cache is dirty) V.CchBase RMB 3 logical sector at start of cache V.HDBDrive RMB 1 IT.STP (used as HDB-DOS drive number if HDB-DOS partition) V.HDBPart RMB 1 HDB-DOS partition flag (0 = not HDB-DOS partition, !0 = is) V.SSCache RMB DrvCount sector size cache table for each drive V.LLAddr RMB 2 low level module address V.LLInit RMB 2 low level init entry point V.LLRead RMB 2 low level read entry point V.LLWrite RMB 2 low level write entry point V.LLGtSt RMB 2 low level getstat entry point V.LLStSt RMB 2 low level setstat entry point V.LLTerm RMB 2 low level term entry point * Low Level Driver Memory starts here V.LLMem EQU . start of low level driver memory RMB llreserve reserved area... low level driver uses this as it wants V.LLMemSz EQU .-V.LLMem * Note: we trick rbsuper too so that it thinks its static storage starts at * zero when it really starts beyond DRVBEG+(DRVMEM*DrvCount). RMB UOFFSET V.RBSuper EQU . end of RBSuper's (and ll driver's) memory requirements ENDC