shoebill/core/video_rom/shoebill_video_rom.a

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