| 1848 | //=========================================================================== |
| 1849 | |
| 1850 | static void FreeMemImage(void) |
| 1851 | { |
| 1852 | #ifdef _WIN32 |
| 1853 | if (g_hMemImage) |
| 1854 | { |
| 1855 | for (UINT i = 0; i < num64KPages; i++) |
| 1856 | UnmapViewOfFile(memimage + i * _6502_MEM_LEN); |
| 1857 | |
| 1858 | CloseHandle(g_hMemImage); |
| 1859 | g_hMemImage = NULL; |
| 1860 | } |
| 1861 | else |
| 1862 | { |
| 1863 | ALIGNED_FREE(memimage); |
| 1864 | } |
| 1865 | #else |
| 1866 | if (g_hMemTempFile) |
| 1867 | { |
| 1868 | // unmap the whole region, everything inside will be unmapped too |
| 1869 | munmap(memimage, num64KPages * _6502_MEM_LEN); |
| 1870 | |
| 1871 | fclose(g_hMemTempFile); |
| 1872 | g_hMemTempFile = NULL; |
| 1873 | } |
| 1874 | else |
| 1875 | { |
| 1876 | ALIGNED_FREE(memimage); |
| 1877 | } |
| 1878 | #endif |
| 1879 | } |
| 1880 | |
| 1881 | static LPBYTE AllocMemImage(void) |
| 1882 | { |
no outgoing calls
no test coverage detected