| 747 | #endif |
| 748 | |
| 749 | void writeMemory(u16 addr, u8 val) |
| 750 | { |
| 751 | switch (addr >> 12) |
| 752 | { |
| 753 | case 0x8: |
| 754 | case 0x9: |
| 755 | writeVram(addr&0x1fff, val); |
| 756 | return; |
| 757 | case 0xC: |
| 758 | wram[0][addr&0xFFF] = val; |
| 759 | return; |
| 760 | case 0xD: |
| 761 | wram[wramBank][addr&0xFFF] = val; |
| 762 | return; |
| 763 | case 0xE: // Echo area |
| 764 | wram[0][addr&0xFFF] = val; |
| 765 | return; |
| 766 | case 0xF: |
| 767 | if (addr >= 0xFF00) |
| 768 | writeIO(addr & 0xFF, val); |
| 769 | else if (addr >= 0xFE00) |
| 770 | writeHram(addr&0x1ff, val); |
| 771 | else // Echo area |
| 772 | wram[wramBank][addr&0xFFF] = val; |
| 773 | return; |
| 774 | |
| 775 | } |
| 776 | |
| 777 | if (writeFunc != NULL) |
| 778 | writeFunc(addr, val); |
| 779 | } |
| 780 | |
| 781 | |
| 782 | bool nifiTryAgain=true; |
no test coverage detected