Mercurial > repos > blastem
comparison zruntime.S @ 744:fc68992cf18d
Merge windows branch with latest changes
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 28 May 2015 21:19:55 -0700 |
parents | e13f4fd9cf6d |
children |
comparison
equal
deleted
inserted
replaced
743:cf78cb045fa4 | 744:fc68992cf18d |
---|---|
123 z80_read_bank: | 123 z80_read_bank: |
124 /* approximation of wait states for normal 68K bus access */ | 124 /* approximation of wait states for normal 68K bus access */ |
125 add $3, %ebp | 125 add $3, %ebp |
126 push %rsi | 126 push %rsi |
127 mov 144(%rsi), %rsi /* get system context pointer */ | 127 mov 144(%rsi), %rsi /* get system context pointer */ |
128 cmp $0, 120(%rsi) /* check bus busy flag */ | 128 cmpb $0, 120(%rsi) /* check bus busy flag */ |
129 pop %rsi | 129 pop %rsi |
130 jne bus_busy | 130 jne bus_busy |
131 z80_read_bank_cont: | 131 z80_read_bank_cont: |
132 and $0x7FFF, %r13 | 132 and $0x7FFF, %r13 |
133 cmp $0, %r12 | 133 cmp $0, %r12 |
148 jmp z80_read_bank_cont | 148 jmp z80_read_bank_cont |
149 z80_read_ym2612: | 149 z80_read_ym2612: |
150 call z80_save_context | 150 call z80_save_context |
151 mov %r13w, %di | 151 mov %r13w, %di |
152 push %rsi | 152 push %rsi |
153 test $8, %rsp | |
154 jnz 0f | |
153 call z80_read_ym | 155 call z80_read_ym |
156 jmp 1f | |
157 0: | |
158 sub $8, %rsp | |
159 call z80_read_ym | |
160 add $8, %rsp | |
161 1: | |
154 pop %rsi | 162 pop %rsi |
155 mov %al, %r13b | 163 mov %al, %r13b |
156 call z80_load_context | 164 call z80_load_context |
157 ret | 165 ret |
158 | 166 |
194 z80_write_ym2612: | 202 z80_write_ym2612: |
195 and $0x3, %r14w | 203 and $0x3, %r14w |
196 call z80_save_context | 204 call z80_save_context |
197 mov %r14w, %di | 205 mov %r14w, %di |
198 mov %r13b, %dl | 206 mov %r13b, %dl |
207 test $8, %rsp | |
208 jnz 0f | |
199 call z80_write_ym | 209 call z80_write_ym |
210 jmp 1f | |
211 0: | |
212 sub $8, %rsp | |
213 call z80_write_ym | |
214 add $8, %rsp | |
215 1: | |
200 mov %rax, %rsi | 216 mov %rax, %rsi |
201 jmp z80_load_context | 217 jmp z80_load_context |
202 z80_write_bank_reg: | 218 z80_write_bank_reg: |
203 and $1, %r13w | 219 and $1, %r13w |
204 shr %r15w | 220 shr %r15w |
217 z80_write_vdp: | 233 z80_write_vdp: |
218 and $0xFF, %r14w | 234 and $0xFF, %r14w |
219 call z80_save_context | 235 call z80_save_context |
220 mov %r14w, %di | 236 mov %r14w, %di |
221 mov %r13b, %dl | 237 mov %r13b, %dl |
238 test $8, %rsp | |
239 jnz 0f | |
222 call z80_vdp_port_write | 240 call z80_vdp_port_write |
241 jmp 1f | |
242 0: | |
243 sub $8, %rsp | |
244 call z80_vdp_port_write | |
245 add $8, %rsp | |
246 1: | |
223 mov %rax, %rsi | 247 mov %rax, %rsi |
224 jmp z80_load_context | 248 jmp z80_load_context |
225 | 249 |
226 .global z80_read_word | 250 .global z80_read_word |
227 z80_read_word: | 251 z80_read_word: |
241 | 265 |
242 z80_read_bank_word: | 266 z80_read_bank_word: |
243 add $3, %ebp /* first read typically has 3 wait states */ | 267 add $3, %ebp /* first read typically has 3 wait states */ |
244 push %rsi | 268 push %rsi |
245 mov 144(%rsi), %rsi /* get system context pointer */ | 269 mov 144(%rsi), %rsi /* get system context pointer */ |
246 cmp $0, 120(%rsi) /* check bus busy flag */ | 270 cmpb $0, 120(%rsi) /* check bus busy flag */ |
247 pop %rsi | 271 pop %rsi |
248 jne bus_busy_word | 272 jne bus_busy_word |
249 z80_read_bank_word_cont: | 273 z80_read_bank_word_cont: |
250 push %r13 | 274 push %r13 |
251 call z80_read_bank_cont | 275 call z80_read_bank_cont |
254 inc %r13 | 278 inc %r13 |
255 call z_inccycles | 279 call z_inccycles |
256 add $4, %ebp /* second read typically has 4 wait states */ | 280 add $4, %ebp /* second read typically has 4 wait states */ |
257 push %rsi | 281 push %rsi |
258 mov 144(%rsi), %rsi /* get system context pointer */ | 282 mov 144(%rsi), %rsi /* get system context pointer */ |
259 cmp $0, 120(%rsi) /* check bus busy flag */ | 283 cmpb $0, 120(%rsi) /* check bus busy flag */ |
260 pop %rsi | 284 pop %rsi |
261 jne bus_busy_word2 | 285 jne bus_busy_word2 |
262 z80_read_bank_word_cont2: | 286 z80_read_bank_word_cont2: |
263 call z80_read_bank_cont | 287 call z80_read_bank_cont |
264 shl $8, %r13w | 288 shl $8, %r13w |