2021-12-21 07:26:30 +00:00
|
|
|
.include "atrap.inc"
|
|
|
|
.include "globals.inc"
|
|
|
|
.include "declrom.inc"
|
|
|
|
|
|
|
|
.include "ROMDefs.inc"
|
|
|
|
.include "Video.inc"
|
|
|
|
.include "DepVideo.inc"
|
|
|
|
|
|
|
|
sRsrc_Board = 1 /* board sResource (>0 & <128) */
|
2022-09-17 15:06:15 +00:00
|
|
|
.include "VidRomDef.s"
|
2022-09-17 12:44:26 +00:00
|
|
|
sRsrc_RAMDsk = 0x90 /* functional sResources */
|
2023-01-08 14:11:22 +00:00
|
|
|
sRsrc_HDMIAudio = 0xA0 /* functional sResources */
|
2022-10-06 21:28:07 +00:00
|
|
|
|
|
|
|
.global DeclROMDir
|
|
|
|
|
|
|
|
.section .text.begin
|
2021-12-21 07:26:30 +00:00
|
|
|
|
2022-09-17 15:06:15 +00:00
|
|
|
.include "VidRomRsrcDir.s"
|
2021-12-21 07:26:30 +00:00
|
|
|
|
2022-10-06 21:28:07 +00:00
|
|
|
.global _sRsrc_Board
|
2021-12-21 07:26:30 +00:00
|
|
|
_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) */
|
2022-10-06 21:28:07 +00:00
|
|
|
/* OSLstEntry primaryInit,_sPInitRec */ /* offset to PrimaryInit exec blk */
|
|
|
|
.long entry_sPInitRec
|
2021-12-21 07:26:30 +00:00
|
|
|
OSLstEntry vendorInfo,_VendorInfo /* offset to vendor info record */
|
2022-10-06 21:28:07 +00:00
|
|
|
/* OSLstEntry secondaryInit,_sSInitRec */ /* offset to SecondaryInit block */
|
|
|
|
.long entry_sSInitRec
|
2022-09-17 12:44:26 +00:00
|
|
|
OSLstEntry sRsrcVidNames, _VModeName /* video name directory */
|
2021-12-21 07:26:30 +00:00
|
|
|
.long EndOfList
|
|
|
|
|
|
|
|
_BoardType:
|
|
|
|
.short catBoard /* board sResource */
|
2022-02-05 14:32:44 +00:00
|
|
|
.short typeBoard
|
2021-12-21 07:26:30 +00:00
|
|
|
.short 0
|
|
|
|
.short 0
|
|
|
|
|
2022-02-05 14:32:44 +00:00
|
|
|
_BoardName:
|
2022-06-07 21:05:08 +00:00
|
|
|
.string "NuBusFPGA GoboFB\0" /* name of board */
|
2022-02-05 14:32:44 +00:00
|
|
|
ALIGN 2
|
2021-12-21 07:26:30 +00:00
|
|
|
|
|
|
|
/* _VidICON ; optional icon, not needed */
|
|
|
|
/* _sVidNameDir ; optional name(s), not needed */
|
|
|
|
|
2022-10-06 21:28:07 +00:00
|
|
|
.section .text.primary_init
|
|
|
|
/* _sPInitRec: */
|
|
|
|
/* .long _EndsPInitRec-_sPInitRec */ /* physical block size */
|
|
|
|
.long size_sPInitRec
|
2022-10-06 21:34:54 +00:00
|
|
|
.byte sExec2 /* Code revision (Primary init) */
|
|
|
|
.byte sCPU68020 /* CPU type is 68020 */
|
|
|
|
.short 0 /* Reserved */
|
|
|
|
.long Primary-. /* Offset to C code. */
|
2021-12-21 07:26:30 +00:00
|
|
|
ALIGN 2
|
2022-10-06 21:28:07 +00:00
|
|
|
/* _EndsPInitRec: */
|
2021-12-21 07:26:30 +00:00
|
|
|
|
2022-10-06 21:28:07 +00:00
|
|
|
.section .text.secondary_init
|
|
|
|
/* _sSInitRec: */
|
|
|
|
/* .long _EndsSInitRec-_sSInitRec */ /* physical block size */
|
|
|
|
.long size_sSInitRec
|
2022-10-06 21:34:54 +00:00
|
|
|
.byte sExec2 /* Code revision (Primary init) */
|
|
|
|
.byte sCPU68020 /* CPU type is 68020 */
|
|
|
|
.short 0 /* Reserved */
|
|
|
|
.long Secondary-. /* Offset to C code. */
|
2022-04-17 09:25:48 +00:00
|
|
|
ALIGN 2
|
2022-10-06 21:28:07 +00:00
|
|
|
/* _EndsSInitRec: */
|
|
|
|
|
|
|
|
.section .text.begin
|
2022-02-05 14:32:44 +00:00
|
|
|
ALIGN 2
|
2021-12-21 07:26:30 +00:00
|
|
|
_VendorInfo:
|
|
|
|
OSLstEntry vendorId,_VendorId /* offset to vendor ID */
|
2022-02-05 14:32:44 +00:00
|
|
|
OSLstEntry serialNum,_SerialNum /* offset to revision */
|
2021-12-21 07:26:30 +00:00
|
|
|
OSLstEntry revLevel,_RevLevel /* offset to revision */
|
|
|
|
OSLstEntry partNum,_PartNum /* offset to part number record */
|
|
|
|
OSLstEntry date,_Date /* offset to ROM build date */
|
|
|
|
.long EndOfList
|
|
|
|
|
|
|
|
_VendorId:
|
2022-02-05 14:32:44 +00:00
|
|
|
.string "Romain Dolbeau\0" /* vendor ID */
|
|
|
|
_SerialNum:
|
|
|
|
.string "0000000001\0" /* serial number */
|
2021-12-21 07:26:30 +00:00
|
|
|
_RevLevel:
|
2022-02-05 14:32:44 +00:00
|
|
|
.string "NuBusFPGA V1.0\0" /* revision level */
|
2021-12-21 07:26:30 +00:00
|
|
|
_PartNum:
|
2022-02-05 14:32:44 +00:00
|
|
|
.string "Part Number\0" /* part number */
|
2021-12-21 07:26:30 +00:00
|
|
|
_Date:
|
2022-02-05 14:32:44 +00:00
|
|
|
.string "&SysDate" /* date */
|
2021-12-21 07:26:30 +00:00
|
|
|
|
2022-09-17 15:06:15 +00:00
|
|
|
.include "VidRomName.s" /* contains _VidName */
|
2021-12-21 07:26:30 +00:00
|
|
|
|
2022-09-17 15:06:15 +00:00
|
|
|
.include "VidRomDir.s"
|
2022-09-17 12:44:26 +00:00
|
|
|
|
2022-02-05 14:32:44 +00:00
|
|
|
ALIGN 2
|
2022-06-07 21:05:08 +00:00
|
|
|
_GoboFBType:
|
2021-12-21 07:26:30 +00:00
|
|
|
.short catDisplay /* <Category> */
|
|
|
|
.short typeVideo /* <Type> */
|
|
|
|
.short drSwApple /* <DrvrSw> */
|
|
|
|
.short DrHwNuBusFPGA /* <DrvrHw> */
|
|
|
|
|
2022-06-07 21:05:08 +00:00
|
|
|
_GoboFBName:
|
|
|
|
.string "GoboFB_NuBusFPGA" /* video driver name */
|
|
|
|
|
2021-12-21 07:26:30 +00:00
|
|
|
_MinorBase:
|
|
|
|
.long defMinorBase /* frame buffer offset */
|
|
|
|
_MinorLength:
|
|
|
|
.long defMinorLength /* frame buffer length */
|
|
|
|
|
2022-02-05 14:32:44 +00:00
|
|
|
ALIGN 2
|
2022-10-06 21:28:07 +00:00
|
|
|
.section .text.begin
|
|
|
|
.global _GoboFBDrvrDir
|
2022-06-07 21:05:08 +00:00
|
|
|
_GoboFBDrvrDir:
|
2022-10-06 21:28:07 +00:00
|
|
|
/* OSLstEntry sMacOS68020,_GoboFBDrvrMacOS68020 */ /* driver directory for Mac OS */
|
|
|
|
.long entry_GoboFBDrvrMacOS68020
|
2022-02-05 14:32:44 +00:00
|
|
|
.long EndOfList
|
|
|
|
|
|
|
|
ALIGN 2
|
2022-10-06 21:28:07 +00:00
|
|
|
.section .text.fbdriver_init
|
|
|
|
/* _GoboFBDrvrMacOS68020: */ /* supplied by linker script */
|
2022-06-07 21:05:08 +00:00
|
|
|
.long _GoboFBEnd020Drvr-. /* physical block size */
|
2022-02-05 14:32:44 +00:00
|
|
|
.include "NuBusFPGADrvr.s" /* driver code */
|
2022-10-06 21:28:07 +00:00
|
|
|
/* _GoboFBEnd020Drvr: */ /* supplied by linker script */
|
|
|
|
|
|
|
|
.section .text.begin
|
2022-09-17 15:06:15 +00:00
|
|
|
.include "VidRomRes.s"
|
2022-09-17 12:44:26 +00:00
|
|
|
|
2022-10-06 21:28:07 +00:00
|
|
|
.section .text.begin
|
2022-06-07 21:05:08 +00:00
|
|
|
ALIGN 2
|
|
|
|
_sRsrc_RAMDsk:
|
|
|
|
OSLstEntry sRsrcType,_RAMDskType /* video type descriptor */
|
|
|
|
OSLstEntry sRsrcName,_RAMDskName /* offset to driver name string */
|
|
|
|
OSLstEntry sRsrcDrvrDir,_RAMDskDrvrDir /* offset to driver directory */
|
|
|
|
DatLstEntry sRsrcFlags,6 /* force 32 bits mode & open */
|
|
|
|
DatLstEntry sRsrcHWDevId,2 /* hardware device ID */
|
|
|
|
.long EndOfList /* end of list */
|
|
|
|
|
|
|
|
ALIGN 2
|
|
|
|
_RAMDskType:
|
|
|
|
.short catProto /* <Category> */
|
|
|
|
.short typeDrive /* custom */ /* <Type> */
|
|
|
|
.short drSwApple /* <DrvrSw> */
|
|
|
|
.short DrHwNuBusFPGADsk /* <DrvrHw> */
|
|
|
|
|
|
|
|
_RAMDskName:
|
|
|
|
.string "RAMDsk_NuBusFPGA" /* video driver name */
|
|
|
|
|
|
|
|
ALIGN 2
|
2022-10-06 21:28:07 +00:00
|
|
|
.section .text.begin
|
|
|
|
.global _RAMDskDrvrDir
|
2022-06-07 21:05:08 +00:00
|
|
|
_RAMDskDrvrDir:
|
2022-10-06 21:28:07 +00:00
|
|
|
/* OSLstEntry sMacOS68020,_RAMDskDrvrMacOS68020 */ /* driver directory for Mac OS */
|
|
|
|
.long entry_RAMDskDrvrMacOS68020
|
2022-06-07 21:05:08 +00:00
|
|
|
.long EndOfList
|
|
|
|
|
|
|
|
ALIGN 2
|
2022-10-06 21:28:07 +00:00
|
|
|
.section .text.dskdriver_init
|
|
|
|
/* _RAMDskDrvrMacOS68020: */ /* supplied by linker script */
|
2022-06-07 21:05:08 +00:00
|
|
|
.long _RAMDskEnd020Drvr-. /* physical block size */
|
|
|
|
.include "NuBusFPGARAMDskDrvr.s" /* driver code */
|
2022-10-06 21:28:07 +00:00
|
|
|
/* _RAMDskEnd020Drvr: */ /* supplied by linker script */
|
|
|
|
|
2022-06-07 21:05:08 +00:00
|
|
|
|
2023-01-08 14:11:22 +00:00
|
|
|
.section .text.begin
|
|
|
|
ALIGN 2
|
|
|
|
_sRsrc_HDMIAudio:
|
|
|
|
OSLstEntry sRsrcType,_HDMIAudioType /* video type descriptor */
|
|
|
|
.long EndOfList /* end of list */
|
|
|
|
|
|
|
|
ALIGN 2
|
|
|
|
_HDMIAudioType:
|
|
|
|
.short catProto /* <Category> */
|
|
|
|
.short typeAudio /* custom */ /* <Type> */
|
|
|
|
.short drSwApple /* <DrvrSw> */
|
|
|
|
.short DrHwNuBusFPGAAudio /* <DrvrHw> */
|
|
|
|
|
|
|
|
|
2022-10-06 21:28:07 +00:00
|
|
|
/* Declaration ROM directory at end */
|
|
|
|
.section .romblock
|
|
|
|
ALIGN 2
|
|
|
|
DeclROMDir:
|
|
|
|
.long RsrcDirOffset /* supplied by linker script, replace OSLstEntry 0, _sRsrcDir */
|
|
|
|
DeclROMCRC:
|
|
|
|
.long ROMSize /* supplied by linker script */
|
|
|
|
.long 0 /* crc TBComputed after the fact */
|
|
|
|
.byte 1 /* Revision Level */
|
|
|
|
.byte appleFormat /* Apple Format */
|
|
|
|
.long testPattern /* magic TestPattern */
|
|
|
|
.byte 0 /* reserved */
|
|
|
|
.byte 0x0F /* byte lane marker */
|
|
|
|
DeclRomEnd:
|
|
|
|
.end
|