Mercurial > repos > blastem
comparison zruntime.S @ 280:9ee64039ddeb
Fix bank register update
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Fri, 03 May 2013 21:09:48 -0700 |
parents | 6be6056735a9 |
children | 44f0bbf57b4f |
comparison
equal
deleted
inserted
replaced
279:6be6056735a9 | 280:9ee64039ddeb |
---|---|
66 cmp $0x4000, %r13w | 66 cmp $0x4000, %r13w |
67 jb z80_read_ram | 67 jb z80_read_ram |
68 cmp $0x8000, %r13w | 68 cmp $0x8000, %r13w |
69 jae z80_read_bank | 69 jae z80_read_bank |
70 /* TODO: Bank reg, YM-2612, PSG/VDP */ | 70 /* TODO: Bank reg, YM-2612, PSG/VDP */ |
71 mov $FF, $r13b | 71 mov $0xFF, %r13b |
72 ret | 72 ret |
73 z80_read_ram: | 73 z80_read_ram: |
74 and $0x1FFF, %r13 | 74 and $0x1FFF, %r13 |
75 mov (%r11, %r13), %r13b | 75 mov (%r11, %r13), %r13b |
76 ret | 76 ret |
123 slow_bank_write: | 123 slow_bank_write: |
124 /* TODO: Call into C to implement this */ | 124 /* TODO: Call into C to implement this */ |
125 ret | 125 ret |
126 z80_write_bank_reg: | 126 z80_write_bank_reg: |
127 and $1, %r13w | 127 and $1, %r13w |
128 shl %r15w | 128 shr %r15w |
129 shl $8, %r13w | |
130 xor %r12, %r12 | |
129 or %r13w, %r15w | 131 or %r13w, %r15w |
130 and $0x1FF, %r15w | 132 and $0x1FF, %r15w |
131 xor %r12, %r12 | |
132 cmp $0x80, %r15w | 133 cmp $0x80, %r15w |
133 jb update_bank_ptr | 134 jb update_bank_ptr |
134 ret | 135 ret |
135 update_bank_ptr: | 136 update_bank_ptr: |
136 mov %r15w, %r12w | 137 mov %r15w, %r12w |