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