MCPcopy Create free account
hub / github.com/BlitterStudio/amiberry / debugmem_chiphit

Function debugmem_chiphit

src/debugmem.cpp:3884–3936  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3882}
3883
3884uae_u32 debugmem_chiphit(uaecptr addr, uae_u32 v, int size)
3885{
3886 static int recursive;
3887 if (recursive) {
3888 return 0xdeadf00d;
3889 }
3890 recursive++;
3891 bool dbg = false;
3892 if (size > 0) {
3893 if (debugmem_active && debugmem_mapped) {
3894 console_out_f(_T("%s write to %08x, value = %08x\n"), size == 4 ? _T("Long") : (size == 2 ? _T("Word") : _T("Byte")), addr, v);
3895 dbg = debugmem_break(6);
3896 }
3897 } else {
3898 size = -size;
3899
3900 // execbase?
3901 if (size == 4 && addr == 4) {
3902 recursive--;
3903 return do_get_mem_long((uae_u32*)(chipmem_bank.baseaddr + addr));
3904 }
3905 if (size == 2 && (addr == 4 || addr == 6) && (currprefs.cpu_model < 68020 || ce_banktype[0] == CE_MEMBANK_CHIP16)) {
3906 recursive--;
3907 return do_get_mem_word((uae_u16*)(chipmem_bank.baseaddr + addr));
3908 }
3909
3910 // exception vectors
3911 if (regs.vbr < 0x100) {
3912 // vbr == 0 so skip aligned long reads
3913 if (size == 4 && addr >= regs.vbr + 8 && addr < regs.vbr + 0x100) {
3914 recursive--;
3915 return do_get_mem_long((uae_u32*)(chipmem_bank.baseaddr + addr));
3916 }
3917 if (size == 2 && addr >= regs.vbr + 8 && addr < regs.vbr + 0xe0 && (currprefs.cpu_model < 68020 || ce_banktype[0] == CE_MEMBANK_CHIP16)) {
3918 recursive--;
3919 return do_get_mem_word((uae_u16*)(chipmem_bank.baseaddr + addr));
3920 }
3921 }
3922
3923 if (debugmem_active && debugmem_mapped) {
3924 console_out_f(_T("%s read from %08x\n"), size == 4 ? _T("Long") : (size == 2 ? _T("Word") : _T("Byte")), addr);
3925 dbg = debugmem_break(7);
3926 }
3927 }
3928 if (debugmem_active && debugmem_mapped) {
3929#ifdef DEBUGGER
3930 if (!dbg)
3931 m68k_dumpstate(0, 0xffffffff);
3932#endif
3933 }
3934 recursive--;
3935 return 0xdeadf00d;
3936}
3937
3938bool debugmem_extinvalidmem(uaecptr addr, uae_u32 v, int size)
3939{

Callers 12

debugmem_chipmem_lgetFunction · 0.85
debugmem_chipmem_wgetFunction · 0.85
debugmem_chipmem_bgetFunction · 0.85
debugmem_chipmem_lputFunction · 0.85
debugmem_chipmem_wputFunction · 0.85
debugmem_chipmem_bputFunction · 0.85
chipmem_lput_debugmemFunction · 0.85
chipmem_wput_debugmemFunction · 0.85
chipmem_bput_debugmemFunction · 0.85
chipmem_lget_debugmemFunction · 0.85
chipmem_wget_debugmemFunction · 0.85
chipmem_bget_debugmemFunction · 0.85

Calls 5

debugmem_breakFunction · 0.85
do_get_mem_longFunction · 0.85
do_get_mem_wordFunction · 0.85
m68k_dumpstateFunction · 0.85
console_out_fFunction · 0.50

Tested by

no test coverage detected