home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-08-07 | 2.6 KB | 102 lines | [TEXT/MPS ] |
- (*
- File: Retrace.mod
-
- Contains: Vertical Retrace Interfaces.
-
- Version: Technology: System 7.5
- Package: Universal Interfaces 2.0 in “MPW Latest” on ETO #17
-
- Copyright: © 1984-1995 by Apple Computer, Inc.
- All rights reserved.
-
- Bugs?: If you find a problem with this file, use the Apple Bug Reporter
- stack. Include the file and version information (from above)
- in the problem description and send to:
- Internet: apple.bugs.applelink.apple.com
- AppleLink: APPLE.BUGS
-
- *)
-
- (*$TAGS-*)
- (*$CALLING PASCAL*)
- MODULE Retrace;
-
- IMPORT SYSTEM, Types, OSUtils;
-
- (* $PUSH*)
- (* $ALIGN MAC68K*)
- (* $LibExport+*)
-
- TYPE
- VBLTaskPtr* = POINTER TO VBLTask;
-
- (*
- VBLProcPtr uses register based parameters on the 68k and cannot
- be written in or called from a high-level language without the help of
- mixed mode or assembly glue.
-
- In*:
- => vblTaskPtr A0.L
- *)
- VBLProcPtr* = Types.Register68kProcPtr; (* register PROCEDURE VBL*(vblTaskPtr: VBLTaskPtr); *)
- VBLUPP* = Types.UniversalProcPtr;
-
- VBLTask* = RECORD
- qLink*: OSUtils.QElemPtr;
- qType*: INTEGER;
- vblAddr*: VBLUPP;
- vblCount*: INTEGER;
- vblPhase*: INTEGER;
- END;
-
- CONST
- uppVBLProcInfo* = $00009802; (* Register PROCEDURE (4 bytes in A0); *)
-
- PROCEDURE NewVBLProc*(userRoutine: VBLProcPtr): VBLUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE CallVBLProc*(vblTaskPtr: VBLTaskPtr; userRoutine: VBLUPP);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL ; (*••*)
- (*To be implemented*: Glue to move parameters into registers.*)
- (*$END*)
-
- PROCEDURE GetVBLQHdr*(): OSUtils.QHdrPtr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $2EBC, $0000, $0160;
- (*$END*)
- PROCEDURE SlotVInstall*(vblBlockPtr: OSUtils.QElemPtr; theSlot: INTEGER): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $301F, $205F, $A06F, $3E80;
- (*$END*)
- PROCEDURE SlotVRemove*(vblBlockPtr: OSUtils.QElemPtr; theSlot: INTEGER): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $301F, $205F, $A070, $3E80;
- (*$END*)
- PROCEDURE AttachVBL*(theSlot: INTEGER): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $301F, $A071, $3E80;
- (*$END*)
- PROCEDURE DoVBLTask*(theSlot: INTEGER): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $301F, $A072, $3E80;
- (*$END*)
- PROCEDURE VInstall*(vblTaskPtr: OSUtils.QElemPtr): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $A033, $3E80;
- (*$END*)
- PROCEDURE VRemove*(vblTaskPtr: OSUtils.QElemPtr): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $A034, $3E80;
- (*$END*)
- (**)
- (* Custom Glue for 68k.*)
- (**)
-
- (* $ALIGN RESET*)
- (* $POP*)
-
- END Retrace.
-