|
|
1.1 root 1: ;/***************************************************************************
2: ; * TEKASM.ASM - assembly code for Tekwar game *
3: ; * *
4: ; * 3/29/95 Jeff S. *
5: ; ***************************************************************************/
6:
7: ; WATCOM C/C++ Assembler (WASM.EXE) Template.
8: ; Written by Keith Harrison CIS:100431,1675 16th Nov 1994.
9:
10:
11: .586p ; 386, 486, Pentium
12:
13: ; Declare non-parameter registers that you alter as
14: ; a #pragma in the C++ file.
15:
16: ASSUME CS:_TEXT
17: ASSUME DS:_DATA
18:
19:
20: _DATA SEGMENT 'DATA' USE32
21:
22: return_code dd 0
23: integer_data dd 0
24:
25: _DATA ENDS
26:
27:
28: _TEXT SEGMENT PUBLIC 'CODE' USE32
29:
30: ;
31: ; (template to follow)
32: ;
33: ; On entry: eax = pointer to integer number,
34: ; ebx = value to store at address eax.
35: ;
36: ;asm_main_ PROC NEAR
37: ;
38: ; call protected_code ; Call your own code...
39: ; cld ; Direction bit must be clear on exit.
40: ; mov eax, [return_code]; EAX = return value (if required).
41: ; ret
42: ;
43: ;asm_main_ ENDP
44:
45: PUBLIC asmwaitvrt_ ; Note underscore AFTER function name.
46:
47: asmwaitvrt_ PROC NEAR
48:
49: @@wait:
50: xor edx,edx
51: xor eax,eax
52: xor dx, 0x03DA
53:
54: ; ecx loaded via param
55:
56: ; wait for a display signal to make sure the raster isn't
57: ; in the middle of a sync
58: @@waitnosync:
59: in al,dx
60: test al,8
61: jnz @@waitnosync
62:
63: @@waitsync:
64: in al,dx
65: test al,8
66: jz @@waitsync
67:
68: loop @@waitnosync
69:
70: cld ; Direction bit must be clear on exit.
71: ret
72:
73: asmwaitvrt_ ENDP
74:
75: PUBLIC asmsetpalette_
76:
77: asmsetpalette_ PROC NEAR
78:
79: ; pal ptr passed in esi
80: xor eax, eax
81: mov edx,0x000003C8 ; PEL_WRITE_ADR
82: out dx,al
83: mov edx,0x000003C9 ; PEL_DATA
84:
85: mov cx,256
86: @@setloop:
87: lodsb
88: out dx,al
89: lodsb
90: out dx,al
91: lodsb
92: out dx,al
93: loop @@setloop
94:
95: cld
96: ret
97:
98: asmsetpalette_ ENDP
99:
100: _TEXT ENDS
101:
102: END
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.