mirror of
https://github.com/rdolbeau/NuBusFPGA.git
synced 2024-12-24 23:29:58 +00:00
1 line
7.7 KiB
Plaintext
1 line
7.7 KiB
Plaintext
;Include files
|
|
PRINT OFF
|
|
INCLUDE 'SysErr.a' ;Macintosh System equates
|
|
INCLUDE 'SysEqu.a' ;Macintosh System equates
|
|
INCLUDE 'ROMEqu.a' ;Declaration ROM equates
|
|
INCLUDE 'SlotEqu.a' ;Slot Manager equates and macros
|
|
INCLUDE 'TimeEqu.a' ;Macintosh traps
|
|
INCLUDE 'Traps.a' ;Macintosh traps
|
|
INCLUDE 'VideoEqu.a' ;Video driver equates
|
|
INCLUDE 'DepVideoEqu.a'
|
|
PRINT ON
|
|
MACHINE MC68020
|
|
DclROM MAIN
|
|
|
|
sRsrc_Board EQU 1 ; board sResource (>0 & <128)
|
|
sRsrc_VidS8 EQU $80 ; functional sResources
|
|
|
|
_sRsrcDir
|
|
OSLstEntry sRsrc_Board,_sRsrc_Board ; board sRsrc List
|
|
OSLstEntry sRsrc_VidS8,_sRsrc_VidS8 ; video sRsrc List
|
|
DatLstEntry EndOfList,0 ; end of list
|
|
|
|
STRING C
|
|
_sRsrc_Board
|
|
OSLstEntry sRsrcType,_BoardType ; offset to board descriptor
|
|
OSLstEntry sRsrcName,_BoardName ; offset to name of board
|
|
DatLstEntry boardId,NuBusFPGAID ; board ID # (assigned by DTS)
|
|
OSLstEntry PrimaryInit,_sPInitRec ; offset to PrimaryInit exec blk
|
|
OSLstEntry VendorInfo,_VendorInfo ; offset to vendor info record
|
|
;OSLstEntry SecondaryInit,_sSInitRec ; offset to SecondaryInit block
|
|
DatLstEntry EndOfList,0 ; end of list
|
|
|
|
_BoardType
|
|
DC.W CatBoard ; board sResource
|
|
DC.W TypBoard
|
|
DC.W 0
|
|
DC.W 0
|
|
|
|
_BoardName
|
|
DC.L 'SBusFPGA Video' ; name of board
|
|
|
|
; _VidICON ; optional icon, not needed
|
|
; _sVidNameDir ; optional name(s), not needed
|
|
|
|
|
|
_sPInitRec
|
|
DC.L _EndsPInitRec-_sPInitRec ; physical block size
|
|
INCLUDE 'NuBusFPGAPrimaryInit.a' ; the header/code
|
|
ALIGN 2
|
|
_EndsPInitRec
|
|
|
|
;_sSInitRec
|
|
; DC.L _EndsSInitRec-_sSInitRec ; physical block size
|
|
; INCLUDE 'NuBusFPGASecondaryInit.a' ; the header/code
|
|
; ALIGN 2
|
|
;_EndsSInitRec
|
|
|
|
STRING C
|
|
_VendorInfo
|
|
OSLstEntry VendorId,_VendorId ; offset to vendor ID
|
|
OSLstEntry RevLevel,_RevLevel ; offset to revision
|
|
OSLstEntry PartNum,_PartNum ; offset to part number record
|
|
OSLstEntry Date,_Date ; offset to ROM build date
|
|
DatLstEntry EndOfList,0
|
|
_VendorId
|
|
DC.L 'Romain Dolbeau' ; vendor ID
|
|
_RevLevel
|
|
DC.L 'NuBusFPGA V1.0' ; revision level
|
|
_PartNum
|
|
DC.L 'Part Number' ; part number
|
|
_Date
|
|
DC.B '&SysDate' ; date
|
|
|
|
_sRsrc_VidS8
|
|
OSLstEntry sRsrcType,_VideoType ; video type descriptor
|
|
OSLstEntry sRsrcName,_VideoName ; offset to driver name string
|
|
; OSLstEntry sRsrcDrvrDir,_VidDrvrDir ; offset to driver directory
|
|
DatLstEntry sRsrcHWDevId,1 ; hardware device ID
|
|
OSLstEntry MinorBaseOS,_MinorBase ; offset to frame buffer array
|
|
OSLstEntry MinorLength,_MinorLength ; offset to frame buffer length
|
|
OSLstEntry sGammaDir,_GammaDirS ; directory for 640x480 monitor
|
|
; Parameters
|
|
OSLstEntry FirstVidMode,_EBMs ; offset to EightBitMode parms
|
|
DatLstEntry EndOfList,0 ; end of list
|
|
|
|
STRING C
|
|
_VideoType
|
|
DC.W CatDisplay ; <Category>
|
|
DC.W TypVideo ; <Type>
|
|
DC.W DrSwApple ; <DrvrSw>
|
|
DC.W DrHwNuBusFPGA ; <DrvrHw>
|
|
|
|
_VideoName
|
|
DC.L 'Video_NuBusFPGA' ; video driver name
|
|
_MinorBase
|
|
DC.L defMinorBase ; frame buffer offset
|
|
_MinorLength
|
|
DC.L defMinorLength ; frame buffer length
|
|
|
|
;_VidDrvrDir
|
|
; OSLstEntry sMacOS68020,_sMacOS68020 driver directory for Mac OS
|
|
; DatLstEntry EndOfList,0
|
|
;
|
|
;_sMacOS68020
|
|
; DC.L _End020Drvr- sMacOS68020 ; physical block size
|
|
; INCLUDE 'NuBusFPGADrvr.a' ; driver code
|
|
;_End020Drvr
|
|
|
|
|
|
STRING C
|
|
|
|
_GammaDirS ; for the 640x480 monitor
|
|
OSLstEntry 128,_SmallGamma
|
|
DatLstEntry EndOfList,0
|
|
|
|
_SmallGamma
|
|
DC.L _EndSmallGamma-_SmallGamma
|
|
DC.W SGammaResID
|
|
DC.B 'Small Gamma' ; Monitors name
|
|
ALIGN 2
|
|
DC.W $0000 ; gVersion
|
|
DC.W DrHwNuBusFPGA ; gType
|
|
DC.W $0000 ; gFormulaSize
|
|
DC.W $0001 ; gChanCnt
|
|
DC.W $0100 ; gDataCnt
|
|
DC.W $0008 ; gChanWidth
|
|
DC.L $0005090B,$0E101315,$17191B1D,$1E202224
|
|
DC.L $2527282A,$2C2D2F30,$31333436,$37383A3B
|
|
DC.L $3C3E3F40,$42434445,$4748494A,$4B4D4E4F
|
|
DC.L $50515254,$55565758,$595A5B5C,$5E5F6061
|
|
DC.L $62636465,$66676869,$6A6B6C6D,$6E6F7071
|
|
DC.L $72737475,$76777879,$7A7B7C7D,$7E7F8081
|
|
DC.L $81828384,$85868788,$898A8B8C,$8C8D8E8F
|
|
DC.L $90919293,$94959596,$9798999A,$9B9B9C9D
|
|
DC.L $9E9FA0A1,$A1A2A3A4,$A5A6A6A7,$A8A9AAAB
|
|
DC.L $ABACADAE,$AFB0B0B1,$B2B3B4B4,$B5B6B7B8
|
|
DC.L $B8B9BABB,$BCBCBDBE,$BFC0C0C1,$C2C3C3C4
|
|
DC.L $C5C6C7C7,$C8C9CACA,$CBCCCDCD,$CECFD0D0
|
|
DC.L $D1D2D3D3,$D4D5D6D6,$D7D8D9D9,$DADBDCDC
|
|
DC.L $DDDEDFDF,$E0E1E1E2,$E3E4E4E5,$E6E7E7E8
|
|
DC.L $E9B9EAEB,$ECECEDEE,$EEEFF0F1,$F1F2F3F3
|
|
DC.L $F4F5F5F6,$F7F8F8F9,$FAFAFBFC,$FCFDFEFF
|
|
_EndSmallGamma
|
|
|
|
_EBMs
|
|
OSLstEntry mVidParams,_EBVParms ; offset to vid parameters
|
|
DatLstEntry mPageCnt,Pages8s ; number of video pages
|
|
DatLstEntry mDevType,defmDevType ; device type
|
|
DatLstEntry EndOfList,0 ; end of list
|
|
_EBVParms
|
|
DC.L _EndEBVParms-_EBVParms ; physical block size
|
|
DC.L defmBaseOffset ; QuickDraw base offset ; vpBaseOffset
|
|
DC.W RB8s ; physRowBytes ; vpRowBytes
|
|
DC.W defmBounds_Ts,defmBounds_Ls,defmBounds_Bs,defmBounds_Rs ; vpBounds
|
|
DC.W defVersion ; bmVersion ; vpVersion
|
|
DC.W 0 ; packType not used ; vpPackType
|
|
DC.L 0 ; packSize not used ; vpPackSize
|
|
DC.L defmHRes ; bmHRes
|
|
DC.L defmVRes ; bmVRes
|
|
DC.W ChunkyIndexed ; bmPixelType
|
|
DC.W 8 ; bmPixelSize
|
|
DC.W 1 ; bmCmpCount
|
|
DC.W 8 ; bmCmpSize
|
|
DC.L defmPlaneBytes ; bmPlaneBytes
|
|
|
|
_EndEBVParms
|
|
|
|
WITH FHeaderRec
|
|
ORG ROMSize-FHeaderRec.fhBlockSize
|
|
DC.L (_sRsrcDir-*)**$00FFFFFF ;offset to sResource directory
|
|
DC.L ROMSize ;length of declaration data
|
|
DC.L 0 ;CRC {Patched by crcPatch}
|
|
DC.B 2 ;revision (1-9)
|
|
DC.B AppleFormat ; format
|
|
DC.L TestPattern ;test pattern
|
|
DC.B 0 ;reserved byte
|
|
DC.B $0F ;ByteLanes: 1111 0001
|
|
ENDWITH
|
|
|
|
END
|
|
|