Subversion Repositories Kolibri OS

Rev

Rev 3950 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3950 Rev 7673
Line 1... Line 1...
1
;http://sources.ru/pascal/gamestxt/go-moku.zip
1
;http://sources.ru/pascal/gamestxt/go-moku.zip
Line 2... Line 2...
2
 
2
 
Line 3... Line 3...
3
N equ 19		; Size of the board
3
N = 19	; Size of the board
4
 
4
 
5
use32
5
use32
6
	org	0x0
6
	org	0x0
7
	db	'MENUET01'
7
	db	'MENUET01'
8
	dd	0x1
8
	dd	0x1
9
	dd	START
9
	dd	START
10
	dd	I_END
10
	dd	I_END
11
	dd	(I_END+200+13*N*N) and not 3
11
	dd	E_END
Line 12... Line 12...
12
	dd	(I_END+200+13*N*N) and not 3
12
	dd	E_END
13
	dd	0x0,0x0
13
	dd	0x0,0x0
Line 34... Line 34...
34
  @@:
34
  @@:
35
	mcall	12,1
35
	mcall	12,1
36
	mcall	48,4
36
	mcall	48,4
37
	xchg	eax,ecx
37
	xchg	eax,ecx
38
	add	ecx,100*65536+(16*N+26)
38
	add	ecx,100*65536+(16*N+26)
39
	mcall	0,100*65536+(16*N+12),,0x34FFFFFF,,title
39
	mcall	0,<100,16*N+12>,,0x34FFFFFF,,title
40
	mcall	38,2*65536+(16*N),20*65536+20,0x00a0a0a0;000000
40
	mcall	38,<2,16*N>,<20,20>,0x00a0a0a0;000000
41
	mov	edi,N
41
	mov	edi,N
42
  @@:	add	ecx,16*65536+16
42
  @@:	add	ecx,16*65536+16
43
	mcall
43
	mcall
44
	dec	edi
44
	dec	edi
45
	jnz	@b
45
	jnz	@b
Line 149... Line 149...
149
	add	ebx,-N*16*65536+16
149
	add	ebx,-N*16*65536+16
150
	jmp	print_board
150
	jmp	print_board
151
@@:	ret
151
@@:	ret
Line 152... Line 152...
152
 
152
 
153
.one:
153
.one:
154
	mov	ecx,0xd04ba010
-
 
155
	bt	[flags],4
-
 
156
	jnc	@f
-
 
157
	mov	ecx,0xd0ff0000
154
	mov	[pic_plt+4],0x4ba010
-
 
155
	btr	[flags],4
-
 
156
	jnc	@f
158
	btr	[flags],4
157
	mov	[pic_plt+4],0xff0000
-
 
158
@@:	pushad
159
@@:	push	edi
159
	mov	edx, ebx
160
	mcall	4,,,txt_x,,0xffffff
160
	mcall	65,pic_x,<7,7>,,1,pic_plt, 0
161
	pop	edi
161
	popad
162
.null:
162
.null:
163
	add	ebx,16*65536;+16
163
	add	ebx,16*65536;+16
164
	jmp	.end
164
	jmp	.end
165
.two:
165
.two:
166
	mov	ecx,0xd000459a
-
 
167
	bt	[flags],4
-
 
168
	jnc	@f
-
 
169
	mov	ecx,0xd0ff0000
166
	mov	[pic_plt+4],0x00459a
-
 
167
	btr	[flags],4
-
 
168
	jnc	@f
170
	btr	[flags],4
169
	mov	[pic_plt+4],0xff0000
-
 
170
@@:	pushad
171
@@:	push	edi
171
	mov	edx, ebx
172
	mcall	4,,,txt_o,,0xffffff
172
	mcall	65,pic_o,<7,7>,,1,pic_plt, 0
173
	pop	edi
173
	popad
Line 174... Line 174...
174
	jmp	.null
174
	jmp	.null
175
 
175
 
Line 698... Line 698...
698
	and eax,0000ffffh
698
	and eax,0000ffffh
699
ret
699
ret
Line 700... Line 700...
700
 
700
 
-
 
701
 
-
 
702
 
-
 
703
pic_x db 10000010b, \
-
 
704
	 01000100b, \
-
 
705
	 00101000b, \
-
 
706
	 00010000b, \
-
 
707
	 00101000b, \
701
 
708
	 01000100b, \
-
 
709
	 10000010b
-
 
710
 
-
 
711
pic_o db 01111100b, \
-
 
712
	 10000010b, \
-
 
713
	 10000010b, \
-
 
714
	 10000010b, \
-
 
715
	 10000010b, \
-
 
716
	 10000010b, \
702
 
717
	 01111100b
703
txt_x db 'X',0
718
 
704
txt_o db 'O',0
719
pic_plt dd 0xffffff, 0x000000
705
if lang eq ru
720
if lang eq ru
706
title db 'ƒ®¬®ªã',0
721
title db 'ƒ®¬®ªã',0
Line 729... Line 744...
729
;1: 0-室 ¨£à®ª , 1-æ¯ã
744
;1: 0-室 ¨£à®ª , 1-æ¯ã
730
;2: autoplay
745
;2: autoplay
731
;3: å®¤ë ¨áç¥à¯ ­ë
746
;3: å®¤ë ¨áç¥à¯ ­ë
732
;4: ¢ print_board - ¢ë¤¥«¥­¨¥ ªà á­ë¬ 梥⮬ 5-⨠¢ àï¤ ª«¥â®ª
747
;4: ¢ print_board - ¢ë¤¥«¥­¨¥ ªà á­ë¬ 梥⮬ 5-⨠¢ àï¤ ª«¥â®ª
Line 733... Line -...
733
 
-
 
734
proc_info process_information	; it should be after I_END, but i'm afraid of lines 11-12. dunkaist
748
 
735
I_END:
749
I_END:
736
align 16
750
align 16
737
Board	rb N*N
751
Board	rb N*N
738
Value	rw N*N*2	;¯¥à¢ ï ¯®«®¢¨­  - ¤«ï ª®¬¯ , ¢â®à ï - ¤«ï ¨£à®ª 
752
Value	rw N*N*2	;¯¥à¢ ï ¯®«®¢¨­  - ¤«ï ª®¬¯ , ¢â®à ï - ¤«ï ¨£à®ª 
739
Line	rb 4*N*N*2
-
 
-
 
753
Line	rb 4*N*N*2
-
 
754
proc_info process_information
740
755
	rb 0x100	; stack