1 line
5.8 KiB
Plaintext
1 line
5.8 KiB
Plaintext
MACHINE MC68020
|
|
STRING C
|
|
|
|
PRINT OFF ; What does this do?
|
|
INCLUDE 'SysErr.a'
|
|
INCLUDE 'SysEqu.a'
|
|
INCLUDE 'ROMEqu.a'
|
|
INCLUDE 'SlotEqu.a'
|
|
INCLUDE 'TimeEqu.a'
|
|
INCLUDE 'Traps.a'
|
|
INCLUDE 'VideoEqu.a'
|
|
PRINT ON
|
|
|
|
|
|
VideoDeclROM MAIN
|
|
WITH VDPageInfo,SlotIntQElement
|
|
|
|
FormatBlockSize EQU 20
|
|
|
|
ROMSize EQU 4096
|
|
MyBoardID EQU $0050 ; FIXME: CHANGE THIS
|
|
|
|
; ---- 1 bit video params ----
|
|
myVidParams_one
|
|
DC.L myVidParams_one_end-myVidParams_one
|
|
DC.L 0 ; offset to video RAM base (why is this 32 on TFB?)
|
|
DC.W 1440/8 ; width of the buffer for a video scan line
|
|
DC.W 0, 0, 900, 1440
|
|
DC.W 0 ; version
|
|
DC.W 0 ; packType
|
|
DC.L 0 ; packSize
|
|
DC.L $48000 ; horizontal resolution (px/in)
|
|
DC.L $48000 ; vertical resolution
|
|
DC.W 0 ; Pixel type (chunky)
|
|
DC.W 1 ; Pixel size (1 bit/px)
|
|
DC.W 1 ; Number of components
|
|
DC.W 1 ; Size of components (size of a single component, or of all?)
|
|
DC.L 0 ; hmPlaneBytes (??)
|
|
myVidParams_one_end
|
|
|
|
; ---- 2 bit video params ----
|
|
myVidParams_two
|
|
DC.L myVidParams_two_end-myVidParams_two
|
|
DC.L 0 ; offset to video RAM base (why is this 32 on TFB?)
|
|
DC.W 1440/4 ; width of the buffer for a video scan line
|
|
DC.W 0, 0, 900, 1440
|
|
DC.W 0 ; version
|
|
DC.W 0 ; packType
|
|
DC.L 0 ; packSize
|
|
DC.L $48000 ; horizontal resolution (px/in)
|
|
DC.L $48000 ; vertical resolution
|
|
DC.W 0 ; Pixel type (chunky)
|
|
DC.W 2 ; Pixel size (1 bit/px)
|
|
DC.W 1 ; Number of components
|
|
DC.W 2 ; Size of each component
|
|
DC.L 0 ; hmPlaneBytes (??)
|
|
myVidParams_two_end
|
|
|
|
; ---- 4 bit video params ----
|
|
myVidParams_four
|
|
DC.L myVidParams_four_end-myVidParams_four
|
|
DC.L 0 ; offset to video RAM base (why is this 32 on TFB?)
|
|
DC.W 1440/2 ; width of the buffer for a video scan line
|
|
DC.W 0, 0, 900, 1440
|
|
DC.W 0 ; version
|
|
DC.W 0 ; packType
|
|
DC.L 0 ; packSize
|
|
DC.L $48000 ; horizontal resolution (px/in)
|
|
DC.L $48000 ; vertical resolution
|
|
DC.W 0 ; Pixel type (chunky)
|
|
DC.W 4 ; Pixel size (1 bit/px)
|
|
DC.W 1 ; Number of components
|
|
DC.W 4 ; Size of each component
|
|
DC.L 0 ; hmPlaneBytes (??)
|
|
myVidParams_four_end
|
|
|
|
; ---- 8 bit video params ----
|
|
myVidParams_eight
|
|
DC.L myVidParams_eight_end-myVidParams_eight
|
|
DC.L 0 ; offset to video RAM base (why is this 32 on TFB?)
|
|
DC.W 1440 ; width of the buffer for a video scan line
|
|
DC.W 0, 0, 900, 1440
|
|
DC.W 0 ; version
|
|
DC.W 0 ; packType
|
|
DC.L 0 ; packSize
|
|
DC.L $48000 ; horizontal resolution (px/in)
|
|
DC.L $48000 ; vertical resolution
|
|
DC.W 0 ; Pixel type (chunky)
|
|
DC.W 8 ; Pixel size (1 bit/px)
|
|
DC.W 1 ; Number of components
|
|
DC.W 8 ; Size of each component
|
|
DC.L 0 ; hmPlaneBytes (??)
|
|
myVidParams_eight_end
|
|
|
|
; ---- sResource directory ----
|
|
CategoryBoard EQU 1
|
|
CategoryVideo EQU 128
|
|
|
|
sResourceDir OSLstEntry CategoryBoard, sResourceBoard
|
|
OSLstEntry CategoryVideo, sResourceVideo
|
|
DatLstEntry endOfList,0
|
|
|
|
; ---- Board sResource ----
|
|
sResourceBoard
|
|
OSLstEntry sRsrcType, boardType
|
|
OSLstEntry sRsrcName, boardName
|
|
DatLstEntry boardID, MyBoardID
|
|
OSLstEntry primaryInit, myPrimaryInit
|
|
OSLstEntry vendorInfo, myVendorInfo
|
|
|
|
DatLstEntry endOfList, 0
|
|
|
|
boardType
|
|
DC.W CatBoard ; category
|
|
DC.W TypBoard ; type
|
|
DC.W 0 ; driver sw ?
|
|
DC.W 0 ; driver hw ?
|
|
|
|
boardName DC.L 'Shoebill Phony Video'
|
|
|
|
myPrimaryInit
|
|
DC.L myPrimaryInit_end-myPrimaryInit
|
|
INCLUDE 'shoebill_video_primary_init.a'
|
|
myPrimaryInit_end EQU *
|
|
STRING C
|
|
|
|
myVendorInfo OSLstEntry VendorId, myVendorID
|
|
OSLstEntry RevLevel, myRevLevel
|
|
OSLstEntry PartNum, myPartNum
|
|
myVendorID DC.L 'Shoebill'
|
|
myRevLevel DC.L 'Rev-1'
|
|
myPartNum DC.L 'Moof'
|
|
|
|
|
|
; ---- Video sResource ----
|
|
|
|
sResourceVideo
|
|
OSLstEntry sRsrcType, myVideoType
|
|
OSLstEntry sRsrcName, myVideoName
|
|
OSLstEntry sRsrcDrvrDir, videoDriverDirectory
|
|
DatLstEntry sRsrcHWDevId, 1
|
|
; DatLstEntry sRsrcFlags, 4 ; f32BitMode (A/UX refuses to load the driver when field is included)
|
|
|
|
;OSLstEntry MinorBaseOS, myMinorBaseOS
|
|
;OSLstEntry MinorLength, myMinorLength
|
|
|
|
OSLstEntry MajorBaseOS, myMajorBaseOS
|
|
OSLstEntry MajorLength, myMajorLength
|
|
|
|
OSLstEntry OneBitMode, myOneBitMode
|
|
OSLstEntry TwoBitMode, myTwoBitMode
|
|
OSLstEntry FourBitMode, myFourBitMode
|
|
OSLstEntry EightBitMode, myEightBitMode
|
|
|
|
DatLstEntry endOfList, 0
|
|
|
|
myOneBitMode
|
|
OSLstEntry mVidParams, myVidParams_one
|
|
DatLstEntry mPageCnt, 1 ;
|
|
DatLstEntry mDevType, 0 ; 0 means "clutType" (indexed buffer)
|
|
DatLstEntry endOfList, 0
|
|
|
|
myTwoBitMode
|
|
OSLstEntry mVidParams, myVidParams_two
|
|
DatLstEntry mPageCnt, 1 ;
|
|
DatLstEntry mDevType, 0 ; 0 means "clutType" (indexed buffer)
|
|
DatLstEntry endOfList, 0
|
|
|
|
myFourBitMode
|
|
OSLstEntry mVidParams, myVidParams_four
|
|
DatLstEntry mPageCnt, 1 ;
|
|
DatLstEntry mDevType, 0 ; 0 means "clutType" (indexed buffer)
|
|
DatLstEntry endOfList, 0
|
|
|
|
myEightBitMode
|
|
OSLstEntry mVidParams, myVidParams_eight
|
|
DatLstEntry mPageCnt, 1 ;
|
|
DatLstEntry mDevType, 0 ; 0 means "clutType" (indexed buffer)
|
|
DatLstEntry endOfList, 0
|
|
|
|
myMinorBaseOS DC.L 0
|
|
myMinorLength DC.L $00040000
|
|
|
|
myMajorBaseOS DC.L 0 ; // the offset into the superslot space for video ram
|
|
myMajorLength DC.L $00F00000 ; // the maxsize of video ram
|
|
myVideoName DC.L 'Display_Video_Apple_Shoebill'
|
|
|
|
myVideoType
|
|
DC.W CatDisplay
|
|
DC.W TypVideo
|
|
DC.W DrSwApple ; implements the standard apple video driver api
|
|
DC.W $5403 ; FIXME: is this right?
|
|
|
|
videoDriverDirectory
|
|
OSLstEntry sMacOS68020, driver_020_start
|
|
DatLstEntry endOfList, 0
|
|
|
|
driver_020_start
|
|
DC.L driver_020_end-driver_020_start
|
|
INCLUDE 'shoebill_video_driver.a'
|
|
driver_020_end EQU *
|
|
; Cleanup any macros the driver code modified
|
|
STRING C
|
|
|
|
; ---- Format block ----
|
|
|
|
; Pad to align this structure with the end of the rom
|
|
ORG ROMSize-FormatBlockSize
|
|
|
|
; Offset to sResource directory
|
|
;OSLstEntry 0,sResourceDir
|
|
DC.L (sResourceDir-*)**$00FFFFFF
|
|
DC.L ROMSize
|
|
DC.L 0 ; CRC goes here
|
|
DC.B 1 ; Rom revision level
|
|
DC.B AppleFormat
|
|
DC.L TestPattern
|
|
DC.B 0 ; Reserved
|
|
DC.B $E1 ; Byte lanes 1110 0001 (LSB from CPU's perspective)
|
|
|
|
ENDP
|
|
|
|
END |