亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? xpal.asm

?? 視頻游戲開發(fā)C語言源程序
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
;
; _x_set_rgb(unsigned char color, unsigned char R,unsigned char G,
;            unsigned char B)
;
;
; Written by Themie Gouthas
;----------------------------------------------------------------------
_x_set_rgb  proc
ARG  ColorIndex:byte,R:byte,G:byte,B:byte
		push bp		; Set up stack frame
		mov  bp,sp

		mov  al,[ColorIndex]
		mov  dx,DAC_WRITE_INDEX  ; Tell DAC what colour index to
		out  dx,al               ; write to
		mov  dx,DAC_DATA

		mov  al,[R]              ; Set the red component
		out  dx,al
		mov  al,[G]              ; Set the green component
		out  dx,al
		mov  al,[B]              ; Set the blue component
		out  dx,al
		pop  bp
		ret
_x_set_rgb endp


;----------------------------------------------------------------------
; Rotate annotated palette buffer entries
;
; x_rot_pal_struc(char far * pal, int direction)
;
; Direction : 0 = backward 1 = forward
;
; Written by Themie Gouthas
;----------------------------------------------------------------------
_x_rot_pal_struc  proc
ARG  PalBuff:dword,Direction:word
    push bp		; Set up stack frame
    mov	 bp,sp
    push ds
    push si
    push di

    cld
    lds	 si,dword ptr [PalBuff]  ; point ds:si to Palette buffer
    lodsw         ; al = colorst ot skip, ah = num colors

    xor  ch,ch    ; Set the number of palette entries to cycle in cx
    mov  cl,ah    ;

    jmp  short RotatePalEntry

_x_rot_pal_struc  endp



;----------------------------------------------------------------------
; Rotate raw palette buffer
;
; x_rot_pal_raw(char far * pal, int direction, int num_colrs)
;
; Direcction : 0 = backward 1 = forward
;
; Written by Themie Gouthas
;----------------------------------------------------------------------
_x_rot_pal_raw	proc
ARG  PalBuff:dword,Direction:word,NumColors:word
    push bp		; Set up stack frame
    mov	 bp,sp
    push ds
    push si
    push di

    cld
    mov	 cx,[NumColors]          ; Set the number of palette entries to cycle
    lds	 si,dword ptr [PalBuff]  ; point ds:si to Palette buffer

RotatePalEntry:


    mov	 ax,ds                ; copy ds to es
    mov	 es,ax

    dec  cx
    mov	 bx,cx                ; Multiply cx by 3
    shl	 bx,1
    add  cx,bx

    cmp  [Direction],0        ; are we going forward ?
    jne  @@forward            ; yes - jump (colors move one position back)

    std                       ; no - set reverse direction
    add  si,cx                ; set si to last byte in palette
    add  si,2

@@forward:
    mov	 ax,si                ; copy si to di
    mov	 di,ax

    lodsb                     ; load first color triplet into regs
    mov  dl,al
    lodsb
    mov  dh,al
    lodsb
    mov  bl,al

    rep	 movsb                ; move remaining triplets direction indicated
			      ; by direction flag

    mov  al,dl                ; write color triplet from regs to last position
    stosb
    mov  al,dh
    stosb
    mov  al,bl
    stosb

    pop	 di
    pop	 si
    pop	 ds
    pop	 bp
    ret
_x_rot_pal_raw  endp

;----------------------------------------------------------------------
; Copy palette making intensity adjustment
; x_cpcontrast_pal_struc(char far *src_pal, char far *dest_pal, unsigned char Intensity)
;
; WARNING: memory for the palette buffers must all be pre-allocated
;
; Written by Themie Gouthas
;----------------------------------------------------------------------
_x_cpcontrast_pal_struc	proc
ARG  PalSrcBuff:dword,PalDestBuff:dword,Intensity:byte
    push bp		; Set up stack frame
    mov	 bp,sp
    push ds
    push si
    push di

    cld
    mov  bh,0ffh
    sub  bh,[Intensity]
    and  bh,07fh            ; Palettes are 7 bit
    lds	 si,dword ptr [PalSrcBuff]  ; point ds:si to Source Palette buffer
    les	 di,dword ptr [PalDestBuff] ; point ds:si to Source Palette buffer
    lodsw			    ; al = colorst ot skip, ah = num color
    stosw

    xor  ch,ch    ; Set the number of palette entries to adjust
    mov  cl,ah    ;

    mov  dx,0     ; flag set to 0 if all output palette entries zero
@@MainLoop:
    lodsw
    sub  al,bh               ; adjust intensity and copy RED
    jns  @@DecrementOK_R
    xor  al,al
@@DecrementOK_R:
    sub  ah,bh               ; adjust intensity and copy GREEN
    jns  @@DecrementOK_G
    xor  ah,ah
@@DecrementOK_G:
    or   dx,ax
    or   dl,ah
    stosw
    lodsb
    sub  al,bh               ; adjust intensity and copy BLUE
    jns  @@DecrementOK_B
    xor  al,al
