home *** CD-ROM | disk | FTP | other *** search
/ The Equalizer BBS / equalizer-bbs-collection_2004.zip / equalizer-bbs-collection / DEMOSCENE-STUFF / TIMESRC.ZIP / GM56.RT < prev    next >
Text File  |  1993-12-20  |  5KB  |  120 lines

  1. public  _gm56
  2. ;═════════════════════════════════════════════════════════════════════════════
  3. Horizontal_Total                        = 00095;00095
  4. Horizontal_Display_End                  = 00079;00079
  5. Start_Horizontal_Blanking               = 00080;00080
  6. End_Horizontal_Blanking                 = 00034;00000
  7. Start_Horizontal_Retrace                = 00084;00084
  8. End_Horizontal_Retrace                  = 00000;00000
  9.  
  10. Vertical_Total                          = 00559;00540;00541;00447;00541
  11. Vertical_Display_End                    = 00399;00399;00399;00399;00431
  12. Start_Vertical_Blanking                 = 00407;00443;00400;00406;00439
  13. End_Vertical_Blanking                   = 00039;00021;00001;00185;00029
  14. Start_Vertical_Retrace                  = 00465;00461;00454;00412;00482
  15. End_Vertical_Retrace                    = 00010;00014;00000;00014;00014
  16.  
  17. Line_Compare                            = 01023
  18. Display_Enable_Skew                     = 00000
  19. Horizontal_Retrace_Delay                = 00000
  20.  
  21. Byte_Panning                            = 00000
  22. Preset_Row_Scan                         = 00000
  23. Maximum_Scan_Line                       = 00001
  24. Start_Address                           = 00000
  25. Offset_Register                         = 00040
  26.  
  27. Two_2_Four                              = 00000
  28. Bandwidth                               = 00000
  29. Count_By_Four                           = 00000
  30. Double_Word_Mode                        = 00000
  31. Hardware_Reset                          = 00001
  32. Word_Byte_Mode                          = 00001
  33. Address_Wrap                            = 00001
  34. Count_By_Two                            = 00000
  35. Horizontal_Retrace_Select               = 00000
  36. Select_Row_Scan_Counter                 = 00001
  37. Compatibility_Mode_Support              = 00001
  38.  
  39. gm56regs:
  40. DataByte = (End_Vertical_Retrace AND 1111b)
  41. DataByte = DataByte + ((Bandwidth AND 1) SHL 6)
  42.                 db      11h, DataByte
  43.                 db      00h, Horizontal_Total
  44.                 db      01h, Horizontal_Display_End
  45.                 db      02h, Start_Horizontal_Blanking
  46. DataByte = End_Horizontal_Blanking AND 11111b
  47. DataByte = DataByte + ((Display_Enable_Skew AND 11b) SHL 5)
  48. DataByte = DataByte + 128
  49.                 db      03h, DataByte
  50.                 db      04h, Start_Horizontal_Retrace
  51. DataByte = End_Horizontal_Retrace AND 11111b
  52. DataByte = DataByte + ((Horizontal_Retrace_Delay AND 11b) SHL 5)
  53. DataByte = DataByte + ((End_Horizontal_Blanking AND 100000b) SHL 2)
  54.                 db      05h, DataByte
  55.                 db      06h, (Vertical_Total AND 255)
  56. DataByte = ((Start_Vertical_Retrace AND 512) SHR 2) + ((Start_Vertical_Retrace AND 256) SHR 6)
  57. DataByte = DataByte + ((Vertical_Display_End AND 512) SHR 3) + ((Vertical_Display_End AND 256) SHR 7)
  58. DataByte = DataByte + ((Vertical_Total AND 512) SHR 4) + ((Vertical_Total AND 256) SHR 8)
  59. DataByte = DataByte + ((Line_Compare AND 256) SHR 4)
  60. DataByte = DataByte + ((Start_Vertical_Blanking AND 256) SHR 5)
  61.                 db      07h, DataByte
  62. DataByte = (Preset_Row_Scan AND 11111b)
  63. DataByte = DataByte + ((Byte_Panning) SHL 5)
  64.                 db      08h, DataByte
  65. DataByte = (Maximum_Scan_Line AND 11111b)
  66. DataByte = DataByte + ((Start_Vertical_Blanking AND 512) SHR 4)
  67. DataByte = DataByte + ((Line_Compare AND 512) SHR 3)
  68. DataByte = DataByte + ((Two_2_Four AND 1) SHL 7)
  69.                 db      09h, DataByte
  70.                 db      0Ch, (Start_Address SHR 8)
  71.                 db      0Dh, (Start_Address AND 255)
  72.                 db      10h, (Start_Vertical_Retrace AND 255)
  73.                 db      12h, (Vertical_Display_End AND 255)
  74.                 db      13h, Offset_Register
  75. DataByte = ((Count_By_Four AND 1) SHL 5)
  76. DataByte = DataByte + ((Double_Word_Mode AND 1) SHL 6)
  77.                 db      14h, DataByte
  78.                 db      15h, (Start_Vertical_Blanking AND 255)
  79.                 db      16h, (End_Vertical_Blanking AND 255)
  80. DataByte = ((Hardware_Reset AND 1) SHL 7)
  81. DataByte = DataByte + ((Word_Byte_Mode AND 1) SHL 6)
  82. DataByte = DataByte + ((Address_Wrap AND 1) SHL 5)
  83. DataByte = DataByte + ((Count_By_Two AND 1) SHL 3)
  84. DataByte = DataByte + ((Horizontal_Retrace_Select AND 1) SHL 2)
  85. DataByte = DataByte + ((Select_Row_Scan_Counter AND 1) SHL 1)
  86. DataByte = DataByte + (Compatibility_Mode_Support AND 1)
  87.                 db      17h, DataByte
  88.                 db      18h, (Line_Compare AND 255)
  89.  
  90. ;░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  91. ; Init 56Hz tweaked mode at 320x200
  92. ;░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  93. _gm56:
  94.         push ax ecx dx esi
  95.         mov al,10h
  96.         mov v86r_ax,12h
  97.         int 33h
  98.         mov v86r_ax,13h
  99.         int 33h
  100.         mov dx,3c4h
  101.         mov ax,00604h
  102.         out dx,ax
  103.         mov al,2
  104.         out dx,al
  105.         mov dl,0ceh
  106.         mov ax,04005h
  107.         out dx,ax
  108.         mov dl,0d4h
  109.         mov ax,00014h
  110.         out dx,ax
  111.         mov ax,0e317h
  112.         out dx,ax
  113.         mov dx,3d4h
  114.         mov esi,offset gm56regs
  115.         mov ecx,21
  116.         rep outsw
  117.         pop esi ecx dx ax
  118.         ret
  119.  
  120.