mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2024-12-28 16:31:01 +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.
294 lines
13 KiB
Plaintext
294 lines
13 KiB
Plaintext
;
|
|
; File: Video.a
|
|
;
|
|
; Contains: Equates for video drivers as defined in CARDS & DRIVERS.
|
|
;
|
|
; Written by: Dave Fung, but heÕll deny it.
|
|
;
|
|
; Copyright: © 1990, 1992-1993 by Apple Computer, Inc., all rights reserved.
|
|
;
|
|
; Change History (most recent first):
|
|
;
|
|
; <SM8> 12/13/93 PN Roll in KAOs and Horror changes to support Malcom and AJ
|
|
; machines
|
|
; <SM7> 08-06-93 jmp Added more csDisplayTypes.
|
|
; <SM6> 6/25/93 IH Update kHasSerialSense to kHasDirectConnect
|
|
; <5> 6/1/93 IH Add VDSwitchInfo
|
|
; <SM4> 04-07-93 jmp Added the csc idÕs of one of the new driver calls for supporting
|
|
; the Display Manager.
|
|
; <SM3> 4/6/93 fau Synchronized with Ludwig.
|
|
; <LW3> 4/5/93 fau Removed the now-private codes for Cyclone's video-in driver, as
|
|
; well as the records defined for them.
|
|
; <SM2> 4/5/93 chp Synchronize with Ludwig.
|
|
; <LW2> 2/16/93 fau Changed VDCompOut and added VDInternalInfo for changes to the
|
|
; Civic driver.
|
|
; <SM4> 7/7/92 CSS Update from Reality.
|
|
; <18> 7/1/92 DCL This file is the replacement for the now obsolete VideoEqu.a.
|
|
; Changed the 'including' name to match the new file name.
|
|
; <SM3> 6/19/92 KW (fau,P3) Added the interface for VDCompositeOut. Added the
|
|
; latest cs Codes for the new Cyclone calls.
|
|
; <SM2> 5/20/92 KW Roll in from Pandora, P2
|
|
;----------------------------------------------------
|
|
; Pre SuperMario Comments below
|
|
;----------------------------------------------------
|
|
; <17> 6/14/91 JL Checked in official MPW 3.2Ä version. Temporarily lost comment
|
|
; about sGammaDir and sRsrcVidNames - will be restored. Didn't
|
|
; publish comment about commented out mTable.
|
|
; <16> 1/30/91 gbm sab, #38: Change the Ôalready including this fileÕ variable to
|
|
; all uppercase (for security reasons)
|
|
; <15> 7/18/90 jmp Removed the cscVidInit equate and changed cscVidKillIO to
|
|
; cscKillIO.
|
|
; <14> 7/11/90 jmp Added mode equates for video cards NOT having contiguous (i.e.,
|
|
; 1, 2, 4, 8 [, 16, 32]) modes.
|
|
; <13> 7/11/90 jmp Added comment about some equates here; cleaned up <12>Õs
|
|
; comment, removed goofy Òto do.Ó
|
|
; <12> 6/27/90 jmp Added equate names from 2nd Ed. of CARDS & DRIVERS.
|
|
;
|
|
; To Do:
|
|
;
|
|
|
|
; Version: 3.3
|
|
; Created: Friday, October 20, 1989 at 10:11:40 PM
|
|
;
|
|
; File: VideoEqu.a
|
|
;
|
|
; Assembler Interface to the Macintosh Libraries
|
|
; Copyright Apple Computer, Inc. 1986-1988
|
|
; All Rights Reserved
|
|
;
|
|
; Modification History:
|
|
; <6> 03/02/90 JAL secondaryINIT belongs in ROMEqu.a
|
|
; <4> 03/02/90 JAL Added sixteenBitMode, thirtyTwoBitMode,
|
|
; secondaryINIT, and spGammaDir.
|
|
;<C742/02Feb87 GWN> Changed video parameters to an sBlock.
|
|
; 11 Jun 87 KLH Added Control Codes & Status Codes.
|
|
; 2 Jul 87 KLH Added VDSetEntryRecord.
|
|
; 1.0 CCH 11/ 9/1988 Adding to EASE.
|
|
; END EASE MODIFICATION HISTORY
|
|
;¥1.1 CCH 9/14/1988 Updated EASE with the current rev of this file.
|
|
;--------------------------------------------------------------------
|
|
|
|
IF &TYPE('__INCLUDINGVIDEO__') = 'UNDEFINED' THEN
|
|
__INCLUDINGVIDEO__ SET 1
|
|
;
|
|
; Video sResource parameter Id's
|
|
;
|
|
|
|
mBaseOffset EQU 1 ;Id of mBaseOffset.
|
|
mRowBytes EQU 2
|
|
mBounds EQU 3
|
|
mVersion EQU 4
|
|
mHRes EQU 5
|
|
mVRes EQU 6
|
|
mPixelType EQU 7
|
|
mPixelSize EQU 8
|
|
mCmpCount EQU 9
|
|
mCmpSize EQU 10
|
|
mPlaneBytes EQU 11
|
|
;* mTable EQU 12
|
|
;* mPageCnt EQU 13
|
|
mVertRefRate EQU 14
|
|
|
|
|
|
mVidParams EQU 1 ;Video parameter block id.
|
|
mTable EQU 2 ;Offset to the table.
|
|
mPageCnt EQU 3 ;Number of pages
|
|
mDevType EQU 4 ;Device Type
|
|
|
|
|
|
;
|
|
; Video sResource List Id's
|
|
;
|
|
|
|
oneBitMode EQU 128 ;Id of OneBitMode Parameter list.
|
|
twoBitMode EQU 129 ;Id of TwoBitMode Parameter list.
|
|
fourBitMode EQU 130 ;Id of FourBitMode Parameter list.
|
|
eightBitMode EQU 131 ;Id of EightBitMode Parameter list.
|
|
sixteenBitMode EQU 132 ;Id of SixteenBitMode Parameter list.
|
|
thirtyTwoBitMode EQU 133 ;Id of ThirtyTwoBitMode Parameter list.
|
|
|
|
firstVidMode EQU 128 ; If we ever decide to add/drop a modes
|
|
secondVidMode EQU 129 ; in a particular card, it makes more
|
|
thirdVidMode EQU 130 ; sense to name the modes in an ordinal
|
|
fourthVidMode EQU 131 ; fashion rather than in a cardinal
|
|
fifthVidMode EQU 132 ; one. (The RBV equates do this.) <14>
|
|
sixthVidMode EQU 133
|
|
|
|
spGammaDir EQU 64
|
|
spVidNamesDir EQU 65 ; <12>
|
|
|
|
|
|
; csTimingFormat values in VDTimingInfo
|
|
;
|
|
kDeclROMtables EQU 'decl' ; look in the declartion rom for timing info
|
|
;
|
|
; csConnectFlags values in VDDisplayConnectInfo
|
|
;
|
|
|
|
kAllModesValid EQU 0 ; All modes not trimmed by primary init are know to be good
|
|
kAllModesSafe EQU 1 ; All modes not trimmed by primary init are know to be good
|
|
kReportsTagging EQU 2 ; To identify smart monitors we must be able to detect tagged displays
|
|
kHasDirectConnect EQU 3 ; True implies that serial data link is active through sense lines
|
|
kIsMonoDev Equ 4 ; Says whether thereÕs an RGB (0) or Monochrome (1) connection.
|
|
; Note: The kIsMonoDev bit is backwards from gdDevType bit because
|
|
; weÕve already shipped some color LCD products that way,
|
|
; and weÕd really like to default to RGB (i.e., three guns),
|
|
; and zero is a good default value.
|
|
;
|
|
; csConnectFlag values in VDTimingInfo
|
|
|
|
kModeValid Equ 0 ; Says that this mode should NOT be trimmed.
|
|
kModeSafe Equ 1 ; Says that this mode is safe.
|
|
|
|
; csDisplayType values in VDDisplayConnectInfo
|
|
|
|
kUnknownConnect EQU 1 ; Not sure how weÕll use this, but seems like a good idea.
|
|
kPanelConnect EQU 2 ; For use with fixed-in-place LCD panels.
|
|
kPanelTFTConnect Equ 2 ; Alias for kPanelConnect (because some ROM have already GMÕd that way).
|
|
kFixedModeCRTConnect EQU 3 ; For use with fixed-mode (i.e., very limited range) displays.
|
|
kMultiModeCRT1Connect EQU 4 ; 320x200 maybe, 12" maybe, 13" (default), 16" certain, 19" maybe, 21" maybe
|
|
kMultiModeCRT2Connect EQU 5 ; 320x200 maybe, 12" maybe, 13" certain, 16" (default), 19" certain, 21" maybe
|
|
kMultiModeCRT3Connect EQU 6 ; 320x200 maybe, 12" maybe, 13" certain, 16" certain, 19" default, 21" certain
|
|
kMultiModeCRT4Connect EQU 7 ; Expansion to large multi mode (not yet used)
|
|
kModelessConnect EQU 8 ; Expansion to modeless model (not yet used)
|
|
kFullPageConnect Equ 9 ; 640x818 (to get 8bpp in 512K case) and 640x870 (these two only)
|
|
kVGAConnect Equ 10 ; 640x480 VGA default -- question everything else
|
|
kNTSCConnect Equ 11 ; NTSC ST (default), FF, STconv, FFconv
|
|
kPALConnect Equ 12 ; PAL ST (default), FF, STconv, FFconv
|
|
kHRConnect Equ 13 ; 640x400 (to get 8bpp in 256K case) and 640x480 (these two only)
|
|
kPanelFSTNConnect Equ 14 ; For use with fixed-in-place LCD FSTN (aka ÒSupertwistÓ) panels.
|
|
|
|
;
|
|
; Control Codes
|
|
;
|
|
|
|
cscReset EQU 0
|
|
cscKillIO EQU 1 ; <15>
|
|
cscSetMode EQU 2
|
|
cscSetEntries EQU 3
|
|
cscSetGamma EQU 4 ; <12>
|
|
cscGrayPage EQU 5
|
|
cscGrayScreen EQU 5 ; This is what C&D 2 calls it. <12>
|
|
cscSetGray EQU 6
|
|
cscSetInterrupt EQU 7 ; <12>
|
|
cscDirectSetEntries EQU 8 ; <12>
|
|
cscSetDefaultMode EQU 9 ; <12>
|
|
cscSwitchMode Equ 10 ;
|
|
cscSetSync Equ 11 ;
|
|
|
|
;
|
|
; Status Codes
|
|
;
|
|
|
|
cscGetMode EQU 2
|
|
cscGetEntries EQU 3
|
|
cscGetPageCnt EQU 4
|
|
cscGetPages EQU 4 ; This is what C&D 2 calls it. <12>
|
|
cscGetPageBase EQU 5
|
|
cscGetBaseAddr EQU 5 ; This is what C&D 2 calls it. <12>
|
|
cscGetGray EQU 6 ; <12>
|
|
cscGetInterrupt EQU 7 ; <12>
|
|
cscGetGamma EQU 8 ; <12>
|
|
cscGetDefaultMode EQU 9 ; <12>
|
|
cscGetCurMode EQU 10 ;
|
|
cscGetSync EQU 11 ;
|
|
cscGetConnection EQU 12 ; Return information about the connection to the display
|
|
cscGetModeTiming EQU 13 ; Return timing info for a mode
|
|
|
|
|
|
csGTable EQU 0 ; [long] pointer to gamma table
|
|
csTable EQU 0 ; [long] pointer to CLUT
|
|
csStart EQU 4 ; [word] entry start number
|
|
csCount EQU 6 ; [word] entry count to change
|
|
|
|
;
|
|
; mVidParams block
|
|
;
|
|
|
|
VPBlock RECORD 0 ;Video Parameters block.
|
|
vpBaseOffset DS.L 1 ;Offset to page zero of video RAM (From minorBaseOS).
|
|
vpRowBytes DS.W 1 ;Width of each row of video memory.
|
|
vpBounds DS.W 4 ;BoundsRect for the video display (gives dimensions).
|
|
vpVersion DS.W 1 ;PixelMap version number.
|
|
vpPackType DS.W 1 ;
|
|
vpPackSize DS.L 1 ;
|
|
vpHRes DS.L 1 ;Horizontal resolution of the device (pixels per inch).
|
|
vpVRes DS.L 1 ;Vertical resolution of the device (pixels per inch).
|
|
vpPixelType DS.W 1 ;Defines the pixel type.
|
|
vpPixelSize DS.W 1 ;Number of bits in pixel.
|
|
vpCmpCount DS.W 1 ;Number of components in pixel.
|
|
vpCmpSize DS.W 1 ;Number of bits per component
|
|
vpPlaneBytes DS.L 1 ;Offset from one plane to the next.
|
|
vpBlockSize EQU *
|
|
ENDR
|
|
|
|
|
|
|
|
VDSetEntryRecord RECORD 0
|
|
csTable DS.L 1 ; ^ColorSpec - (long) Pointer to an array of color specs
|
|
csStart DS.W 1 ; INTEGER - (word) Which spec in array to start with, or -1
|
|
csCount DS.W 1 ; INTEGER - (word) Number of color spec entries to set
|
|
ENDR
|
|
|
|
VDSwitchInfo RECORD 0
|
|
csMode DS.W 1 ; INTEGER - (word) mode - depth
|
|
csData DS.L 1 ; LONGINT - (long) functional sResource of mode
|
|
csPage DS.W 1 ; INTEGER - (word) page to switch in
|
|
csBaseAddr DS.L 1 ; Ptr - (long) base address of page
|
|
csReserved DS.L 1 ; LONGINT - (long) reserved - set to 0
|
|
ENDR
|
|
|
|
VDTimingInfo RECORD 0
|
|
csTimingMode DS.L 1 ; LONGINT - (long) timing mode (a la InitGDevice)
|
|
csTimingReserved DS.L 1 ; LONGINT - (long) reserved
|
|
csTimingFormat DS.L 1 ; LONGINT - (long) what format is the timing info
|
|
csTimingData DS.L 1 ; LONGINT - (long) data supplied by driver
|
|
csTimingFlags DS.L 1 ; LONGINT - (long) mode within device
|
|
ENDR
|
|
|
|
VDDisplayConnectInfo RECORD 0
|
|
csDisplayType DS.W 1 ; INTEGER - (word) Type of display connected
|
|
csConnectTagged DS.W 1 ; INTEGER - (word) Display is currently "it" (tagged to identify component)
|
|
csConnectFlags DS.L 1 ; LONGINT - (long) what format is the timing info
|
|
csDisplayComponent DS.L 1 ; LONGINT - (long) if the card has a direct connection to the display, it returns the display component here (FUTURE)
|
|
csConnectReserved DS.L 1 ; LONGINT - (long) reserved
|
|
ENDR
|
|
|
|
VDPageInfo RECORD 0
|
|
csMode DS.W 1 ; INTEGER - (word) mode within device
|
|
csData DS.L 1 ; LONGINT - (long) data supplied by driver
|
|
csPage DS.W 1 ; INTEGER - (word) page to switch in
|
|
csBaseAddr DS.L 1 ; Ptr - (long) base address of page
|
|
ENDR
|
|
|
|
VDSizeInfo RECORD 0
|
|
csHSize DS.W 1 ; INTEGER - (word) desired/returned h size
|
|
csHPos DS.W 1 ; INTEGER - (word) desired/returned h position
|
|
csVSize DS.W 1 ; INTEGER - (word) desired/returned v size
|
|
csVPos DS.W 1 ; INTEGER - (word) desired/returned v position
|
|
ENDR
|
|
|
|
VDSettings RECORD 0
|
|
csParamCnt DS.W 1 ; INTEGER - (word) number of params
|
|
csBrightMax DS.W 1 ; INTEGER - (word) max brightness
|
|
csBrightDef DS.W 1 ; INTEGER - (word) default brightness
|
|
csBrightVal DS.W 1 ; INTEGER - (word) current brightness
|
|
csCntrstMax DS.W 1 ; INTEGER - (word) max contrast
|
|
csCntrstDef DS.W 1 ; INTEGER - (word) default contrast
|
|
csCntrstVal DS.W 1 ; INTEGER - (word) current contrast
|
|
csTintMax DS.W 1 ; INTEGER - (word) max tint
|
|
csTintDef DS.W 1 ; INTEGER - (word) default tint
|
|
csTintVal DS.W 1 ; INTEGER - (word) current tint
|
|
csHueMax DS.W 1 ; INTEGER - (word) max hue
|
|
csHueDef DS.W 1 ; INTEGER - (word) default hue
|
|
csHueVal DS.W 1 ; INTEGER - (word) current hue
|
|
csHorizDef DS.W 1 ; INTEGER - (word) default horizontal
|
|
csHorizVal DS.W 1 ; INTEGER - (word) current horizontal
|
|
csHorizMax DS.W 1 ; INTEGER - (word) max horizontal
|
|
csVertDef DS.W 1 ; INTEGER - (word) default vertical
|
|
csVertVal DS.W 1 ; INTEGER - (word) current vertical
|
|
csVertMax DS.W 1 ; INTEGER - (word) max vertical
|
|
ENDR
|
|
|
|
ENDIF ; ...already included
|