Rev 2023 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2023 | Rev 7134 | ||
---|---|---|---|
1 | ; SQ_game for MenuetOS |
1 | ; SQ_game for MenuetOS |
2 | ; Author: Alexei Ershov aka ealex |
2 | ; Author: Alexei Ershov aka ealex |
3 | ; E-mail: e-al[at]yandex[dot]ru |
3 | ; E-mail: e-al[at]yandex[dot]ru |
4 | ; Fidonet: 2:469/335.38 |
4 | ; Fidonet: 2:469/335.38 |
5 | ; slightly optimized by diamond |
5 | ; slightly optimized by diamond |
6 | ; english translation by diamond (two strings in end of source) |
6 | ; english translation by diamond (two strings in end of source) |
7 | 7 | ||
8 | 8 | ||
9 | BtnSize equ 32 ; à §¬¥à ª®¯ª¨ |
9 | BtnSize equ 32 ; à §¬¥à ª®¯ª¨ |
10 | BtnSpace equ 10 ; ¯à®¬¥¦ã⮪ ¬¥¦¤ã ª®¯ª ¬¨ |
10 | BtnSpace equ 10 ; ¯à®¬¥¦ã⮪ ¬¥¦¤ã ª®¯ª ¬¨ |
11 | NofBtn equ 4 ; à §¬¥à ¯®«ï (3-15) |
11 | NofBtn equ 4 ; à §¬¥à ¯®«ï (3-15) |
12 | Color1 equ 0xcc0000 |
12 | Color1 equ 0xcc0000 |
13 | Color2 equ 0x00cc00 |
13 | Color2 equ 0x00cc00 |
14 | 14 | ||
15 | FieldSize = (BtnSize+BtnSpace)*NofBtn + BtnSpace*3 |
15 | FieldSize = (BtnSize+BtnSpace)*NofBtn + BtnSpace*3 |
16 | center = FieldSize / 2 |
16 | center = FieldSize / 2 |
17 | 17 | ||
18 | 18 | ||
19 | use32 ; ¢ª«îç¨âì 32-¡¨âë© à¥¦¨¬ áᥬ¡«¥à |
19 | use32 ; ¢ª«îç¨âì 32-¡¨âë© à¥¦¨¬ áᥬ¡«¥à |
20 | org 0x0 ; ¤à¥á æ¨ï á ã«ï |
20 | org 0x0 ; ¤à¥á æ¨ï á ã«ï |
21 | 21 | ||
22 | db 'MENUET01' ; 8-¡ ©âë© ¨¤¥â¨ä¨ª â®à MenuetOS |
22 | db 'MENUET01' ; 8-¡ ©âë© ¨¤¥â¨ä¨ª â®à MenuetOS |
23 | dd 0x01 ; ¢¥àá¨ï § £®«®¢ª (¢á¥£¤ 1) |
23 | dd 0x01 ; ¢¥àá¨ï § £®«®¢ª (¢á¥£¤ 1) |
24 | dd START ; ¤à¥á ¯¥à¢®© ª®¬ ¤ë |
24 | dd START ; ¤à¥á ¯¥à¢®© ª®¬ ¤ë |
25 | dd I_END ; à §¬¥à ¯à®£à ¬¬ë |
25 | dd I_END ; à §¬¥à ¯à®£à ¬¬ë |
26 | dd 0x1000 ; ª®«¨ç¥á⢮ ¯ ¬ï⨠|
26 | dd 0x1000 ; ª®«¨ç¥á⢮ ¯ ¬ï⨠|
27 | dd 0x1000 ; ¤à¥á ¢¥àè¨ë áâíª |
27 | dd 0x1000 ; ¤à¥á ¢¥àè¨ë áâíª |
28 | dd 0x0 ; ¤à¥á ¡ãä¥à ¤«ï ¯ à ¬¥â஢ (¥ ¨á¯®«ì§ã¥âáï) |
28 | dd 0x0 ; ¤à¥á ¡ãä¥à ¤«ï ¯ à ¬¥â஢ (¥ ¨á¯®«ì§ã¥âáï) |
29 | dd 0x0 ; § १¥à¢¨à®¢ ® |
29 | dd 0x0 ; § १¥à¢¨à®¢ ® |
30 | - | ||
31 | include 'lang.inc' |
30 | |
32 | include 'MACROS.INC' ; ¬ ªà®áë ®¡«¥£ç îâ ¦¨§ì áᥬ¡«¥à騪®¢! |
31 | include 'macros.inc' ; ¬ ªà®áë ®¡«¥£ç îâ ¦¨§ì áᥬ¡«¥à騪®¢! |
33 | 32 | ||
34 | 33 | ||
35 | START: |
34 | START: |
36 | call Game_Init |
35 | call Game_Init |
37 | red: |
36 | red: |
38 | call Draw_Window |
37 | call Draw_Window |
39 | 38 | ||
40 | still: |
39 | still: |
41 | mcall 10 ; äãªæ¨ï 10 - ¦¤ âì ᮡëâ¨ï |
40 | mcall 10 ; äãªæ¨ï 10 - ¦¤ âì ᮡëâ¨ï |
42 | dec eax |
41 | dec eax |
43 | jz red |
42 | jz red |
44 | dec eax |
43 | dec eax |
45 | jnz button |
44 | jnz button |
46 | 45 | ||
47 | key: ; ¦ â ª« ¢¨è ª« ¢¨ âãॠ|
46 | key: ; ¦ â ª« ¢¨è ª« ¢¨ âãॠ|
48 | mov al, 2 |
47 | mov al, 2 |
49 | int 0x40 |
48 | int 0x40 |
50 | jmp still |
49 | jmp still |
51 | ;--------------------------------------------------------------------- |
50 | ;--------------------------------------------------------------------- |
52 | 51 | ||
53 | button: |
52 | button: |
54 | mov al, 17 ; 17 - ¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª®¯ª¨ |
53 | mov al, 17 ; 17 - ¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª®¯ª¨ |
55 | int 0x40 |
54 | int 0x40 |
56 | cmp ah, 1 ; ¥á«¨ ¦ â ª®¯ª á ®¬¥à®¬ 1, ¢ë室¨¬ |
55 | cmp ah, 1 ; ¥á«¨ ¦ â ª®¯ª á ®¬¥à®¬ 1, ¢ë室¨¬ |
57 | je .exit |
56 | je .exit |
58 | 57 | ||
59 | cmp ah, 2 ; ¥á«¨ ¦ â ª®¯ª 2, ç¨ ¥¬ ®¢ãî ¨£àã |
58 | cmp ah, 2 ; ¥á«¨ ¦ â ª®¯ª 2, ç¨ ¥¬ ®¢ãî ¨£àã |
60 | je START |
59 | je START |
61 | 60 | ||
62 | ; ¦ ª®¯ª ¯®«¥ |
61 | ; ¦ ª®¯ª ¯®«¥ |
63 | inc dword [moves] ; 㢥«¨ç¨¢ ¥¬ ç¨á«® 室®¢ |
62 | inc dword [moves] ; 㢥«¨ç¨¢ ¥¬ ç¨á«® 室®¢ |
64 | 63 | ||
65 | shr eax, 8 ; ¢ eax ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª®¯ª¨ |
64 | shr eax, 8 ; ¢ eax ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª®¯ª¨ |
66 | 65 | ||
67 | mov dh, NofBtn |
66 | mov dh, NofBtn |
68 | div dh ; al = ax(®¬¥à ª®¯ª¨) / NofBtn |
67 | div dh ; al = ax(®¬¥à ª®¯ª¨) / NofBtn |
69 | ; ah = ®áâ ⮪ (á¬. à¨á㮪) |
68 | ; ah = ®áâ ⮪ (á¬. à¨á㮪) |
70 | mov ebx, eax ; á®åà ¨¬ ç á⮥ ¨ ®áâ ⮪ ¢ ebx |
69 | mov ebx, eax ; á®åà ¨¬ ç á⮥ ¨ ®áâ ⮪ ¢ ebx |
71 | 70 | ||
72 | ; al\ah 0 1 2 3 |
71 | ; al\ah 0 1 2 3 |
73 | ; +-+ +-+ +-+ +-+ |
72 | ; +-+ +-+ +-+ +-+ |
74 | ; 1 |4| |5| |6| |7| |
73 | ; 1 |4| |5| |6| |7| |
75 | ; +-+ +-+ +-+ +-+ |
74 | ; +-+ +-+ +-+ +-+ |
76 | 75 | ||
77 | ; +-+ +-+ +-+ +-+ |
76 | ; +-+ +-+ +-+ +-+ |
78 | ; 2 |8| |9| |10 |11 |
77 | ; 2 |8| |9| |10 |11 |
79 | ; +-+ +-+ +-+ +-+ |
78 | ; +-+ +-+ +-+ +-+ |
80 | 79 | ||
81 | ; +-+ +-+ +-+ +-+ |
80 | ; +-+ +-+ +-+ +-+ |
82 | ; 3 |12 |13 |14 |15 |
81 | ; 3 |12 |13 |14 |15 |
83 | ; +-+ +-+ +-+ +-+ |
82 | ; +-+ +-+ +-+ +-+ |
84 | 83 | ||
85 | ; +-+ +-+ +-+ +-+ |
84 | ; +-+ +-+ +-+ +-+ |
86 | ; 4 |16 |17 |18 |19 |
85 | ; 4 |16 |17 |18 |19 |
87 | ; +-+ +-+ +-+ +-+ |
86 | ; +-+ +-+ +-+ +-+ |
88 | 87 | ||
89 | ; ¥ï¥¬ 梥â á⮫¡¨ª |
88 | ; ¥ï¥¬ 梥â á⮫¡¨ª |
90 | shr eax, 8 ; eax = ah |
89 | shr eax, 8 ; eax = ah |
91 | mov edi, field |
90 | mov edi, field |
92 | add edi, eax ; edi 㪠§¢ë¥â ¯¥à¢ãî ª®¯ªã ¨ ¨áª®¬®¬ áâ«¡æ¥ |
91 | add edi, eax ; edi 㪠§¢ë¥â ¯¥à¢ãî ª®¯ªã ¨ ¨áª®¬®¬ áâ«¡æ¥ |
93 | mov ecx, NofBtn |
92 | mov ecx, NofBtn |
94 | @@: |
93 | @@: |
95 | not byte[edi] ; ¬¥ï¥¬ 梥⠢® ¢á¥¬ á⮫¡¨ª¥ |
94 | not byte[edi] ; ¬¥ï¥¬ 梥⠢® ¢á¥¬ á⮫¡¨ª¥ |
96 | dec ecx |
95 | dec ecx |
97 | add edi, NofBtn |
96 | add edi, NofBtn |
98 | test ecx, ecx |
97 | test ecx, ecx |
99 | jnz @r |
98 | jnz @r |
100 | 99 | ||
101 | ; ¥ï¥¬ 梥â áâப¨ |
100 | ; ¥ï¥¬ 梥â áâப¨ |
102 | mov eax, ebx ; ¢®ááâ ¢«¨¢ ¥¬ eax |
101 | mov eax, ebx ; ¢®ááâ ¢«¨¢ ¥¬ eax |
103 | dec eax |
102 | dec eax |
104 | mov dl, NofBtn |
103 | mov dl, NofBtn |
105 | mul dl ; ax = al * NofBtn |
104 | mul dl ; ax = al * NofBtn |
106 | mov edi, field |
105 | mov edi, field |
107 | add edi, eax ; edi 㪠§¢ë¥â ¯¥à¢ãî ª®¯ªã ¢ ¨áª®¬®© áâப¥ |
106 | add edi, eax ; edi 㪠§¢ë¥â ¯¥à¢ãî ª®¯ªã ¢ ¨áª®¬®© áâப¥ |
108 | mov ecx, NofBtn |
107 | mov ecx, NofBtn |
109 | @@: |
108 | @@: |
110 | not byte [edi] ; ¬¥ï¥¬ 梥⠢® ¢á¥© áâப¥ |
109 | not byte [edi] ; ¬¥ï¥¬ 梥⠢® ¢á¥© áâப¥ |
111 | dec ecx |
110 | dec ecx |
112 | inc edi |
111 | inc edi |
113 | test ecx, ecx |
112 | test ecx, ecx |
114 | jnz @r |
113 | jnz @r |
115 | ; ¢¥â ¦ ⮩ ª®¯ª¨ ¬¥ï«áï 2 à § (ª®£¤ ®¡à ¡ âë¢ «¨ áâப㠨 á⮫¡¥æ), |
114 | ; ¢¥â ¦ ⮩ ª®¯ª¨ ¬¥ï«áï 2 à § (ª®£¤ ®¡à ¡ âë¢ «¨ áâப㠨 á⮫¡¥æ), |
116 | ; â.¥. ®áâ «áï ¯¥à¢® ç «ë¬ |
115 | ; â.¥. ®áâ «áï ¯¥à¢® ç «ë¬ |
117 | ; ¥ï¥¬ 梥⠦ ⮩ ª®¯ª¨ |
116 | ; ¥ï¥¬ 梥⠦ ⮩ ª®¯ª¨ |
118 | shr ebx, 8 ; ebx = ®áâ ⮪ (ah à¨á㪥) |
117 | shr ebx, 8 ; ebx = ®áâ ⮪ (ah à¨á㪥) |
119 | not byte [field+eax+ebx] |
118 | not byte [field+eax+ebx] |
120 | jmp red |
119 | jmp red |
121 | 120 | ||
122 | 121 | ||
123 | 122 | ||
124 | .exit: |
123 | .exit: |
125 | mcall -1 ; ¨ ç¥ ª®¥æ ¯à®£à ¬¬ë |
124 | mcall -1 ; ¨ ç¥ ª®¥æ ¯à®£à ¬¬ë |
126 | 125 | ||
127 | 126 | ||
128 | ;---------------------------------------------------------------------------- |
127 | ;---------------------------------------------------------------------------- |
129 | ; Draw_Window |
128 | ; Draw_Window |
130 | ;---------------------------------------------------------------------------- |
129 | ;---------------------------------------------------------------------------- |
131 | Draw_Window: |
130 | Draw_Window: |
132 | 131 | ||
133 | mcall 12, 1 |
132 | mcall 12, 1 |
134 | mcall 0, 200*65536+FieldSize,\ |
133 | mcall 0, 200*65536+FieldSize,\ |
135 | 200*65536+FieldSize+20+20+20,\ |
134 | 200*65536+FieldSize+20+20+20,\ |
136 | 0x14AABBCC, 0x805080D0, header |
135 | 0x14AABBCC, 0x805080D0, header |
137 | 136 | ||
138 | mcall 8, BtnSpace*2*65536 + 83,\ |
137 | mcall 8, BtnSpace*2*65536 + 83,\ |
139 | (FieldSize+BtnSpace+20)*65536+ 15, 2 |
138 | (FieldSize+BtnSpace+20)*65536+ 15, 2 |
140 | mcall 4, (BtnSpace*2+3)*65536+(BtnSize+BtnSpace)*NofBtn+BtnSpace*4+20+4,\ |
139 | mcall 4, (BtnSpace*2+3)*65536+(BtnSize+BtnSpace)*NofBtn+BtnSpace*4+20+4,\ |
141 | 0x10DDEEFF, strNew, strNew_e - strNew |
140 | 0x10DDEEFF, strNew, strNew_e - strNew |
142 | mcall 4, (center - 25) * 65536 + 30, 0, strMovs, strMovs_e - strMovs |
141 | mcall 4, (center - 25) * 65536 + 30, 0, strMovs, strMovs_e - strMovs |
143 | mcall 47, 4*65536+1, moves, (center + 2 ) * 65536 + 30, 0 |
142 | mcall 47, 4*65536+1, moves, (center + 2 ) * 65536 + 30, 0 |
144 | 143 | ||
145 | 144 | ||
146 | 145 | ||
147 | mov ecx, (20+20+BtnSpace-BtnSize)*65536+BtnSize |
146 | mov ecx, (20+20+BtnSpace-BtnSize)*65536+BtnSize |
148 | mov edx, NofBtn ; ¨¤¥â¨ä¨ª â®à ¯¥à¢®© ª®¯ª¨ ¯®«¥ |
147 | mov edx, NofBtn ; ¨¤¥â¨ä¨ª â®à ¯¥à¢®© ª®¯ª¨ ¯®«¥ |
149 | ; ᬠà¨á㮪 |
148 | ; ᬠà¨á㮪 |
150 | 149 | ||
151 | buttons: ; à¨á㥬 ª®¯®çª¨ |
150 | buttons: ; à¨á㥬 ª®¯®çª¨ |
152 | mov eax, edx |
151 | mov eax, edx |
153 | mov dh, NofBtn |
152 | mov dh, NofBtn |
154 | div dh ; al = ax / dh, ah - ®áâ ⮪ |
153 | div dh ; al = ax / dh, ah - ®áâ ⮪ |
155 | mov dh, 0 |
154 | mov dh, 0 |
156 | test ah, ah ; ¥á«¨ ah = 0, ç¨ ¥¬ ®¢ë© àï¤ |
155 | test ah, ah ; ¥á«¨ ah = 0, ç¨ ¥¬ ®¢ë© àï¤ |
157 | jnz @f |
156 | jnz @f |
158 | add ecx, (BtnSize+BtnSpace)*65536 |
157 | add ecx, (BtnSize+BtnSpace)*65536 |
159 | mov ebx, BtnSpace*2*65536+BtnSize |
158 | mov ebx, BtnSpace*2*65536+BtnSize |
160 | @@: |
159 | @@: |
161 | mov esi, Color1 ; ¡ ©â ¯® ¤à¥áã |
160 | mov esi, Color1 ; ¡ ©â ¯® ¤à¥áã |
162 | cmp byte [field-NofBtn+edx], 0 ; field-NofBtn+®¬¥à_ª®¯ª¨ |
161 | cmp byte [field-NofBtn+edx], 0 ; field-NofBtn+®¬¥à_ª®¯ª¨ |
163 | jz @f ; £®¢®à¨â ® ¥¥ 梥⥠|
162 | jz @f ; £®¢®à¨â ® ¥¥ 梥⥠|
164 | mov esi, Color2 |
163 | mov esi, Color2 |
165 | @@: |
164 | @@: |
166 | mcall 8, |
165 | mcall 8, |
167 | add ebx, (BtnSize+BtnSpace)*65536 |
166 | add ebx, (BtnSize+BtnSpace)*65536 |
168 | inc edx ; ¯¥à¥å®¤¨¬ ª á«¥¤ãî饩 ª®¯ª¥ |
167 | inc edx ; ¯¥à¥å®¤¨¬ ª á«¥¤ãî饩 ª®¯ª¥ |
169 | cmp edx, NofBtn*(NofBtn+1) |
168 | cmp edx, NofBtn*(NofBtn+1) |
170 | jb buttons |
169 | jb buttons |
171 | 170 | ||
172 | mcall 12, 2 ; äãªæ¨ï 12: á®®¡é¨âì ®¡ ®âà¨á®¢ª¥ ®ª |
171 | mcall 12, 2 ; äãªæ¨ï 12: á®®¡é¨âì ®¡ ®âà¨á®¢ª¥ ®ª |
173 | 172 | ||
174 | ret |
173 | ret |
175 | 174 | ||
176 | ;---------------------------------------------------------------------------- |
175 | ;---------------------------------------------------------------------------- |
177 | ; Game_Init |
176 | ; Game_Init |
178 | ;---------------------------------------------------------------------------- |
177 | ;---------------------------------------------------------------------------- |
179 | Game_Init: |
178 | Game_Init: |
180 | and [moves], 0 ; ®¡ã«¨¬ ª®«¨ç¥á⢮ 室®¢ |
179 | and [moves], 0 ; ®¡ã«¨¬ ª®«¨ç¥á⢮ 室®¢ |
181 | 180 | ||
182 | call random ; ¢ eax á«ãç ©®¥ ç¨á«® |
181 | call random ; ¢ eax á«ãç ©®¥ ç¨á«® |
183 | mov ecx, NofBtn * NofBtn ; ¢ ecx ª®«-¢® ª®¯®ª ¯®«¥ |
182 | mov ecx, NofBtn * NofBtn ; ¢ ecx ª®«-¢® ª®¯®ª ¯®«¥ |
184 | mov bh, 0 ; ¤«ï ª ¦¤®© ª®¯ª¨ ¡ã¤¥¬ ¡à âì |
183 | mov bh, 0 ; ¤«ï ª ¦¤®© ª®¯ª¨ ¡ã¤¥¬ ¡à âì |
185 | ; 1 ¡¨â ¨§ eax, bh - ᪮«ìª® |
184 | ; 1 ¡¨â ¨§ eax, bh - ᪮«ìª® |
186 | button_init: ; ¡¨â 㦥 ¨á¯®«ì§®¢ «¨ |
185 | button_init: ; ¡¨â 㦥 ¨á¯®«ì§®¢ «¨ |
187 | shr eax, 1 ; ¬« ¤è¨© ¡¨â ¯®¯ ¤ ¥â ¢ ä« £ CF |
186 | shr eax, 1 ; ¬« ¤è¨© ¡¨â ¯®¯ ¤ ¥â ¢ ä« £ CF |
188 | ; ¢ § ¢¨á¨¬®á⨠®â ¥£® § 票ï |
187 | ; ¢ § ¢¨á¨¬®á⨠®â ¥£® § 票ï |
189 | ; ¢ bl § ¯¨áë¢ ¥âáï -1 ¨«¨ 0 |
188 | ; ¢ bl § ¯¨áë¢ ¥âáï -1 ¨«¨ 0 |
190 | sbb bl, bl |
189 | sbb bl, bl |
191 | mov [field + ecx - 1], bl |
190 | mov [field + ecx - 1], bl |
192 | 191 | ||
193 | inc bh |
192 | inc bh |
194 | cmp bh, 32 ; ¥á«¨ ¨á¯®«ì§®¢ ë ¢á¥ 32 ¡¨â ¨§ eax |
193 | cmp bh, 32 ; ¥á«¨ ¨á¯®«ì§®¢ ë ¢á¥ 32 ¡¨â ¨§ eax |
195 | jb @f ; ® ¯®«ãç¨âì ®¢®¥ á«ãç ©®¥ ç¨á«® |
194 | jb @f ; ® ¯®«ãç¨âì ®¢®¥ á«ãç ©®¥ ç¨á«® |
196 | call random |
195 | call random |
197 | mov bh, 0 |
196 | mov bh, 0 |
198 | @@: |
197 | @@: |
199 | loop button_init |
198 | loop button_init |
200 | 199 | ||
201 | ret |
200 | ret |
202 | 201 | ||
203 | ;---------------------------------------------------------------------------- |
202 | ;---------------------------------------------------------------------------- |
204 | ; random - ¢§ïâ ¨§ â¥âà¨á |
203 | ; random - ¢§ïâ ¨§ â¥âà¨á |
205 | ;---------------------------------------------------------------------------- |
204 | ;---------------------------------------------------------------------------- |
206 | random: mov eax,[generator] |
205 | random: mov eax,[generator] |
207 | add eax,-43ab45b5h |
206 | add eax,-43ab45b5h |
208 | ror eax,1 |
207 | ror eax,1 |
209 | xor eax,32c4324fh |
208 | xor eax,32c4324fh |
210 | ror eax,1 |
209 | ror eax,1 |
211 | mov [generator],eax |
210 | mov [generator],eax |
212 | ; --- IVAN --- |
211 | ; --- IVAN --- |
213 | mov eax,26 |
212 | mov eax,26 |
214 | mov ebx,9 |
213 | mov ebx,9 |
215 | int 0x40 |
214 | int 0x40 |
216 | xor eax,0xdeadbeef |
215 | xor eax,0xdeadbeef |
217 | add eax,[generator] |
216 | add eax,[generator] |
218 | ; --- IVAN --- |
217 | ; --- IVAN --- |
219 | ret |
218 | ret |
220 | 219 | ||
221 | ;============================================================================ |
220 | ;============================================================================ |
222 | 221 | ||
223 | field db NofBtn * NofBtn dup(0) |
222 | field db NofBtn * NofBtn dup(0) |
224 | moves dd 0 |
223 | moves dd 0 |
225 | generator dd 0 |
224 | generator dd 0 |
226 | 225 | ||
227 | if lang eq ru |
226 | if lang eq ru |
228 | header db 'CQ game',0 |
227 | header db 'CQ game',0 |
229 | header_e: |
228 | header_e: |
230 | strMovs db '' ; '' |
229 | strMovs db '' ; '' |
231 | strMovs_e: |
230 | strMovs_e: |
232 | strNew db '®¢ ï ¨£à ' ; '®¢ ï ¨£à ' |
231 | strNew db '®¢ ï ¨£à ' ; '®¢ ï ¨£à ' |
233 | strNew_e: |
232 | strNew_e: |
234 | else |
233 | else |
235 | header db 'CQ game',0 |
234 | header db 'CQ game',0 |
236 | header_e: |
235 | header_e: |
237 | strMovs db 'MOVE' |
236 | strMovs db 'MOVE' |
238 | strMovs_e: |
237 | strMovs_e: |
239 | strNew db ' New game' |
238 | strNew db ' New game' |
240 | strNew_e: |
239 | strNew_e: |
241 | end if |
240 | end if |
242 | 241 | ||
243 | 242 | ||
244 | 243 | ||
245 | I_END: ; ¬¥âª ª®æ ¯à®£à ¬¬ë |
244 | I_END: ; ¬¥âª ª®æ ¯à®£à ¬¬ë |