@@DecrementOK_B:
    or   dl,al
    stosb
    loop @@MainLoop

    mov  ax,dx
    pop  di
    pop	 si
    pop	 ds
    pop	 bp
    ret
_x_cpcontrast_pal_struc  endp



;----------------------------------------------------------------------
; Write DAC palette from annotated type buffer with specified intensity
; ie BYTE colours to skip, BYTE colours to set, r1,g1,b1,r1,g2,b2...rn,gn,bn
;
; x_put_contrast_pal_struc(char far * pal, unsigned char  intensity)
;
; Designed for fading in or out a palette without using an intermediate
; working palette buffer ! (Slow but memory efficient ... OK for small
; pal strucs}
;
; Written by Themie Gouthas
;----------------------------------------------------------------------

_x_put_contrast_pal_struc proc
ARG     CompPalBuff:dword,Intensity:byte
        push    bp      ;preserve caller's stack frame
	mov     bp,sp   ;point to local stack frame
	push    ds
	push    si
	push    di
	cld

	mov     bh,0ffh
	sub     bh,[Intensity]
	and     bh,07fh            ; Palettes are 7 bit
	mov     di,40              ; set the vsync check timer (Vsync
				   ; is tested for at each di'th entry to
				   ; prevent snow 40 is otimum for 10
				   ; MHz 286 or greater)
	lds     si,[CompPalBuff]   ; load the source compressed colour data
	lodsb			   ; get the colours to skip
	mov     bl,al

	lodsb			   ; get the count of colours to set
	mov     ah,0
	mov	cx,ax              ; use it as a loop counter
	or      cx,cx
	jz      @@Done

	WaitVsyncStart           ; Wait for vert sync to start

@@MainLoop:
        mov  al,bl
	mov  dx,DAC_WRITE_INDEX  ; Tell DAC what colour index to start
	out  dx,al               ; writing from
	inc  dx                  ; == mov  dx,DAC_DATA

	lodsb                    ; Load each colour component, modify for
	sub  al,bh               ; intensity and write to DAC H/Ware
	jns  @@DecrementOK_R
	xor  al,al
@@DecrementOK_R:
	out  dx,al

	lodsb
	sub  al,bh
	jns  @@DecrementOK_G
	xor  al,al
@@DecrementOK_G:
	out  dx,al

	lodsb
	sub  al,bh
	jns  @@DecrementOK_B
	xor  al,al
@@DecrementOK_B:
	out  dx,al

	inc  bl                  ; increment color index
	dec  di                  ; decrement vsync test flag
	js   @@test_vsync
	loop @@MainLoop
	jmp  short @@Done


@@test_vsync:
	mov     dx,INPUT_STATUS_0
	push    ax               ; save current colour index
@@Wait:
	in      al,dx            ; wait for vsync leading edge pulse
	test    al,08h
	jz      @@Wait

	pop     ax               ; restore current colour index
	mov     di,40            ; reset vsync test counter
	loop    @@MainLoop       ; loop for next colour index

@@Done:
	;sti
	pop  di
	pop  si
	pop  ds
	pop  bp
	ret

_x_put_contrast_pal_struc   endp


    end


