Mercurial > repos > blastem
comparison runtime.S @ 86:3d3966c254b2
RTE doesn't crash the emulator anymore
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Wed, 26 Dec 2012 18:20:23 -0800 |
parents | 1db2a0b655d1 |
children | 60b5c9e2f4e0 |
comparison
equal
deleted
inserted
replaced
85:1db2a0b655d1 | 86:3d3966c254b2 |
---|---|
266 jmp vdp_psg_w | 266 jmp vdp_psg_w |
267 | 267 |
268 .global m68k_write_long_lowfirst | 268 .global m68k_write_long_lowfirst |
269 m68k_write_long_lowfirst: | 269 m68k_write_long_lowfirst: |
270 push %rdi | 270 push %rdi |
271 push %rcx | |
271 add $2, %edi | 272 add $2, %edi |
272 call m68k_write_word | 273 call m68k_write_word |
274 pop %rcx | |
275 pop %rdi | |
273 shr $16, %ecx | 276 shr $16, %ecx |
274 pop %rdi | |
275 jmp m68k_write_word | 277 jmp m68k_write_word |
276 | 278 |
277 .global m68k_write_long_highfirst | 279 .global m68k_write_long_highfirst |
278 m68k_write_long_highfirst: | 280 m68k_write_long_highfirst: |
279 push %rdi | 281 push %rdi |
389 call exit | 391 call exit |
390 | 392 |
391 dyn_addr_msg: | 393 dyn_addr_msg: |
392 .asciz "Program needs dynamically calculated native address\n" | 394 .asciz "Program needs dynamically calculated native address\n" |
393 | 395 |
394 .global m68k_native_addr | 396 .global m68k_native_addr_and_sync |
395 m68k_native_addr: | 397 m68k_native_addr_and_sync: |
396 call m68k_save_context | 398 call m68k_save_context |
397 push %rcx | 399 push %rcx |
398 mov %rsi, %rdi | 400 mov %rsi, %rdi |
399 call sync_components | 401 call sync_components |
400 pop %rsi | 402 pop %rsi |
404 mov %rax, %rcx | 406 mov %rax, %rcx |
405 pop %rsi | 407 pop %rsi |
406 call m68k_load_context | 408 call m68k_load_context |
407 ret | 409 ret |
408 | 410 |
409 .global m68k_native_addr_and_sync | 411 .global m68k_native_addr |
410 m68k_native_addr_and_sync: | 412 m68k_native_addr: |
411 call m68k_save_context | 413 call m68k_save_context |
412 push %rsi | 414 push %rsi |
413 mov 144(%rsi), %rdi | 415 mov 144(%rsi), %rdi |
414 mov %ecx, %esi | 416 mov %ecx, %esi |
415 call get_native_address | 417 call get_native_address |