home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / amiga / opalvisn / devdocs.lha / Assembler / opallib.i next >
Encoding:
Text File  |  1993-05-05  |  6.7 KB  |  335 lines

  1.  
  2.  IFND    OPAL_I
  3. OPAL_I   SET     1
  4.  
  5.  IFND EXEC_TYPES_I
  6.  INCLUDE "exec/types.i"
  7.  ENDC
  8.  
  9.  IFND EXEC_LIBRARIES_I
  10.  INCLUDE "exec/libraries.i"
  11.  ENDC
  12.  
  13.  
  14.     LIBINIT
  15.  
  16.     LIBDEF    _LVOOpenScreen24
  17.     LIBDEF    _LVOCloseScreen24
  18.     LIBDEF    _LVOWritePixel24
  19.     LIBDEF    _LVOReadPixel24
  20.     LIBDEF    _LVOClearScreen24
  21.     LIBDEF    _LVOILBMtoOV
  22.     LIBDEF    _LVOUpdateDelay24
  23.     LIBDEF    _LVORefresh24
  24.     LIBDEF    _LVOSetDisplayBottom24
  25.     LIBDEF    _LVOClearDisplayBottom24
  26.     LIBDEF    _LVOSetSprite24
  27.     LIBDEF    _LVOAmigaPriority
  28.     LIBDEF    _LVOOVPriority
  29.     LIBDEF    _LVODualDisplay24
  30.     LIBDEF    _LVOSingleDisplay24
  31.     LIBDEF    _LVOAppendCopper24
  32.     LIBDEF    _LVORectFill24
  33.     LIBDEF    _LVOUpdateCoPro24
  34.     LIBDEF    _LVOSetControlBit24
  35.     LIBDEF    _LVOPaletteMap24
  36.     LIBDEF    _LVOUpdatePalette24
  37.     LIBDEF    _LVOScroll24
  38.     LIBDEF    _LVOLoadImage24
  39.     LIBDEF    _LVOSetScreen24
  40.     LIBDEF    _LVOSaveIFF24
  41.     LIBDEF    _LVOCreateScreen24
  42.     LIBDEF    _LVOFreeScreen24
  43.     LIBDEF    _LVOUpdateRegs24
  44.     LIBDEF    _LVOSetLoadAddress24
  45.     LIBDEF    _LVORGBtoOV
  46.     LIBDEF    _LVOActiveScreen24
  47.     LIBDEF    _LVOFadeIn24
  48.     LIBDEF    _LVOFadeOut24
  49.     LIBDEF    _LVOClearQuick24
  50.     LIBDEF    _LVOWriteThumbnail24
  51.     LIBDEF    _LVOSetRGB24
  52.     LIBDEF    _LVODrawLine24
  53.     LIBDEF    _LVOStopUpdate24
  54.     LIBDEF    _LVOWritePFPixel24
  55.     LIBDEF    _LVOWritePRPixel24
  56.     LIBDEF    _LVOOVtoRGB
  57.     LIBDEF    _LVOOVtoILBM
  58.     LIBDEF    _LVOUpdateAll24
  59.     LIBDEF    _LVOUpdatePFStencil24
  60.     LIBDEF    _LVOEnablePRStencil24
  61.     LIBDEF    _LVODisablePRStencil24
  62.     LIBDEF    _LVOClearPRStencil24
  63.     LIBDEF    _LVOSetPRStencil24
  64.     LIBDEF    _LVODisplayFrame24
  65.     LIBDEF    _LVOWriteFrame24
  66.     LIBDEF    _LVOBitPlanetoOV
  67.     LIBDEF    _LVOSetCoPro24
  68.     LIBDEF    _LVORegWait24
  69.     LIBDEF    _LVODualPlayField24
  70.     LIBDEF    _LVOSinglePlayField24
  71.     LIBDEF    _LVOClearPFStencil24
  72.     LIBDEF    _LVOSetPFStencil24
  73.     LIBDEF    _LVOReadPRPixel24
  74.     LIBDEF    _LVOReadPFPixel24
  75.     LIBDEF    _LVOOVtoBitPlane
  76.     LIBDEF    _LVOFreezeFrame24
  77.     LIBDEF    _LVOLowMemUpdate24
  78.     LIBDEF    _LVODisplayThumbnail24
  79.     LIBDEF    _LVOConfig24
  80.     LIBDEF    _LVOAutoSync24
  81.     LIBDEF    _LVODrawEllipse24
  82.     LIBDEF    _LVOLatchDisplay24
  83.     LIBDEF    _LVOSetHires24
  84.     LIBDEF    _LVOSetLores24
  85.     LIBDEF    _LVODownLoadFrame24
  86.     LIBDEF    _LVOSaveJPEG24
  87.     LIBDEF    _LVOLowMem2Update24
  88.     LIBDEF    _LVOLowMemRGB24
  89.     LIBDEF    _LVOAmosPatch24
  90.     LIBDEF    _LVOStartTransition24
  91.     LIBDEF    _LVOStopTransition24
  92.     LIBDEF    _LVOEnableZDStencil24
  93.     LIBDEF    _LVODisableZDStencil24
  94.     LIBDEF    _LVOAddOVLoader
  95.     LIBDEF    _LVOAddOVSaver
  96.     LIBDEF    _LVORemOVLoader
  97.     LIBDEF    _LVORemOVSaver
  98.     LIBDEF    _LVORemove_Lists
  99.     LIBDEF    _LVOGetOVLoaders
  100.     LIBDEF    _LVOGetOVSavers
  101.     LIBDEF    _LVOExport24
  102.  
  103.  
  104.  
  105. CALLOPAL    MACRO
  106.         move.l    _OpalBase,a6
  107.         jsr    _LVO\1(a6)
  108.         ENDM
  109.  
  110. OPALLIBNAME    MACRO
  111.         dc.b    "opal.library",0
  112.         EVEN
  113.         ENDM
  114.  
  115.  
  116.     STRUCTURE OpalLib,LIB_SIZE
  117.         ULONG    OL_SysLib
  118.         ULONG    OL_DosLib
  119.         ULONG    OL_SegList
  120.         UBYTE    OL_Flags
  121.         UBYTE    OL_pad
  122.         ULONG    OL_ActiveTask
  123.         LABEL    OpalLib_Sizeof
  124.  
  125.  
  126.     STRUCTURE    OS,0
  127.         UWORD    OS_Width
  128.         UWORD    OS_Height
  129.         UWORD    OS_Depth
  130.         WORD    OS_ClipX1
  131.         WORD    OS_ClipY1
  132.         WORD    OS_ClipX2
  133.         WORD    OS_ClipY2
  134.         WORD    OS_BytesPerLine
  135.         UWORD    OS_Flags
  136.         WORD    OS_RelX
  137.         WORD    OS_RelY
  138.         APTR    OS_UserPort
  139.         WORD    OS_MaxFrames
  140.         WORD    OS_VStart
  141.         WORD    OS_CoProOffset
  142.         WORD    OS_LastWait
  143.         WORD    OS_LastCoProIns
  144.         STRUCT    OS_BitPlanes,24*4
  145.         LONG    OS_MaskPlane
  146.         LONG    OS_AddressReg
  147.         UBYTE    OS_UpdateRate
  148.         UBYTE    OS_PalLoadAddress
  149.         UBYTE    OS_PixelReadMask
  150.         UBYTE    OS_CommandReg
  151.         STRUCT    OS_Palette,3*256
  152.         UBYTE    OS_Pen_R
  153.         UBYTE    OS_Pen_G
  154.         UBYTE    OS_Pen_B
  155.         UBYTE    OS_Red
  156.         UBYTE    OS_Green
  157.         UBYTE    OS_Blue
  158.         STRUCT    OS_CoProData,290
  159.         UWORD    OS_Modulo
  160.         STRUCT    OS_Reserved,38
  161.         STRUCT    OS_CopList_Cycle,12*4
  162.         UBYTE    OS_Update_Cycles
  163.         UBYTE    OS_Pad
  164.     LABEL    OS_SIZEOF
  165.  
  166.  
  167.  
  168. MAXCOPROINS    EQU    290    ;Number of CoPro instructions
  169. OVMODULO    EQU    371    ;Don't use this, use OS_Modulo
  170.  
  171.  
  172. ;OpenScreen24 flags
  173.  
  174. HIRES24        EQU    $1
  175. ILACE24        EQU    $2
  176. OVERSCAN24    EQU    $4
  177. NTSC24        EQU    $8    ;Not user definable
  178. CLOSEABLE24    EQU    $10
  179. PLANES8        EQU    $20
  180. PLANES15    EQU    $40
  181. CONTROLONLY24    EQU    $2000
  182. PALMAP24    EQU    $4000    ;Screen is in palette mapped mode
  183. INCHIP24    EQU    $8000    ;Not user definable
  184.  
  185. FLAGSMASK24    EQU  CONTROLONLY24!PALMAP24!CLOSEABLE24!PLANES8!PLANES15!OVERSCAN24!ILACE24!HIRES24
  186.  
  187.  
  188. HIRES24B    EQU    0
  189. ILACE24B    EQU    1
  190. OVERSCAN24B    EQU    2
  191. NTSC24B        EQU    3
  192. CLOSEABLE24B    EQU    4
  193. PLANES8B    EQU    5
  194. PLANES15B    EQU    6
  195. CONTROLONLY24B    EQU    13
  196. PALMAP24B    EQU    14
  197. INCHIP24B    EQU    15
  198.  
  199. ;LoadImage24 Flags
  200.  
  201. FORCE24        EQU    1    ;Force conversion of palette mapped to 24 bit.
  202. KEEPRES24    EQU    2    ;Keep the current screen resolution.
  203. LOADMASK24    EQU    4    ;Load mask plane if it exists.
  204. VIRTUALSCREEN24    EQU    8    ;Load complete image into fast ram.
  205.  
  206. ;SaveIFF24 Flags
  207.  
  208. OVFASTFORMAT    EQU    1    ;Save as opalvision fast format.
  209. NOTHUMBNAIL    EQU    4    ;Inhibit thumbnail chunk.
  210. SAVEMASK24    EQU    8    ;Don't save MaskPlane with image.
  211.  
  212. ;Config Flags
  213.  
  214. OVCF_OPALVISION    EQU    1    ;Display board is an OpalVision
  215. OVCF_COLORBURST    EQU    2    ;Display board is a ColorBurst
  216.  
  217. ;Coprocessor bits.
  218.  
  219. ADDLOAD        EQU    $80
  220. PRISTENCIL    EQU    $40
  221. OVPRI        EQU    $20
  222. DUALDISPLAY    EQU    $10
  223. HIRESDISP    EQU    $08
  224. DISPLAYBANK2    EQU    $04
  225. VIDMODE1    EQU    $02
  226. VIDMODE0    EQU    $01
  227.  
  228. ADDLOAD_B    EQU    7
  229. PRISTENCIL_B    EQU    6
  230. OVPRI_B        EQU    5
  231. DUALDISPLAY_B    EQU    4
  232. HIRESDISP_B    EQU    3
  233. DISPLAYBANK2_B    EQU    2
  234. VIDMODE1_B    EQU    1
  235. VIDMODE0_B    EQU    0
  236.  
  237.  
  238. ;Control line bits
  239.  
  240. VALID0        EQU    $00001
  241. VALID1        EQU    $00002
  242. VALID2        EQU    $00004
  243. VALID3        EQU    $00008
  244. WREN        EQU    $00010
  245. COL_COPRO    EQU    $00020
  246. AUTO        EQU    $00040
  247. DUALPLAYFIELD    EQU    $00080
  248. FIELD        EQU    $00100
  249. AUTOFIELD    EQU    $00200
  250. DISPLAYLATCH    EQU    $00400
  251. FRAMEGRAB    EQU    $00800
  252. RWR1        EQU    $01000
  253. RWR2        EQU    $02000
  254. GWR1        EQU    $04000
  255. GWR2        EQU    $08000
  256. BWR1        EQU    $10000
  257. BWR2        EQU    $20000
  258. VLSIPROG    EQU    $40000
  259. FREEZEFRAME    EQU    $80000
  260.  
  261. VALID0_B    EQU    0
  262. VALID1_B    EQU    1
  263. VALID2_B    EQU    2
  264. VALID3_B    EQU    3
  265. WREN_B        EQU    4
  266. COL_COPRO_B    EQU    5
  267. AUTO_B        EQU    6
  268. DUALPLAYFIELD_B    EQU    7
  269. FIELD_B        EQU    8
  270. AUTOFIELD_B    EQU    9
  271. DISPLAYLATCH_B    EQU    10
  272. FRAMEGRAB_B    EQU    11
  273. RWR1_B        EQU    12
  274. RWR2_B        EQU    13
  275. GWR1_B        EQU    14
  276. GWR2_B        EQU    15
  277. BWR1_B        EQU    16
  278. BWR2_B        EQU    17
  279. VLSIPROG_B    EQU    18
  280. FREEZEFRAME_B    EQU    19
  281.  
  282. NUMCONTROLBITS    EQU    20
  283.  
  284. VALID        EQU    %0101
  285.  
  286. ;  The following bits are for genlock/framegrabber
  287. ;control. These bits occupy the MSB's of the 
  288. ;load addresss register.
  289.  
  290. FRAMEGRABSOURCE0    EQU    $020000    ;FGS0. 0=RGB, 1=Decoded input.
  291. GENLOCKINPUTSEL0    EQU    $040000    ;0 = Composite, 1=S-VHS
  292. GENLOCKINPUTSEL1    EQU    $080000    ;0 = RGB, 1=Decoded from above (GIS0).
  293. GENLOCKOUTPUTSEL0    EQU    $100000    ;0 = Composite, 1=S-VHS
  294. GENLOCKMODE0        EQU    $200000    ;See below.
  295. GENLOCKMODE1        EQU    $400000    ;See below.
  296. SOURCESELECT        EQU    $800000    ;0 = Live vide0, 1 = Opal output
  297.  
  298.  
  299. FRAMEGRABSOURCE0_B    EQU    17
  300. GENLOCKINPUTSEL0_B    EQU    18
  301. GENLOCKINPUTSEL1_B    EQU    19
  302. GENLOCKOUTPUTSEL0_B    EQU    20
  303. GENLOCKMODE0_B        EQU    21
  304. GENLOCKMODE1_B        EQU    22
  305. SOURCESELECT_B        EQU    23
  306.  
  307.  
  308.  
  309. ;Genlock Switch Mode select bits.
  310. ;    00 - Amiga Zero Detect
  311. ;    01 - Unused.
  312. ;    10 - Alpha chanel
  313. ;    11 - Use Source select.
  314.  
  315.  
  316. ;Error codes.
  317.  
  318. OL_ERR_OUTOFMEM        EQU    1
  319. OL_ERR_OPENFILE        EQU    2
  320. OL_ERR_NOTIFF        EQU    3
  321. OL_ERR_FORMATUNKNOWN    EQU    3
  322. OL_ERR_NOTILBM        EQU    4
  323. OL_ERR_FILEREAD        EQU    5
  324. OL_ERR_FILEWRITE    EQU    6
  325. OL_ERR_BADIFF        EQU    7
  326. OL_ERR_CANTCLOSE    EQU    8
  327. OL_ERR_OPENSCREEN    EQU    9
  328. OL_ERR_NOTHUMBNAIL    EQU    10
  329. OL_ERR_BADJPEG        EQU    11
  330. OL_ERR_UNSUPPORTED    EQU    12
  331. OL_ERR_CTRLC        EQU    13
  332. OL_ERR_MAXERR        EQU    40
  333.  
  334.  ENDC
  335.