PLAYDAM.H 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. #ifndef _PLAYDAM_H_INCLUDED
  2. /*
  3. ÉÍÍÍÍÍÍÍÍÍÍÍÍ»
  4. º AUTOHEADER º
  5. ÌÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  6. º Filename PLAYDAM.H º
  7. ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
  8. º Creation 11/5/1995 º
  9. ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
  10. º º
  11. º Updated: Fri 20/10/1995 18:59 º
  12. º º
  13. º Version: 1.080 º
  14. º º
  15. ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  16. */
  17. //this file is the same as damlink.i to wasm
  18. #include "sos.h"
  19. #ifdef __cplusplus
  20. extern "C" {
  21. #endif
  22. typedef struct _PlayAnimBlock { // Used by InitAnim, StartAnim,StopAnim
  23. char * FileName; // address of a file name (term in zero)
  24. char * DrvPath; // driver path 0 = current CD used if player is opening SOS
  25. // if not null must end in '\', 0
  26. unsigned char * MemBlock;// approx 2meg in size
  27. long int MemBlockSize; // if 2meg then set to 2meg
  28. long int DIGIHandle_SOS;// PAF_NotOpened = no sound
  29. _SOS_CAPABILITIES * DriveCap_SOS; // pointer to drive capability struc
  30. long int Flags; // see PAF_??
  31. void * CallBack; // Callback address 0=no callback see below
  32. short int FadeIn; // 0=no fade (1=slow 64=VFast)
  33. short int FadeOut; // 0=no fade
  34. short int DelayExit; // hold last frame (ticks)
  35. // screen defs are used by StartAnim, not InitAnim
  36. // Screen mode if none 0 should be able to display GDV colour count
  37. // see GDV_Header after InitAnim
  38. // note on this version BytesPerScan must match ScreenXSize
  39. short int Screen; // VGA mode or VESA 0=Auto, 0x13=VGA, 0x101=VESA (BIT 9 set)
  40. // 0x8000 = ModeX 320x200 : 0x8001 ModeX 320x400
  41. unsigned char ScreenWindow;// 0=UseWin(A) 1=UseWin(A+B)
  42. unsigned char ScreenGran;// used by vesa modes (will auto detect if 0)
  43. // this values = calc as (64/VESA_Gran)
  44. short int ScreenXSize;
  45. short int ScreenYSize;
  46. short int ScreenPage; // mode X current page
  47. long int SNDID; // e000?
  48. long int SNDPort; // 0x220
  49. long int SNDIRQ; // 0x5
  50. long int SNDDMA; // 0x1
  51. long int SNDPara; // 0x0
  52. long int FrameSize; // These are filled in by InitANIM for info before you start the anim
  53. long int ManyRead; // many frames ..
  54. long int SampleSize; // adjusted for stereo and 16bit
  55. void * GDV_Header; // pointer to this GDV header
  56. } _PlayAnimBlock;
  57. //#define PAF_Abort 0x001 // key + mouse stops anim USE CallBack CBX_Abort
  58. #define PAF_UseTOD 0x002 // use TOD, no sound
  59. #define PAF_NoINT 0x004 // overrides UseTOD uses no IRQs at all (Test debug)
  60. #define PAF_LoopPlay 0x008 // No end... (does not work with NoINT)
  61. #define PAF_NoAudio 0x010 // turn off sound
  62. #define PAF_Interlace 0x020
  63. #define PAF_UseModeX 0x040 // Only needed if PlayAnimBlock.screen=0
  64. #define PAF_DontClip 0x080 // If picture dont fit on y uses every other scan
  65. // used for playing MODEX_HI on MODEX_LO
  66. #define PAF_ClearScreen 0x0100 // Force it to clear all the screen prior
  67. // Start Anim, else will clear anim area only
  68. // in the case of mode X clears both pages
  69. #define PAF_NotOpened 0x0DEAD // DIGIHandle_SOS = not opened
  70. //PAE_Errors ....return from InitAnim and StartAnim...
  71. #define PAE_NoError 0x00
  72. //system
  73. #define PAE_NoInit 0x001
  74. //memory
  75. #define PAE_BadMemoryDEF 0x010
  76. #define PAE_NoMemory 0x011
  77. #define PAE_BuffTooSmall 0x012
  78. //read
  79. #define PAE_FileNotFound 0x020
  80. //header
  81. #define PAE_BadFileRead1 0x021
  82. //frame head + sample
  83. #define PAE_BadFileRead2 0x022
  84. //pack data
  85. #define PAE_BadFileRead3 0x023
  86. //data
  87. #define PAE_MAGICNotFound 0x030
  88. #define PAE_MAGICNotFound2 0x031
  89. #define PAE_PackSizeTooBig 0x032
  90. //SOS
  91. #define PAE_SOS_Error 0x080000000
  92. //and it 0x7ffffff and call SOSErrorString
  93. // your callback macros =
  94. //
  95. // long int CallBack ( long int CBM_???mode,
  96. // gdv_header *,
  97. // void * PictureData,
  98. // short int FrameNo)
  99. //
  100. // return (CBX_???) // see below for types..
  101. //
  102. #define CBM_PreCopy 0 // IRQ Call
  103. #define CBM_AftCopy 1 // IRQ Call
  104. #define CBM_LookForAbort 2 // none IRQ call
  105. #define CBM_SetPalette 3 // IRQ Call, PictureData = R,G,B_Pack(63)x256
  106. //Anim callback return flags
  107. #define CBX_Normal 0
  108. #define CBX_NoScreenCopy 1 // used if you are to handle the screen copy
  109. // only valid if CBM_PreCopy
  110. #define CBX_Abort 2 // used when you detect an abort Input
  111. #define CBX_DonePalette 3 // when SetPalatte if you set the pal
  112. // return this to skip my code
  113. #define _PLAYDAM_H_INCLUDED
  114. #ifdef __cplusplus
  115. };
  116. #endif
  117. #endif
  118.