|
|
| version 1.2, 2005/02/16 09:31:55 | version 1.4, 2011/02/02 13:50:29 |
|---|---|
| Line 13 DCLOCK_PATMAX equ 13 | Line 13 DCLOCK_PATMAX equ 13 |
| .drawing resw 1 | .drawing resw 1 |
| .clk_x resb 1 | .clk_x resb 1 |
| .pad resb 1 | .pad resb 1 |
| .dat | |
| endstruc | endstruc |
| struc dclockpos_t | struc dclockpos_t |
| Line 36 section .text | Line 35 section .text |
| global _dclock_make | global _dclock_make |
| global _dclock_out8 | global _dclock_out8 |
| global _dclock_out16 | global _dclock_out16 |
| global _dclock_out24 | |
| global _dclock_out32 | global _dclock_out32 |
| extern _dclock | extern _dclock |
| extern _dclockpal | extern _dclockpal |
| Line 173 _dclock_out8: push ebx | Line 173 _dclock_out8: push ebx |
| push ebp | push ebp |
| mov ecx, [esp+16+4] | mov ecx, [esp+16+4] |
| sub dword [esp+16+8], byte DCLOCK_WIDTH | sub dword [esp+16+8], byte DCLOCK_WIDTH |
| mov esi, _dclock + dclock_t.dat | mov esi, _dclock + dclock_t_size |
| mov edi, _dclockpal + dclockpal_t.pal8 | mov edi, _dclockpal + dclockpal_t.pal8 |
| mov bh, 4 | mov bh, 4 |
| .lp1: mov bl, 3 | .lp1: mov bl, 3 |
| Line 207 _dclock_out16: push ebx | Line 207 _dclock_out16: push ebx |
| push esi | push esi |
| push edi | push edi |
| push ebp | push ebp |
| mov esi, _dclock + dclock_t.dat | mov esi, _dclock + dclock_t_size |
| mov edi, _dclockpal + dclockpal_t.pal16 | mov edi, _dclockpal + dclockpal_t.pal16 |
| mov ecx, [esp+16+4] | mov ecx, [esp+16+4] |
| sub dword [esp+16+8], byte (DCLOCK_WIDTH * 2) | sub dword [esp+16+8], byte (DCLOCK_WIDTH * 2) |
| Line 239 _dclock_out16: push ebx | Line 239 _dclock_out16: push ebx |
| ret | ret |
| align 16 | align 16 |
| _dclock_out24: push ebx | |
| push esi | |
| push edi | |
| push ebp | |
| mov esi, _dclock + dclock_t_size | |
| mov edi, _dclockpal + dclockpal_t.pal32 | |
| mov ecx, [esp+16+4] | |
| sub dword [esp+16+8], (DCLOCK_WIDTH * 3) | |
| mov dh, 4 | |
| .lp1: mov dl, 3 | |
| .lp2: mov ebp, DCLOCK_YALIGN | |
| .lp3: mov bl, [esi] | |
| mov bh, 8 | |
| .lp4: rcl bl, 1 | |
| sbb eax, eax | |
| and eax, [edi] | |
| mov [ecx+0], al | |
| shr eax, 8 | |
| mov [ecx+1], al | |
| mov [ecx+2], ah | |
| add ecx, byte 3 | |
| dec bh | |
| jne short .lp4 | |
| inc esi | |
| dec ebp | |
| jne short .lp3 | |
| add ecx, [esp+16+8] | |
| dec dl | |
| jne short .lp2 | |
| add edi, byte 4 | |
| dec dh | |
| jne short .lp1 | |
| pop ebp | |
| pop edi | |
| pop esi | |
| pop ebx | |
| ret | |
| align 16 | |
| _dclock_out32: push ebx | _dclock_out32: push ebx |
| push esi | push esi |
| push edi | push edi |
| push ebp | push ebp |
| mov esi, _dclock + dclock_t.dat | mov esi, _dclock + dclock_t_size |
| mov edi, _dclockpal + dclockpal_t.pal32 | mov edi, _dclockpal + dclockpal_t.pal32 |
| mov ecx, [esp+16+4] | mov ecx, [esp+16+4] |
| sub dword [esp+16+8], (DCLOCK_WIDTH * 4) | sub dword [esp+16+8], (DCLOCK_WIDTH * 4) |
| Line 274 _dclock_out32: push ebx | Line 313 _dclock_out32: push ebx |
| pop ebx | pop ebx |
| ret | ret |
| ends | |