From 8a4ed8f41ca54164fdb335343461ab5f9c3bd87f Mon Sep 17 00:00:00 2001 From: StapleButter Date: Thu, 16 Mar 2017 23:01:22 +0100 Subject: reorganize repo, move shit around --- main.cpp | 272 --------------------------------------------------------------- 1 file changed, 272 deletions(-) delete mode 100644 main.cpp (limited to 'main.cpp') diff --git a/main.cpp b/main.cpp deleted file mode 100644 index 3e713da..0000000 --- a/main.cpp +++ /dev/null @@ -1,272 +0,0 @@ -/* - Copyright 2016-2017 StapleButter - - This file is part of melonDS. - - melonDS is free software: you can redistribute it and/or modify it under - the terms of the GNU General Public License as published by the Free - Software Foundation, either version 3 of the License, or (at your option) - any later version. - - melonDS is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with melonDS. If not, see http://www.gnu.org/licenses/. -*/ - -#include -#include -#include "NDS.h" -#include "GPU.h" - - -#define VERSION "0.1" - - -HINSTANCE instance; -HWND melon; -BITMAPV4HEADER bmp; -bool quit; - -bool touching; - - -LRESULT CALLBACK derpo(HWND window, UINT msg, WPARAM wparam, LPARAM lparam) -{ - switch (msg) - { - case WM_CLOSE: - printf("close\n"); - { - FILE* f = fopen("debug/wram.bin", "wb"); - if (f) - { - for (u32 i = 0x37F8000; i < 0x3808000; i+=4) - { - u32 blarg = NDS::ARM7Read32(i); - fwrite(&blarg, 4, 1, f); - } - fclose(f); - } - f = fopen("debug/arm7vram.bin", "wb"); - if (f) - { - for (u32 i = 0x6000000; i < 0x6040000; i+=4) - { - u32 blarg = NDS::ARM7Read32(i); - fwrite(&blarg, 4, 1, f); - } - fclose(f); - } - f = fopen("debug/mainram.bin", "wb"); - if (f) - { - for (u32 i = 0x2000000; i < 0x2400000; i+=4) - { - u32 blarg = NDS::ARM9Read32(i); - fwrite(&blarg, 4, 1, f); - } - fclose(f); - } - } - PostQuitMessage(0); - return 0; - - case WM_KEYDOWN: - switch (wparam) - { - case VK_RETURN: NDS::PressKey(3); break; - case VK_SPACE: NDS::PressKey(2); break; - case VK_UP: NDS::PressKey(6); break; - case VK_DOWN: NDS::PressKey(7); break; - case VK_LEFT: NDS::PressKey(5); break; - case VK_RIGHT: NDS::PressKey(4); break; - case 'A': NDS::PressKey(0); break; - case 'B': NDS::PressKey(1); break; - case 'X': NDS::PressKey(16); break; - case 'Y': NDS::PressKey(17); break; - case 'L': NDS::PressKey(9); break; - case 'R': NDS::PressKey(8); break; - case 'D': NDS::debug(0); break; - } - return 0; - - case WM_KEYUP: - switch (wparam) - { - case VK_RETURN: NDS::ReleaseKey(3); break; - case VK_SPACE: NDS::ReleaseKey(2); break; - case VK_UP: NDS::ReleaseKey(6); break; - case VK_DOWN: NDS::ReleaseKey(7); break; - case VK_LEFT: NDS::ReleaseKey(5); break; - case VK_RIGHT: NDS::ReleaseKey(4); break; - case 'A': NDS::ReleaseKey(0); break; - case 'B': NDS::ReleaseKey(1); break; - case 'X': NDS::ReleaseKey(16); break; - case 'Y': NDS::ReleaseKey(17); break; - case 'L': NDS::ReleaseKey(9); break; - case 'R': NDS::ReleaseKey(8); break; - } - return 0; - - case WM_LBUTTONDOWN: - if (!touching) - { - s16 x = (s16)(lparam & 0xFFFF); - s16 y = (s16)(lparam >> 16); - - y -= 192; - if (x >= 0 && x < 256 && y >= 0 && y < 192) - { - NDS::TouchScreen(x, y); - NDS::PressKey(16+6); - touching = true; - } - } - return 0; - - case WM_LBUTTONUP: - case WM_NCLBUTTONUP: - if (touching) - { - NDS::ReleaseScreen(); - NDS::ReleaseKey(16+6); - touching = false; - } - return 0; - - case WM_MOUSEMOVE: - if (touching) - { - s16 x = (s16)(lparam & 0xFFFF); - s16 y = (s16)(lparam >> 16); - - y -= 192; - if (x >= 0 && x < 256 && y >= 0 && y < 192) - NDS::TouchScreen(x, y); - } - return 0; - - case WM_PAINT: - { - PAINTSTRUCT partisocialiste; - HDC dc = BeginPaint(window, &partisocialiste); - - SetDIBitsToDevice(dc, 0, 0, 256, 384, 0, 0, 0, 384, GPU::Framebuffer, (BITMAPINFO*)&bmp, DIB_RGB_COLORS); - - EndPaint(window, &partisocialiste); - } - return 0; - } - - return DefWindowProc(window, msg, wparam, lparam); -} - - -int main() -{ - printf("melonDS version uh... 0.1??\n"); - printf("it's a DS emulator!!!\n"); - printf("http://melonds.kuribo64.net/\n"); - quit = false; - touching = false; - - instance = GetModuleHandle(NULL); - - //SetThreadAffinityMask(GetCurrentThread(), 0x8); - - // god this shit sucks - WNDCLASSEX shit; - shit.cbSize = sizeof(shit); - shit.style = CS_HREDRAW | CS_VREDRAW; - shit.lpfnWndProc = derpo; - shit.cbClsExtra = 0; - shit.cbWndExtra = 0; - shit.hInstance = instance; - shit.hIcon = NULL; - shit.hIconSm = NULL; - shit.hCursor = NULL; - shit.hbrBackground = (HBRUSH)(COLOR_WINDOWFRAME+1); - shit.lpszMenuName = NULL; - shit.lpszClassName = "v0ltmeters"; - RegisterClassEx(&shit); - - RECT rekt; - rekt.left = 0; rekt.top = 0; - rekt.right = 256; rekt.bottom = 384; - AdjustWindowRect(&rekt, WS_OVERLAPPEDWINDOW, FALSE); - - melon = CreateWindow("v0ltmeters", - "melonDS " VERSION, - WS_OVERLAPPEDWINDOW, - CW_USEDEFAULT, CW_USEDEFAULT, - rekt.right-rekt.left, rekt.bottom-rekt.top, - NULL, - NULL, - instance, - NULL); - - ShowWindow(melon, SW_SHOW); - - // more sucky shit! - memset(&bmp, 0, sizeof(bmp)); - bmp.bV4Size = sizeof(bmp); - bmp.bV4Width = 256; - bmp.bV4Height = -384; - bmp.bV4Planes = 1; - bmp.bV4BitCount = 32; - bmp.bV4V4Compression = BI_RGB|BI_BITFIELDS; - bmp.bV4RedMask = 0x000000FF; - bmp.bV4GreenMask = 0x0000FF00; - bmp.bV4BlueMask = 0x00FF0000; - - NDS::Init(); - - u32 nframes = 0; - u32 lasttick = GetTickCount(); - - for (;;) - { - MSG msg; - while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) - { - if (msg.message == WM_QUIT) - { - quit = true; - break; - } - - TranslateMessage(&msg); - DispatchMessage(&msg); - } - if (quit) break; - - NDS::RunFrame(); - - //HDC dc = GetDC(melon); - //SetDIBitsToDevice(dc, 0, 0, 256, 384, 0, 0, 0, 384, GPU::Framebuffer, (BITMAPINFO*)&bmp, DIB_RGB_COLORS); - InvalidateRect(melon, NULL, false); - UpdateWindow(melon); - - nframes++; - if (nframes >= 30) - { - u32 tick = GetTickCount(); - u32 diff = tick - lasttick; - lasttick = tick; - - u32 fps = (nframes * 1000) / diff; - nframes = 0; - - char melontitle[100]; - sprintf(melontitle, "melonDS " VERSION " | %d FPS", fps); - SetWindowText(melon, melontitle); - } - } - printf("deinit\n"); - NDS::DeInit(); - - return 0; -} -- cgit v1.2.3