mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2025-01-19 21:30:04 +00:00
0ba83392d4
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included. The Tools directory, containing mostly junk, is also excluded.
67 lines
2.2 KiB
Plaintext
67 lines
2.2 KiB
Plaintext
;
|
|
; File: QMgrEqu.a
|
|
;
|
|
; Contains: Equates for the Queue Manager
|
|
;
|
|
; Written by: Dave Feldman
|
|
;
|
|
; Copyright: © 1989-1991 by Apple Computer, Inc., all rights reserved.
|
|
;
|
|
; Change History (most recent first):
|
|
;
|
|
; <4> 9/13/91 JSM Cleanup header.
|
|
; <3> 3/17/91 dnf dba, dty, #84977: Change interruptRegs to be the right
|
|
; registers. Add pascalRegs, and other register-related equates.
|
|
; <2> 9/22/90 dnf Add compatibility layer queue refnum
|
|
; <1.0> 9/18/89 dnf Adding to ease for the first time
|
|
;
|
|
|
|
; Queue Manager Globals
|
|
|
|
QMGlobals record 0, increment
|
|
DTQueuePtr ds.l 1 ; pointer to desktop mgr queue record
|
|
CLQueuePtr ds.l 1 ; pointer to the compatibility layer queue record
|
|
size equ *-QMGlobals
|
|
endr
|
|
|
|
; Queue Manager record
|
|
; Note that the first three fields are a standard OS queue, and they need to stay that way.
|
|
|
|
QMRec record 0, increment
|
|
qFlags ds.w 1 ; miscellaneous flags [word]
|
|
qHead ds.l 1 ; first element in queue [pointer]
|
|
qTail ds.l 1 ; last element in queue [pointer]
|
|
qType ds.w 1 ; queue refnum/queue type
|
|
qmFlags ds.b 1 ; QM flags
|
|
resrv1 ds.b 1 ; alignment byte
|
|
enQHook ds.l 1 ; hook called before enqueuing
|
|
deQHook ds.l 1 ; hook called just before dequeuing
|
|
stackBase ds.l 1 ; base of A6 stack
|
|
curStack ds.l 1 ; current A6 stack ptr (for i/o)
|
|
highWater ds.l 1 ; checked at each i/o
|
|
dsErr ds.w 1 ; where dsErr
|
|
perf1 ds.l 1 ; for performance measurement
|
|
perf2 ds.l 1
|
|
size equ *-QMRec
|
|
endr
|
|
|
|
; Queue Manager record flag bits
|
|
|
|
qIsBusy equ 0 ; 1 if queue is busy, 0 if queue is free
|
|
asyncCall equ 1 ; 1 if call is async, 0 if call is sync
|
|
|
|
; For now, use static Queue refNum assignment.
|
|
|
|
desktopQType equ 22
|
|
fsCompatQType equ 23
|
|
|
|
clStackSize equ 1500 ; compatibility layer gets 1500 bytes of stack
|
|
|
|
; Definitions for register saving: sets of registers, and register saving opcode
|
|
|
|
interruptRegs reg a4-a6/d4-d7 ; the ones that the interrupt dispatchers do not save
|
|
pascalRegs reg a2-a6/d3-d7 ; registers that Pascal needs protected
|
|
|
|
MOVEMSPPostIncOpcode equ $4CDF ; movem.l (sp)+, opcode
|
|
VolatileInterruptRegisterMask equ $70F0 ; a4-a6/d4-d7 register mask
|