?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品在线观看视频| 欧美挠脚心视频网站| 26uuu欧美日本| 日本亚洲电影天堂| 在线成人免费视频| 日韩电影在线观看网站| 欧美日韩精品三区| 午夜久久久久久久久久一区二区| 欧美三级资源在线| 午夜a成v人精品| 91精品婷婷国产综合久久| 日本亚洲免费观看| 欧美变态口味重另类| 激情图片小说一区| 久久久www免费人成精品| 国产91丝袜在线播放0| 国产精品沙发午睡系列990531| 成人国产视频在线观看| 国产精品成人网| ㊣最新国产の精品bt伙计久久| 一本到高清视频免费精品| 91精品国产麻豆| 蜜桃久久精品一区二区| 精品国产91九色蝌蚪| 国产麻豆欧美日韩一区| 日本一区二区三区久久久久久久久不 | 久久99精品久久久久久国产越南| 精品国产sm最大网站| 国产精品亚洲一区二区三区在线| 国产精品女同一区二区三区| 91免费精品国自产拍在线不卡| 亚洲成在人线在线播放| 日韩亚洲国产中文字幕欧美| 国产精品资源在线看| 成人欧美一区二区三区小说| 欧美亚洲动漫制服丝袜| 久久国产精品免费| 国产亚洲欧美激情| 91麻豆福利精品推荐| 五月婷婷另类国产| 久久影院电视剧免费观看| eeuss鲁片一区二区三区在线观看| 亚洲六月丁香色婷婷综合久久| 7777女厕盗摄久久久| 国产乱子伦一区二区三区国色天香| 国产精品久久久久精k8| 99久久国产综合精品女不卡| 日日夜夜免费精品视频| 综合久久给合久久狠狠狠97色| 在线观看成人小视频| 麻豆中文一区二区| 国产精品久久久久影院亚瑟| 欧美婷婷六月丁香综合色| 韩国v欧美v日本v亚洲v| 亚洲三级在线看| 欧美一区二区视频在线观看| 国产精品一区一区三区| 一区二区三区四区高清精品免费观看| 日韩写真欧美这视频| 成人av第一页| 日韩高清不卡一区二区| 国产精品视频一二三| 在线播放中文字幕一区| 成人久久18免费网站麻豆 | 天天影视网天天综合色在线播放| 久久综合狠狠综合久久综合88 | 国产高清在线观看免费不卡| 亚洲综合清纯丝袜自拍| 久久尤物电影视频在线观看| 在线观看国产一区二区| 国产精品综合二区| 午夜亚洲福利老司机| 中文字幕精品三区| 日韩一级成人av| 色综合欧美在线| 国产在线播精品第三| 韩国成人在线视频| jvid福利写真一区二区三区| 亚洲另类中文字| 欧美一级午夜免费电影| 91福利区一区二区三区| 国产成人在线视频网站| 蜜桃av一区二区三区| 一区二区三区在线视频免费| 久久精品一区二区三区不卡| 欧美精品18+| 91在线观看高清| 高清在线不卡av| 激情图片小说一区| 午夜精品123| 亚洲另类在线制服丝袜| 国产欧美精品国产国产专区| 欧美一级高清大全免费观看| 欧洲av一区二区嗯嗯嗯啊| 成人h版在线观看| 久久99国产精品免费网站| 一区二区三区自拍| 国产精品视频你懂的| 欧美精品一区二区在线观看| 欧美高清激情brazzers| 色婷婷精品久久二区二区蜜臂av| 丁香激情综合国产| 国产乱子轮精品视频| 九九**精品视频免费播放| 日韩一区精品字幕| 亚洲丰满少妇videoshd| 亚洲精选在线视频| 中文字幕视频一区二区三区久| 国产日韩欧美a| 久久久噜噜噜久久人人看 | 欧美精品久久久久久久多人混战 | 亚洲一区二区三区四区五区黄| 国产欧美精品区一区二区三区| 精品久久一二三区| 日韩西西人体444www| 91精品婷婷国产综合久久| 欧美老女人第四色| 欧美三级视频在线| 欧美四级电影网| 欧美色电影在线| 欧美日韩视频第一区| 欧美性大战久久| 欧美三级中文字幕在线观看| 欧美色图片你懂的| 欧美色中文字幕| 欧美久久一二区| 69堂成人精品免费视频| 欧美精品vⅰdeose4hd| 91精品黄色片免费大全| 欧美一区国产二区| 欧美大片在线观看| 精品久久国产字幕高潮| 久久日韩精品一区二区五区| 久久夜色精品国产噜噜av| 国产亚洲精品中文字幕| 国产精品嫩草99a| 亚洲欧洲日产国产综合网| 亚洲人成网站色在线观看| 亚洲精品成a人| 亚洲大尺度视频在线观看| 日韩一区欧美二区| 久久99精品久久久久久国产越南 | 成人免费毛片a| 久久99国内精品| 韩国av一区二区三区在线观看| 精品在线一区二区三区| 国产黄色成人av| heyzo一本久久综合| 色综合久久中文字幕| 欧美色图第一页| 欧美一区二区高清| 久久五月婷婷丁香社区| 国产精品免费免费| 一区二区三区 在线观看视频| 午夜精品aaa| 精品一区二区三区免费播放| 国产成人综合网| 91亚洲国产成人精品一区二三| 在线观看国产日韩| 欧美一区二区国产| 国产亚洲成av人在线观看导航| 日日夜夜精品免费视频| 精品一区二区精品| av电影在线观看完整版一区二区| 91久久线看在观草草青青| 91精品久久久久久久91蜜桃| 久久尤物电影视频在线观看| 18欧美亚洲精品| 日韩福利电影在线| 国产一区二区美女诱惑| 色诱亚洲精品久久久久久| 欧美精品一二三区| 久久久久久久久久久久久久久99| 中文字幕一区二区三区在线观看| 亚洲高清免费观看高清完整版在线观看| 麻豆精品国产91久久久久久| 丰满亚洲少妇av| 欧美日韩国产高清一区| 久久精子c满五个校花| 亚洲一线二线三线久久久| 精品一区二区三区视频| 久久久亚洲高清| 欧美mv日韩mv国产网站app| 久久精品视频免费| 久久久久99精品一区| 亚洲免费看黄网站| 激情欧美日韩一区二区| 色视频成人在线观看免| 日韩欧美中文一区| 亚洲三级在线播放| 另类调教123区| 一本一道久久a久久精品| 精品久久久久一区二区国产| 一区二区三区免费观看| 国产在线播放一区三区四| 日韩精品福利网| 欧美丝袜丝交足nylons图片| 欧美va亚洲va| 夜夜嗨av一区二区三区| 国产精品亚洲一区二区三区在线|