mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2025-01-14 21:29:53 +00:00
5b0f0cc134
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.
500 lines
19 KiB
Plaintext
500 lines
19 KiB
Plaintext
;
|
|
; File: ColorEqu.a
|
|
;
|
|
; Copyright: © 1986-1991 by Apple Computer, Inc., all rights reserved.
|
|
;
|
|
; Change History (most recent first):
|
|
;
|
|
; <23> 10/1/91 KON Removed nsStackErr and noMemForPicPlayBack error since they are
|
|
; defined in SysErr.a
|
|
; <22> 8/21/91 JSM Clean up header.
|
|
; <21> 6/14/91 JL Removed Quickdraw glue vectors from this file because they have
|
|
; been shipping in Private.a. Added Inclusion of Private.a. Also
|
|
; put conditional in to make sure prNonPortable gets set to one.
|
|
; <20> 3/31/91 dba gbm: get rid of symbols from QuickDraw (some day someone will
|
|
; conditionally turn them back on again)
|
|
; <19> 3/11/91 JT Added new opcode for glyph state and a field in the picSave
|
|
; record for tracking this opcode during picture spooling. Code
|
|
; checked by KON. BRC numbers 82651 and 79185. Worksheet number
|
|
; KON-022. Also added an ALIGN statement to the UNLINK macro to
|
|
; squash the assembler warnings about code alignment.
|
|
; <18> 1/30/91 gbm sab, #38: Change the Ôalready including this fileÕ variable to
|
|
; all uppercase (for security reasons)
|
|
; <17> 12/13/90 KON Add color table signature for recording pixmaps without a color
|
|
; table into pictures. [smc]
|
|
; <16> 11/12/90 CL (reviewed by PKE)onMac is defined to a non-zero value in the
|
|
; system builds even though there is non mac plus code being built
|
|
; for it. Changing the onMac flag to different name which is not
|
|
; used.
|
|
; <15> 11/9/90 PKE (really CEL, reviewed by PKE) Make JStdTbTbl depend on onMac
|
|
; conditional to fix it for Mac Plus.
|
|
; <14> 10/31/90 SMC Added equates for internal grafVars fields.
|
|
; <13> 8/24/90 PKE Delete old names picSMgrChar and picSMgrSlop. Remove duplicate
|
|
; definition of nsStackerr (now in SysErr.a).
|
|
; <12> 8/23/90 PKE (per JT) Renamed picSMgrChar and picSMgrSlop to picQdChExtra and
|
|
; picQdRunSlop. Keep old names too until we can update all
|
|
; relevant sources.
|
|
; <11> 8/21/90 KON Add noMemForPictPlayback error.
|
|
; <10> 8/2/90 gbm change LEFTEDGE and RIGHTEDGE in oval state record to avoid
|
|
; conflicts with symbols elsewhere
|
|
; <9> 7/26/90 KON Moved nsStackerr from QD.a.
|
|
; <8> 6/29/90 KON ci ROM routines expect order of picSave record not to change, so
|
|
; I moved the new Char and Slop fields to the bottom so the
|
|
; pattern fields stay in the same place.
|
|
; <7> 6/21/90 CL Needed to make JStdTxMeas conditionalized for TrueType build so
|
|
; this file could be used. This only effects b&w since the base of
|
|
; the trap table is different for the Mac Plus compare to the SE
|
|
; or Portable.
|
|
; <1.6> 11/15/89 KON Changed UNLINK macro and added RTD_ macro to make friendly with
|
|
; B&W machines
|
|
; <¥1.6> 11/15/89 KON Overwriting because EASE screwed up and didn't accept last
|
|
; version.
|
|
; <1.5> 11/1/89 BAL Added opFontName to the picture opcodes. Grew picSave by 12
|
|
; bytes.
|
|
; <1.4> 6/30/89 BAL Added equate for qdStackXtra
|
|
; <1.3> 6/10/89 CEL Moved Private.a QuickDraw Equates into proper QuickDraw private
|
|
; file (colorequ.a), got rid of QuickDraw nFiles dependencies and
|
|
; fixed up necessary filesÉ
|
|
; <¥1.2> 4/12/89 BAL Blasting in 32-Bit QuickDraw 1.0B1
|
|
; <¥1.1> 4/12/89 BAL Blasting in 32-Bit QuickDraw 1.0B1
|
|
; <1.0> 11/16/88 CCH Adding from System Build.
|
|
; 10/3/88 CCH Took out UNLINK macro (duplicated in private.a)
|
|
; <C533> 12/15/86 DAF added gamma table format
|
|
; <C434> 11/18/86 CRC added fractional pen field in graf port
|
|
; <C387> 11/9/86 DAF added request list structure
|
|
; <C314> 10/31/86 DAF renamed GDevice dummy field
|
|
; <A283> 10/28/86 bbm moved location of the toolbox trap table.
|
|
; <C188> 9/30/86 EHB Merged in latest colorequ changes
|
|
; <C153> 9/13/86 EHB Moved CQD trap definitions to NEWEQU.a
|
|
; <C146> 9/8/86 BBM Used JStdTbTbl, which is the toolbox jump table.
|
|
;
|
|
;___________________________________________________________________________
|
|
|
|
|
|
IF (&TYPE('NEED_JSTDTXMEAS') = 'UNDEFINED') THEN ;
|
|
NEED_JSTDTXMEAS EQU 1
|
|
ENDIF
|
|
|
|
IF (&TYPE('isMacPlus') = 'UNDEFINED') THEN ;<16-CEL,PKE>
|
|
isMacPlus EQU 0
|
|
ENDIF
|
|
|
|
IF &TYPE('__INCLUDINGCOLOREQU__') = 'UNDEFINED' THEN
|
|
__INCLUDINGCOLOREQU__ SET 1
|
|
|
|
IF (&TYPE('PrNonPortable') = 'UNDEFINED') THEN
|
|
PrNonPortable EQU 1
|
|
ENDIF
|
|
IF PrNonPortable = 0 THEN
|
|
PrNonPortable EQU 1
|
|
ENDIF
|
|
include 'private.a'
|
|
|
|
;-----------------------------------------------
|
|
;
|
|
; Misc. Equates without another home
|
|
;
|
|
cTabSignature EQU $4B4F ;signature that PixMap has NIL color table
|
|
|
|
;-----------------------------------------------
|
|
;
|
|
; PRIVATE QUICKDRAW EQUATES
|
|
;
|
|
; additional private low memory globals
|
|
|
|
SaveFondFlags EQU $986 ;important byte from current FOND flags
|
|
FondState EQU $903 ;saved FOND purge state
|
|
|
|
; additional private low memory globals for nuMacÕs and later <C346>
|
|
|
|
SynListHandle EQU $0D32 ;a handle to a list of synthesized fonts
|
|
LastFore EQU $0D36 ;8 bytes: last foreground and background colors (FM)
|
|
LastMode EQU $0D3E ;word: last text mode (Font Manager)
|
|
LastDepth EQU $0D40 ;word: last depth font prepared for
|
|
FMExist EQU $0D42 ;byte: clear if InitFonts has already been called
|
|
SavedHilite EQU $0D43 ;byte: used for state across Mac II QD patches
|
|
|
|
;-----------------------------------------------------
|
|
|
|
; Region State record
|
|
|
|
rgnPtr EQU $0 ; [handle]
|
|
dataPtr EQU $4 ; [handle]
|
|
scanBuf EQU $8 ; [pointer]
|
|
scanSize EQU $C ; [word]
|
|
thisV EQU $E ; [word]
|
|
nextV EQU $10 ; [word]
|
|
minH EQU $12 ; [word]
|
|
maxH EQU $14 ; [word]
|
|
leftH EQU $16 ; [word]
|
|
rgnRec EQU $18 ; size of as region record
|
|
|
|
|
|
;------------------------------------------------------
|
|
;
|
|
; OFFSETS IN AN OVAL STATE RECORD:
|
|
;
|
|
OVALTOP EQU 0 ;INTEGER
|
|
OVALBOT EQU OVALTOP+2 ;INTEGER
|
|
OVALY EQU OVALBOT+2 ;INTEGER
|
|
RSQYSQ EQU OVALY+2 ;LONGINT
|
|
SQUARE EQU RSQYSQ+4 ;64 BIT LONGFIX
|
|
ODDNUM EQU SQUARE+8 ;64 BIT LONGFIX
|
|
ODDBUMP EQU ODDNUM+8 ;64 BIT LONGFIX
|
|
LEFTMOSTEDGE EQU ODDBUMP+8 ;32 BIT FIXED POINT
|
|
RIGHTMOSTEDGE EQU LEFTMOSTEDGE+4 ;32 BIT FIXED POINT
|
|
ONEHALF EQU RIGHTMOSTEDGE+4 ;32 BIT FIXED POINT
|
|
OVALSIZE EQU ONEHALF+4 ;SIZE OF AN OVALREC
|
|
|
|
|
|
;-----------------------------------------------------
|
|
;
|
|
; OFFSETS IN A PICSAVE RECORD:
|
|
;
|
|
thePic EQU 0 ;PICHANDLE
|
|
picMax EQU 4 ;LongInt
|
|
picIndex EQU 8 ;LongInt
|
|
picClipRgn EQU 12 ;RgnHandle
|
|
picBkPat EQU 16 ;Pattern
|
|
picTxFont EQU 24 ;WORD
|
|
picTxFace EQU 26 ;Style
|
|
picTxMode EQU 28 ;WORD
|
|
picTxSize EQU 30 ;WORD
|
|
picSpExtra EQU 32 ;Fixed Point
|
|
picTxNumer EQU 36 ;Point
|
|
picTxDenom EQU 40 ;Point
|
|
picTxLoc EQU 44 ;Point
|
|
picPnLoc EQU 48 ;Point
|
|
picPnSize EQU 52 ;Point
|
|
picPnMode EQU 56 ;WORD
|
|
picPnPat EQU 58 ;Pattern
|
|
picFillPat EQU 66 ;Pattern
|
|
picTheRect EQU 74 ;Rect
|
|
picOvSize EQU 82 ;Point
|
|
picOrigin EQU 86 ;Point
|
|
picFgColor EQU 90 ;Long
|
|
picBkColor EQU 94 ;Long
|
|
picSaveRec EQU 98 ;total size in bytes
|
|
|
|
picVersion EQU 98 ;WORD
|
|
picRGBFgCol EQU 100 ;RGB (6 bytes)
|
|
picRGBBkCol EQU 106 ;RGB (6 bytes)
|
|
picChExtra EQU 112 ;WORD
|
|
picLocHFrac EQU 114 ;WORD
|
|
picRGBOpColor EQU 116 ;RGB (6 bytes)
|
|
picRGBHiColor EQU 122 ;RGB (6 bytes)
|
|
picFillPP EQU 128 ;Handle
|
|
picPnPP EQU 132 ;Handle
|
|
picBkPP EQU 136 ;Handle
|
|
picFontList EQU 140 ;Handle
|
|
picQdChExtra EQU 144 ;Fixed (moved below pattern stuff) <29JUN90 KON><12>
|
|
picQdRunSlop EQU 148 ;Fixed (moved below pattern stuff) <29JUN90 KON><12>
|
|
picGlyphState EQU 152 ;Long, outline preferred, preserve glyph, fractional widths, scale disable flags <19>
|
|
picReserve1 EQU 156 ;Handle
|
|
npicSaveRec EQU 160 ;total size in bytes
|
|
|
|
pictVersion EQU 1 ;version number for pict
|
|
npicVersion EQU $2FF ;version number for npic
|
|
|
|
;-----------------------------------------------
|
|
;
|
|
; PICTURE OPCODES
|
|
;
|
|
|
|
opNOP EQU $0 ; nop opcode
|
|
opClip EQU $1 ; clip opcode
|
|
opBkPat EQU $2 ; background pattern opcode
|
|
opTxFont EQU $3 ; text font opcode
|
|
opTxFace EQU $4 ; text face opcode
|
|
opTxMode EQU $5 ; text mode opcode
|
|
opSpExtra EQU $6 ; space extra opcode
|
|
opPnSize EQU $7 ; pen size opcode
|
|
opPnMode EQU $8 ; pen mode opcode
|
|
opPnPat EQU $9 ; pen pattern opcode
|
|
opFillPat EQU $A ; fill pattern opcode
|
|
opOvSize EQU $B ; oval size opcode
|
|
opOrigin EQU $C ; origin opcode
|
|
opTxSize EQU $D ; text size opcode
|
|
opFgColor EQU $E ; foreground color opcode
|
|
opBkColor EQU $F ; background color opcode
|
|
opTxRatio EQU $10 ; text ratio opcode
|
|
opVersion EQU $11 ; version opcode
|
|
opBkPixPat EQU $12 ; color background pattern opcode
|
|
opPnPixPat EQU $13 ; color pen pattern opcode
|
|
opFillPixPat EQU $14 ; color fill pattern opcode
|
|
opPnLocHFrac EQU $15 ; fractional pen position opcode
|
|
opChExtra EQU $16 ; extra for each character
|
|
|
|
; opcode $17 unused
|
|
|
|
opIFore EQU $18 ; foreColor index opcode
|
|
opIBack EQU $19 ; backColor index opcode
|
|
opRGBFgCol EQU $1A ; RGB foreColor opcode
|
|
opRGBBkCol EQU $1B ; RGB backColor opcode
|
|
opHiliteMode EQU $1C ; hilite mode flag
|
|
opHiliteColor EQU $1D ; RGB hilite color
|
|
opDefHilite EQU $1E ; Use default hilite color
|
|
opOpColor EQU $1F ; RGB OpColor for arithmetic modes
|
|
opLine EQU $20 ; line opcode
|
|
opLineFrom EQU $21 ; line from opcode
|
|
opShortLine EQU $22 ; short line opcode
|
|
opShortLineFrom EQU $23 ; short line from opcode
|
|
opLongText EQU $28 ; long text opcode
|
|
opDHText EQU $29 ; dh text opcode
|
|
opDVText EQU $2A ; dv text opcode
|
|
opDHDVText EQU $2B ; dh,dv text opcode
|
|
opFontName EQU $2C ; font name/id binding
|
|
opLineLayout EQU $2D ; script manager line-layout state
|
|
opGlyphState EQU $2E ; TrueType glyph drawing state <19>
|
|
opBitsRect EQU $90 ; copybits, rect clipped opcode
|
|
opBitsRgn EQU $91 ; copybits, rgn clipped opcode
|
|
opPackBitsRect EQU $98 ; packed copybits, rect clipped opcode
|
|
opPackBitsRgn EQU $99 ; packed copybits, rgn clipped opcode
|
|
opShortComment EQU $A0 ; short comment opcode
|
|
opLongComment EQU $A1 ; long comment opcode
|
|
opEndPic EQU $FF ; end of picture opcode
|
|
ngHeaderOp EQU $0C00 ; NuGraf Header opcode
|
|
|
|
|
|
;-----------------------------------------------
|
|
;
|
|
; COLOR QUICKDRAW EQUATES
|
|
;
|
|
nurbMask EQU $7FFF ; mask top 2 bits of rowbytes
|
|
rbMask EQU $1FFF ; mask top 3 bits of rowbytes
|
|
PMFlag EQU $8000 ; flag to say it's a new pixMap
|
|
cPortFlag EQU $C000 ; isPixMap+isCPort
|
|
pixVersion EQU $0000 ; isPixMap
|
|
|
|
qdStackXtra EQU $0640 ; stack space left for interrupts <1.4> BAL
|
|
|
|
isPixMap EQU 15 ; for testing high bit of pRowbytes
|
|
isCPort EQU 14 ; indicates that "bitmap" belongs to port
|
|
|
|
;-----------------------------------------------
|
|
;
|
|
; COLOR QUICKDRAW OFFSETS
|
|
;
|
|
;-----------------------------------------------
|
|
;
|
|
; OFFSETS WITHIN A PIXELMAP
|
|
;
|
|
pBaseAddr EQU 0 ; [long]
|
|
pNewFlag EQU pBaseAddr+4 ; [1 bit] upper bit of rowbytes is flag
|
|
pRowBytes EQU pBaseAddr+4 ; [word]
|
|
pBounds EQU pRowBytes+2 ; [rect]
|
|
IF 0 THEN ; Seems pretty Scary Bruce
|
|
pmVersion EQU pBounds+8 ; [word] pixMap version number
|
|
ENDIF
|
|
packType EQU pmVersion+2 ; [word] defines packing format
|
|
packSize EQU packType+2 ; [long] size of pixel data
|
|
hRes EQU packSize+4 ; [fixed] h. resolution (ppi)
|
|
vRes EQU hRes+4 ; [fixed] v. resolution (ppi)
|
|
pixelType EQU vRes+4 ; [word] defines pixel type
|
|
pixelSize EQU pixelType+2 ; [word] # bits in pixel
|
|
cmpCount EQU pixelSize+2 ; [word] # components in pixel
|
|
cmpSize EQU cmpCount+2 ; [word] # bits per field
|
|
planeBytes EQU cmpSize+2 ; [long] offset to next plane
|
|
|
|
IF 0 THEN
|
|
pmTable EQU planeBytes+4 ; [long] color map
|
|
pmReserved EQU pmTable+4 ; [long] MUST BE 0
|
|
|
|
pmRec EQU pmReserved+4 ; size of pixelMap record
|
|
ENDIF
|
|
|
|
|
|
;------------------------------
|
|
; <14> OFFSETS WITHIN GRAFVARS:
|
|
;
|
|
;rgbOpColor EQU 0 ; [6 bytes] color for addPin, subPin and average
|
|
;rgbHiliteColor EQU rgbOpColor+6 ; [6 bytes] color for hiliting
|
|
;pmFgColor EQU rgbHiliteColor+6 ; [4 bytes] palette handle for foreground color
|
|
;pmFgIndex EQU pmFgColor+4 ; [2 bytes] index value for foreground
|
|
;pmBkColor EQU pmFgIndex+2 ; [4 bytes] palette handle for background color
|
|
;pmBkIndex EQU pmBkColor+4 ; [2 bytes] index value for background
|
|
;pmFlags EQU pmBkIndex+2 ; [2 bytes] flags for Palette Manager
|
|
;grafVarRec EQU pmFlags+2 ; size of grafVar record
|
|
|
|
gworldstuff EQU grafVarRec ;[6 bytes] stuff that gworlds add to grafvars
|
|
|
|
foreStream EQU gworldstuff+6 ;[4 bytes] foreground stream ID number
|
|
foreRatio EQU foreStream+4 ;[2 bytes] foreground transparency ratio
|
|
backStream EQU foreRatio+2 ;[4 bytes] background stream ID number
|
|
backRatio EQU backStream+4 ;[2 bytes] background transparency ratio
|
|
streamFiller EQU backRatio+2 ;[1 byte] currently unused byte
|
|
streamMode EQU streamFiller+1 ;[1 byte] alpha channel mode
|
|
newGrafVarRec EQU streamMode+1 ;size of full grafVar record
|
|
|
|
|
|
;------------------
|
|
; fields within patXMap
|
|
|
|
patXRow EQU 0 ; [word] rowbytes of expanded pattern
|
|
patXHMask EQU patXRow+2 ; [word] horizontal mask
|
|
patXVMask EQU patXHMask+2 ; [word] vertical mask
|
|
LastCTable EQU patXVMask+2 ; [long] seed value for last color table
|
|
LastOfst EQU LastCTable+4 ; [word] last global-local offset
|
|
LastInvert EQU LastOfst+2 ; [long] last invert value
|
|
LastAlign EQU LastInvert+4 ; [long] last horizontal align
|
|
LastStretch EQU LastAlign+4 ; [word] last stretch
|
|
|
|
ppXInfo EQU LastStretch+2 ; size of expanded data
|
|
|
|
ScrnActive EQU 15 ; 1 if in use
|
|
|
|
|
|
; inverse Table structure (shouldn't be a public structure, but is obvious) <C96/29Jul86>DAF
|
|
ITabSeed EQU $0 ;[long] ID of owning color table
|
|
iTabRes EQU $4 ;[word] resolution of this table
|
|
iTTable EQU $6 ;table of indices starts here
|
|
|
|
ITabHidden EQU $00 ;number of hidden entries (0 for balanced table)
|
|
ITabFlags EQU $02 ;[word] flags for this table <BAL 16Mar89>
|
|
ITabReserved EQU $04 ;[word] reserved for future use
|
|
ITabInfo EQU $06
|
|
ITabLuma EQU $106 ;1 bytes per color at the moment <BAL 18Mar89>
|
|
ITExtraSize EQU $206 ;1 bytes per color at the moment <BAL 18Mar89>
|
|
|
|
;-----------------------------------------------------
|
|
;
|
|
; EQUATES FOR COLOR CURSOR SAVE AREA
|
|
;
|
|
; NOTE THAT THE FIRST FOUR FIELDS ARE PARALLEL TO THE FIRST FOUR FIELDS
|
|
; OF A PATTERN SO THAT PATCONVERT CAN BE USED TO EXPAND A CURSOR
|
|
;
|
|
CCTYPE EQU 0 ;[WORD] CURSOR TYPE
|
|
CCMAP EQU CCTYPE+2 ;[LONG] HANDLE TO CURSOR'S PIXMAP
|
|
CCDATA EQU CCMAP+4 ;[LONG] HANDLE TO CURSOR'S COLOR DATA
|
|
CCXDATA EQU CCDATA+4 ;[LONG] HANDLE TO EXPANDED DATA
|
|
CCXMASK EQU CCXDATA+4 ;[LONG] HANDLE TO EXPANDED MASK
|
|
CCSAVE EQU CCXMASK+4 ;[LONG] HANDLE TO SAVE BITS UNDER CURSOR
|
|
CCLASTCRSR EQU CCSAVE+4 ;[32 BYTES] DATA FOR LAST B/W CURSOR DRAWN
|
|
CCID EQU CCLASTCRSR+32 ;[LONG] ID FOR LAST COLOR CURSOR DRAWN
|
|
CCDEPTH EQU CCID+4 ;[WORD] DEPTH FOR LAST CURSOR DRAWN
|
|
CCSTATEREGS EQU CCDEPTH+2 ;[16 BYTES] STATE INFO OF SAVED DATA
|
|
CCBYTES EQU CCSTATEREGS+16 ;[WORD] ROWBYTES OF EXPANDED DATA
|
|
CCMAXDEPTH EQU CCBYTES+2 ;[WORD] MAXIMUM SCREEN DEPTH
|
|
|
|
CCSAVEREC EQU CCMAXDEPTH+2 ;SIZE OF CURSOR SAVE AREA
|
|
|
|
; Font Manager low mem
|
|
;
|
|
FontFlag EQU $15E ; font manager loop flag [byte]
|
|
|
|
FOutError EQU $998 ; error code
|
|
FOutFontHandle EQU $99A ; handle to font bits
|
|
FOutBold EQU $99E ; bolding factor
|
|
FOutItalic EQU $99F ; italic factor
|
|
FOutULOffset EQU $9A0 ; underline offset
|
|
FOutULShadow EQU $9A1 ; underline halo
|
|
FOutULThick EQU $9A2 ; underline thickness
|
|
FOutShadow EQU $9A3 ; shadow factor
|
|
FOutExtra EQU $9A4 ; extra horizontal width
|
|
FOutAscent EQU $9A5 ; height above baseline
|
|
FOutDescent EQU $9A6 ; height below baseline
|
|
FOutWidMax EQU $9A7 ; maximum width of character
|
|
FOutLeading EQU $9A8 ; space between lines
|
|
FOutUnused EQU $9A9 ; unused byte (must have even number)
|
|
FOutNumer EQU $9AA ; point for numerators of scale factor
|
|
FOutDenom EQU $9AE ; point for denominators of scale factor
|
|
|
|
|
|
|
|
;----------------------------------------------
|
|
;
|
|
; Trap table equates used by QuickDraw:
|
|
;
|
|
IF isMacPlus THEN ;<16-CEL,PKE>
|
|
JStdTbTbl EQU $0C00 ;<15-CEL,PKE>
|
|
ELSE
|
|
JStdTbTbl EQU $0E00 ; <C146><A283>
|
|
ENDIF
|
|
|
|
JStdArc EQU JStdTbTbl+(4*$BD)
|
|
JStdBits EQU JStdTbTbl+(4*$EB)
|
|
JStdComment EQU JStdTbTbl+(4*$F1)
|
|
JStdGetPic EQU JStdTbTbl+(4*$EE)
|
|
JStdLine EQU JStdTbTbl+(4*$90)
|
|
JStdOval EQU JStdTbTbl+(4*$B6)
|
|
JStdPoly EQU JStdTbTbl+(4*$C5)
|
|
JStdPutPic EQU JStdTbTbl+(4*$F0)
|
|
JStdRect EQU JStdTbTbl+(4*$A0)
|
|
JStdRgn EQU JStdTbTbl+(4*$D1)
|
|
JStdRRect EQU JStdTbTbl+(4*$AF)
|
|
JStdText EQU JStdTbTbl+(4*$82)
|
|
IF NEED_JSTDTXMEAS THEN
|
|
JStdTxMeas EQU JStdTbTbl+(4*$ED)
|
|
ENDIF
|
|
|
|
JStdOpcode EQU JStdTbTbl+(4*$3F8)
|
|
|
|
|
|
MACRO
|
|
UNLINK
|
|
.*--------------------------------------------------------------
|
|
.*
|
|
.* UNLINK A6, STRIP PARAMETERS, AND RETURN.
|
|
.*
|
|
.* FIRST PARAM IS NUMBER OF BYTES OF STACK BIAS.
|
|
.*
|
|
UNLK A6 ;RELEASE LOCAL VARIABLES
|
|
.*
|
|
IF &Eval(&Syslst[1])=0 THEN;NO PARAMETERS ?
|
|
RTS ;THEN JUST RTS
|
|
.*
|
|
ELSEIF &Eval(&Syslst[1])=4 THEN;4 BYTES ?
|
|
MOVE.L (SP)+, (SP) ;STRIP PARAMETERS
|
|
RTS ;RETURN
|
|
|
|
ELSE
|
|
RTD_ &Eval(&Syslst[1]) ;STRIP PARAMETERS AND RETURN
|
|
ENDIF
|
|
if 0 then ; turn this on again some day <20>
|
|
dc.b &Syslst[2] ;PUT OUT THE STRING
|
|
align ; align code for next function or procedure <19>
|
|
endif
|
|
.*
|
|
ENDM
|
|
|
|
|
|
MACRO
|
|
_StackAvail
|
|
MOVE.L $400+4*$65,A0 ;get address of stack space routine
|
|
JSR (A0) ;get stack space into D0 and return
|
|
ENDM
|
|
|
|
MACRO
|
|
_GetScrnBits ; it's in crsrcore!!
|
|
DC.W ($A833) ;new trap number
|
|
ENDM
|
|
|
|
MACRO
|
|
_SwapFont
|
|
MOVE.L $8E0,A0 ;get pointer to FMSwapFont
|
|
JSR (A0) ;call font manager
|
|
ENDM
|
|
|
|
MACRO
|
|
RTD_ &parm1
|
|
IF &SETTING('MACHINE') <> 'MC68000' THEN
|
|
RTD #&parm1
|
|
ELSE
|
|
IF &Eval(&parm1) = 0 THEN
|
|
rts
|
|
ELSEIF &Eval(&parm1)=4 THEN;4 BYTES ?
|
|
move.l (SP)+, (SP) ;STRIP PARAMETERS
|
|
rts ;RETURN
|
|
ELSEIF &Eval(&parm1)<=8 THEN
|
|
move.l (sp), &parm1(sp)
|
|
addq #&parm1, sp
|
|
rts
|
|
ELSE
|
|
move.l (sp), &parm1(sp)
|
|
add.w #&parm1, sp
|
|
rts
|
|
ENDIF
|
|
ENDIF
|
|
ENDM
|
|
|
|
ENDIF ; ...already included |