mac-rom/QuickDraw/CQD.a
Elliot Nunn 9c249dafab Reverse 68k Color QuickDraw
The ROM now round-trips with QuickDraw mostly built from source.
(~30% of the ROM is now built from source.)
2017-12-26 09:52:55 +08:00

188 lines
4.9 KiB
Plaintext

;
; File: CQD.a
;
; Contains: master source file for Color QuickDraw
;
; Copyright: © 1987-1993 by Apple Computer, Inc. All rights reserved.
;
; Change History (most recent first):
;
; <SM5> 2/4/93 CSS Horror rollin: include CrsrDevEqu.a to get :DrawCrsrVector and
; EraseCrsrVector.
; <SM4> 10/28/92 SWC Replaced obsolete INCLUDEd filenames with their replacements.
; <SM3> 6/12/92 stb move Arith8Blt.a a bit closer to BitBlt.a
; <SM2> 4/16/92 PN Include the SysPrivateEqu (SplineFont globals) files for ROM
; build
; <9> 7/10/91 JSM Remove obsolete SysVers conditional.
; <8> 6/12/91 LN Removed #includes for private interfaces from public interfaces.
; Changed #include 'HardwareEqu.a' to 'HardwarePrivateEqu.a'
; <7> 4/24/91 dba remove extraneous equates
; <6> 6/25/90 CL Adding in fontPrivate.a.
; <5> 6/20/90 CL Moving the rSwapMMUMode macro into qdhooks.a so it can be
; shared.
; <4> 5/30/90 JT Added setting of hasPenFraction flag for included source files
; that depend on it.
; <3> 1/18/90 DVB Reinstate ROMPaletteMgr flag
; <2> 1/18/90 DVB Include PalettePriv.a
; <2.1> 11/18/89 BAL Turned on inclusion of QuickerDraw arithmetic xfer loops
; <2.0> 11/15/89 BAL Conditionalized arith8blt.a
; <1.9> 11/15/89 BAL Added Quicker conditional flag and GetPMData.a
; <1.8> 8/22/89 SES Removed references to nFiles. Changed include DeclRomEqu.a to
; RomEqu.a.
; <¥1.7> 7/14/89 BAL For Aurora: Final CQD
; <1.5> 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.6> 6/10/89 BAL Removed include of PatchMacros.a
; <¥1.4> 5/29/89 BAL Blasting in 32-Bit QuickDraw version 1.0 Final
; <¥1.3> 4/12/89 BAL Blasting in 32-Bit QuickDraw 1.0B1
; <¥1.2> 2/14/89 CCH Rolling in 32-Bit color quickdraw sources from Bruce Leak and
; Dave Fung.
; <C864> 8/12/87 rwh added ROMPaletteMgr equate for PaletteMgr ROM build
;
STRING ASIS
MACHINE MC68020
PrintinROM EQU 1
PrNonPortable EQU 1
WholeErrors EQU 1
AddrModeFlag EQU 0
Quicker EQU 1
has32BitQD EQU 1
ROMPaletteMgr EQU 1 ;set to zero for System Disk, 1 for ROM build <C864>
IF (&TYPE('hasPenFraction') = 'UNDEFINED') THEN
IF forROM THEN
hasPenFraction EQU 0
ELSE
hasPenFraction EQU 1
ENDIF
ENDIF
;Sleezy Low-Memory Locations pilfered by FCQD
FMSynthXtra equ $c1c
myCicn equ $1c4c
;$d44 is a block of 12 lowmem bytes: Could be good!
ShieldJunkBase EQU $d44
ShieldRect EQU ShieldJunkBase
ShieldDepth EQU ShieldJunkBase+8
;private equates used by FCQD
runMaskBit equ 30 ;bit number for run MASK instruction
PMVersMask EQU $7FFF ; mask to remove high bit of version
fAddr32clean EQU $8000 ; flag to say pixMap's baseAddr is 32 bit clean
CLUTBusy EQU 13 ; bit number in CTFlags (TransIndex) to
print off
INCLUDE 'QuickDraw.a'
INCLUDE 'SysEqu.a'
INCLUDE 'SysErr.a'
INCLUDE 'ToolUtils.a'
INCLUDE 'FastTraps.a'
INCLUDE 'QDHooks.a'
INCLUDE 'FontPrivate.a'
INCLUDE 'CrsrDevEqu.a' ; <SM5> CSS
INCLUDE 'ColorEqu.a'
INCLUDE 'SlotMgrEqu.a'
INCLUDE 'ROMEqu.a'
INCLUDE 'Video.a'
INCLUDE 'HardwarePrivateEqu.a'
INCLUDE 'Palettes.a'
INCLUDE 'PalettePriv.a'
INCLUDE 'SysPrivateEqu.a' ; <PN>
PRINT NOGEN,NOMDIR
PRINT ON
_FixDiv OPWORD $A84D
_PMForeColor OPWORD $Aa97
_PMBackColor OPWORD $Aa98
MACRO
_SeedFill
JSR ([$E00+$39*4])
ENDM
MACRO
_CalcMask
JSR ([$E00+$38*4])
ENDM
MACRO
_rGetCTSeed
JSR ([$E00+$228*4])
ENDM
MACRO
_ColorThing2Index
JSR ([$E00+$392*4])
ENDM
MACRO
_tstMFExists
move.l ($E00+$9f*4),d0 ;get address of unimplemented trap
cmp.l ($E00+$8f*4),d0 ;same as OSDispatch?
ENDM
BlockHead PROC EXPORT
GBLC &CurFile ;current file name used by DrawingVars
INCLUDE 'GDevice.a'
INCLUDE 'LCURSOR.a'
INCLUDE 'DRAWTEXT.a'
INCLUDE 'TEXT.a'
INCLUDE 'LINES.a'
INCLUDE 'PUTLINE.a'
INCLUDE 'DRAWLINE.a'
INCLUDE 'RGNBLT.a'
INCLUDE 'RECTS.a'
if Quicker then
INCLUDE 'arith8blt.a'
endif
INCLUDE 'BITBLT.a'
INCLUDE 'cCrsrCore.a'
INCLUDE 'QDExtensions2.a'
INCLUDE 'QDUtil.a'
INCLUDE 'Colorasm.a'
INCLUDE 'Patterns.a'
INCLUDE 'GRAFAsm.a'
INCLUDE 'PICTURES.a'
INCLUDE 'GetPmData.a'
INCLUDE 'POLYGONS.a'
INCLUDE 'RRECTS.a'
INCLUDE 'DRAWARC.a'
INCLUDE 'BITMAPS.a'
INCLUDE 'REGIONS.a'
INCLUDE 'SEEKRGN.a'
INCLUDE 'STRETCH.a'
INCLUDE 'seekMask.a'
INCLUDE 'OVALS.a'
INCLUDE 'ARCS.a'
INCLUDE 'SORTPOINTS.a'
INCLUDE 'PUTRGN.a'
INCLUDE 'ColorMgr.a'
INCLUDE 'ANGLES.a'
INCLUDE 'PUTOVAL.a'
INCLUDE 'PACKRGN.a'
INCLUDE 'RGNOP.a'
INCLUDE 'MaskAsm.a'
INCLUDE 'PaletteMgr.a' ; <02Jun87 DAF>
INCLUDE 'GWorld.a' ; <29May89 BAL>
END