home *** CD-ROM | disk | FTP | other *** search
- unit BattMem;
-
- INTERFACE
- uses Exec;
-
-
- var
- BattMemBase: pLibrary;
-
-
- const
- BATTMEM_SCSI_LUNS_ADDR = 2;
- BATTMEMNAME = 'battmem.resource';
- RESOURCES_BATTMEMBITSSHARED_H = 1;
- RESOURCES_BATTMEMBITSAMIGA_H = 1;
- BATTMEM_SHARED_AMNESIA_ADDR = $40;
- BATTMEM_SCSI_TIMEOUT_ADDR = 1;
- BATTMEM_SCSI_HOST_ID_ADDR = $41;
- BATTMEM_AMIGA_AMNESIA_ADDR = 0;
- BATTMEM_SCSI_SYNC_XFER_LEN = 1;
- BATTMEM_SCSI_LUNS_LEN = 1;
- BATTMEM_SHARED_AMNESIA_LEN = 1;
- RESOURCES_BATTMEM_H = 1;
- BATTMEM_SCSI_TIMEOUT_LEN = 1;
- RESOURCES_BATTMEMBITSAMIX_H = 1;
- BATTMEM_SCSI_HOST_ID_LEN = 3;
- BATTMEM_AMIGA_AMNESIA_LEN = 1;
- BATTMEM_SCSI_SYNC_XFER_ADDR = $44;
-
-
- procedure ObtainBattSemaphore;
- procedure ReleaseBattSemaphore;
- function ReadBattMem
- (buffer: pointer;
- offset: long;
- length: long): long;
-
- function WriteBattMem
- (buffer: pointer;
- offset: long;
- length: long): long;
-
-
-
- IMPLEMENTATION
- procedure ObtainBattSemaphore; xassembler;
- asm
- move.l a6,-(sp)
- move.l BattMemBase,a6
- jsr -6(a6)
- move.l (sp)+,a6
- end;
-
- procedure ReleaseBattSemaphore; xassembler;
- asm
- move.l a6,-(sp)
- move.l BattMemBase,a6
- jsr -$C(a6)
- move.l (sp)+,a6
- end;
-
- function ReadBattMem; xassembler;
- asm
- move.l a6,-(sp)
- lea 8(sp),a6
- move.l (a6)+,d1
- move.l (a6)+,d0
- move.l (a6)+,a0
- move.l BattMemBase,a6
- jsr -$12(a6)
- move.l d0,$14(sp)
- move.l (sp)+,a6
- end;
-
- function WriteBattMem; xassembler;
- asm
- move.l a6,-(sp)
- lea 8(sp),a6
- move.l (a6)+,d1
- move.l (a6)+,d0
- move.l (a6)+,a0
- move.l BattMemBase,a6
- jsr -$18(a6)
- move.l d0,$14(sp)
- move.l (sp)+,a6
- end;
-
- end.
-