Mercurial > repos > blastem
comparison runtime.S @ 198:209a37eed3e7
Add support for breaking into the debugger while game is running
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 20 Jan 2013 19:10:29 -0800 |
parents | 811163790e6c |
children | c82f65a87a53 |
comparison
equal
deleted
inserted
replaced
197:7c227a8ec53d | 198:209a37eed3e7 |
---|---|
5 cmp 84(%rsi), %eax | 5 cmp 84(%rsi), %eax |
6 jb skip_sync | 6 jb skip_sync |
7 do_sync: | 7 do_sync: |
8 call m68k_save_context | 8 call m68k_save_context |
9 mov %rsi, %rdi | 9 mov %rsi, %rdi |
10 xor %esi, %esi | |
10 call sync_components | 11 call sync_components |
11 mov %rax, %rsi | 12 mov %rax, %rsi |
12 call m68k_load_context | 13 call m68k_load_context |
13 skip_sync: | 14 skip_sync: |
14 ret | 15 ret |
49 pop %rdi | 50 pop %rdi |
50 jmp *%rcx | 51 jmp *%rcx |
51 ret | 52 ret |
52 skip_int: | 53 skip_int: |
53 cmp 84(%rsi), %eax | 54 cmp 84(%rsi), %eax |
54 jnb do_sync | 55 jb skip_sync_int |
56 call m68k_save_context | |
57 mov %rsi, %rdi | |
58 mov %ecx, %esi | |
59 call sync_components | |
60 mov %rax, %rsi | |
61 call m68k_load_context | |
62 skip_sync_int: | |
55 ret | 63 ret |
56 | 64 |
57 .global m68k_trap | 65 .global m68k_trap |
58 m68k_trap: | 66 m68k_trap: |
59 push %rdi | 67 push %rdi |
552 .global m68k_native_addr_and_sync | 560 .global m68k_native_addr_and_sync |
553 m68k_native_addr_and_sync: | 561 m68k_native_addr_and_sync: |
554 call m68k_save_context | 562 call m68k_save_context |
555 push %rcx | 563 push %rcx |
556 mov %rsi, %rdi | 564 mov %rsi, %rdi |
565 xor %esi, %esi | |
557 call sync_components | 566 call sync_components |
558 pop %rsi | 567 pop %rsi |
559 push %rax | 568 push %rax |
560 mov %rax, %rdi | 569 mov %rax, %rdi |
561 call get_native_address_trans | 570 call get_native_address_trans |