From: Pokemonhacker <pok...@us...> - 2005-06-25 06:23:43
|
Update of /cvsroot/vba/VisualBoyAdvance/src/win32 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11978 Modified Files: Disassemble.cpp FileDlg.cpp IOViewer.cpp IOViewer.h IOViewerRegs.h MainWndFile.cpp MapView.cpp resource.h VBA.cpp vba.rc Log Message: - Fixed some crash bugs on VBA Tools when no roms were loaded. - Fixed some crash in the 'open file' menus. - Fixed a crash bug on closing VBA (it wouldn't stop emulating in some cases). - Made it that clicking on the currently used screen size now resizes the screen (before it was ignored). Can be useful if you resized the window manually by mistake. - IO Viewer : Renamed BG8VHOFS to BG2VHOFS ; made that changing the bits of a register updates the value shown on the IO Viewer ; made that clicking on 'Refresh' reloads the in-ram value of the selected register ; the checkbox of the 4th bit of SOUNDCNT_H is now disabled. - Disassemble Window : clicking on 'go' now aligns the address automatically, depending on what disassemble mode has been selected (ARM or THUMB). - Added a 'pseudo-support' for GFX modes 6&7 (but no games should use them). Index: MapView.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/MapView.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** MapView.cpp 13 May 2004 15:06:50 -0000 1.7 --- MapView.cpp 25 Jun 2005 06:23:31 -0000 1.8 *************** *** 1,5 **** // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. // Copyright (C) 1999-2003 Forgotten ! // Copyright (C) 2004 Forgotten and the VBA development team // This program is free software; you can redistribute it and/or modify --- 1,5 ---- // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. // Copyright (C) 1999-2003 Forgotten ! // Copyright (C) 2005 Forgotten and the VBA development team // This program is free software; you can redistribute it and/or modify *************** *** 466,469 **** --- 466,470 ---- } + void MapView::OnRefresh() { *************** *** 512,515 **** --- 513,522 ---- renderMode5(); break; + case 6: + renderMode5(); + break; + case 7: + renderMode5(); + break; } enableButtons(mode); *************** *** 760,764 **** // all text bgs (16 bits) ! if(mode == 0 ||(mode < 3 && bg < 2)) { return GetTextClickAddress(base, x, y); } --- 767,771 ---- // all text bgs (16 bits) ! if(mode == 0 ||(mode < 3 && bg < 2) || mode == 6 || mode == 7) { return GetTextClickAddress(base, x, y); } *************** *** 792,796 **** int mode = DISPCNT & 7; ! if(mode >= 3) { // bitmap modes GetDlgItem(IDC_TILE_NUM)->SetWindowText("---"); --- 799,803 ---- int mode = DISPCNT & 7; ! if(mode >= 3 && mode <=5) { // bitmap modes GetDlgItem(IDC_TILE_NUM)->SetWindowText("---"); Index: VBA.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/VBA.cpp,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** VBA.cpp 13 May 2004 15:06:55 -0000 1.11 --- VBA.cpp 25 Jun 2005 06:23:31 -0000 1.12 *************** *** 1,5 **** // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. // Copyright (C) 1999-2003 Forgotten ! // Copyright (C) 2004 Forgotten and the VBA development team // This program is free software; you can redistribute it and/or modify --- 1,5 ---- // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. // Copyright (C) 1999-2003 Forgotten ! // Copyright (C) 2005 Forgotten and the VBA development team // This program is free software; you can redistribute it and/or modify *************** *** 1462,1467 **** } ! if(videoOption == value && value != VIDEO_OTHER) ! return; updateWindowSize(value); --- 1462,1467 ---- } ! //if(videoOption == value && value != VIDEO_OTHER) ! // return; updateWindowSize(value); Index: IOViewerRegs.h =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/IOViewerRegs.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** IOViewerRegs.h 13 May 2004 15:06:50 -0000 1.2 --- IOViewerRegs.h 25 Jun 2005 06:23:31 -0000 1.3 *************** *** 2,6 **** // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. // Copyright (C) 1999-2003 Forgotten ! // Copyright (C) 2004 Forgotten and the VBA development team // This program is free software; you can redistribute it and/or modify --- 2,6 ---- // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. // Copyright (C) 1999-2003 Forgotten ! // Copyright (C) 2005 Forgotten and the VBA development team // This program is free software; you can redistribute it and/or modify *************** *** 259,263 **** }, { ! &BG2HOFS, 0x18, "0x4000018-BG8HOFS", 0x01FF, { "", --- 259,263 ---- }, { ! &BG2HOFS, 0x18, "0x4000018-BG2HOFS", 0x01FF, { "", *************** *** 1120,1124 **** }, { ! NULL, 0x82, "0x4000082-SGCNT0_H", 0xFF1F, { "", --- 1120,1124 ---- }, { ! NULL, 0x82, "0x4000082-SGCNT0_H", 0xFF0F, { "", Index: MainWndFile.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/MainWndFile.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** MainWndFile.cpp 14 Nov 2004 18:54:40 -0000 1.9 --- MainWndFile.cpp 25 Jun 2005 06:23:31 -0000 1.10 *************** *** 1,5 **** // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. // Copyright (C) 1999-2003 Forgotten ! // Copyright (C) 2004 Forgotten and the VBA development team // This program is free software; you can redistribute it and/or modify --- 1,5 ---- // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. // Copyright (C) 1999-2003 Forgotten ! // Copyright (C) 2005 Forgotten and the VBA development team // This program is free software; you can redistribute it and/or modify *************** *** 169,173 **** theApp.szFile = ""; ! LPCTSTR exts[] = { "" }; CString filter = winLoadFilter(IDS_FILTER_GBROM); CString title = winResLoadString(IDS_SELECT_ROM); --- 169,173 ---- theApp.szFile = ""; ! LPCTSTR exts[] = { "", "", "", "" }; CString filter = winLoadFilter(IDS_FILTER_GBROM); CString title = winResLoadString(IDS_SELECT_ROM); *************** *** 422,426 **** { theApp.winCheckFullscreen(); ! LPCTSTR exts[] = { "" }; CString filter = theApp.cartridgeType == 1 ? winLoadFilter(IDS_FILTER_GBS) : winLoadFilter(IDS_FILTER_SPS); CString title = winResLoadString(IDS_SELECT_SNAPSHOT_FILE); --- 422,426 ---- { theApp.winCheckFullscreen(); ! LPCTSTR exts[] = { ".gbs" }; CString filter = theApp.cartridgeType == 1 ? winLoadFilter(IDS_FILTER_GBS) : winLoadFilter(IDS_FILTER_SPS); CString title = winResLoadString(IDS_SELECT_SNAPSHOT_FILE); *************** *** 566,570 **** CString capdir = regQueryStringValue("captureDir", ""); if(capdir.IsEmpty()) ! capdir = getDirFromFile(name); CString ext = "png"; --- 566,570 ---- CString capdir = regQueryStringValue("captureDir", ""); if(capdir.IsEmpty()) ! capdir = getDirFromFile(theApp.filename); CString ext = "png"; Index: vba.rc =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/vba.rc,v retrieving revision 1.49 retrieving revision 1.50 diff -C2 -d -r1.49 -r1.50 *** vba.rc 18 Dec 2004 23:11:08 -0000 1.49 --- vba.rc 25 Jun 2005 06:23:31 -0000 1.50 *************** *** 1202,1206 **** END ! IDD_GAME_OVERRIDES DIALOG DISCARDABLE 0, 0, 271, 118 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Game overrides" --- 1202,1206 ---- END ! IDD_GAME_OVERRIDES DIALOG DISCARDABLE 0, 0, 271, 138 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Game overrides" *************** *** 1213,1219 **** COMBOBOX IDC_FLASH_SIZE,152,76,112,12,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP ! DEFPUSHBUTTON "OK",IDOK,7,97,50,14 ! PUSHBUTTON "Defaults",IDC_DEFAULTS,110,97,50,14 ! PUSHBUTTON "Cancel",IDCANCEL,213,97,50,14 LTEXT "Overrides for game:",IDC_STATIC,7,17,140,8 EDITTEXT IDC_NAME,152,15,112,14,ES_AUTOHSCROLL | WS_DISABLED --- 1213,1221 ---- COMBOBOX IDC_FLASH_SIZE,152,76,112,12,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP ! COMBOBOX IDC_MIRRORING,152,97,112,12,CBS_DROPDOWNLIST | ! WS_VSCROLL | WS_TABSTOP ! DEFPUSHBUTTON "OK",IDOK,7,117,50,14 ! PUSHBUTTON "Defaults",IDC_DEFAULTS,110,117,50,14 ! PUSHBUTTON "Cancel",IDCANCEL,213,117,50,14 LTEXT "Overrides for game:",IDC_STATIC,7,17,140,8 EDITTEXT IDC_NAME,152,15,112,14,ES_AUTOHSCROLL | WS_DISABLED *************** *** 1221,1224 **** --- 1223,1227 ---- LTEXT "Save Type:",IDC_STATIC,7,57,140,8 LTEXT "Flash Size:",IDC_STATIC,7,77,140,8 + LTEXT "Mirroring:",IDC_STATIC,7,97,140,8 END Index: FileDlg.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/FileDlg.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** FileDlg.cpp 13 May 2004 15:06:49 -0000 1.5 --- FileDlg.cpp 25 Jun 2005 06:23:31 -0000 1.6 *************** *** 1,5 **** // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. // Copyright (C) 1999-2003 Forgotten ! // Copyright (C) 2004 Forgotten and the VBA development team // This program is free software; you can redistribute it and/or modify --- 1,5 ---- // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. // Copyright (C) 1999-2003 Forgotten ! // Copyright (C) 2005 Forgotten and the VBA development team // This program is free software; you can redistribute it and/or modify *************** *** 19,23 **** // FileDlg.cpp: implementation of the FileDlg class. // ! ////////////////////////////////////////////////////////////////////// #include "stdafx.h" #include <commdlg.h> --- 19,23 ---- // FileDlg.cpp: implementation of the FileDlg class. // ! #include "stdafx.h" #include <commdlg.h> *************** *** 167,177 **** if(filename.GetLength() == 0) { ! filename.Format("*%s", typeName); } else { ! int index = filename.Find('.'); ! if (index == -1) { ! filename = filename + typeName; ! } else { ! filename = filename.Left(index) + typeName; } } --- 167,180 ---- if(filename.GetLength() == 0) { ! if(strlen(typeName) != 0) ! filename.Format("*%s", typeName); } else { ! if(strlen(typeName) != 0) { ! int index = filename.Find('.'); ! if (index == -1) { ! filename = filename + typeName; ! } else { ! filename = filename.Left(index) + typeName; ! } } } Index: resource.h =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/resource.h,v retrieving revision 1.38 retrieving revision 1.39 diff -C2 -d -r1.38 -r1.39 *** resource.h 18 Dec 2004 23:11:08 -0000 1.38 --- resource.h 25 Jun 2005 06:23:31 -0000 1.39 *************** *** 505,508 **** --- 505,509 ---- #define IDC_BIT_14 1264 #define IDC_BIT_15 1265 + #define IDC_MIRRORING 1266 #define ID_HELP_ABOUT 40001 #define ID_FILE_EXIT 40002 Index: IOViewer.h =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/IOViewer.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** IOViewer.h 13 May 2004 15:06:50 -0000 1.2 --- IOViewer.h 25 Jun 2005 06:23:31 -0000 1.3 *************** *** 2,6 **** // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. // Copyright (C) 1999-2003 Forgotten ! // Copyright (C) 2004 Forgotten and the VBA development team // This program is free software; you can redistribute it and/or modify --- 2,6 ---- // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. // Copyright (C) 1999-2003 Forgotten ! // Copyright (C) 2005 Forgotten and the VBA development team // This program is free software; you can redistribute it and/or modify *************** *** 38,41 **** --- 38,42 ---- public: void update(); + void bitChange(); bool autoUpdate; int selected; Index: Disassemble.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/Disassemble.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Disassemble.cpp 13 May 2004 15:06:49 -0000 1.3 --- Disassemble.cpp 25 Jun 2005 06:23:31 -0000 1.4 *************** *** 1,5 **** // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. // Copyright (C) 1999-2003 Forgotten ! // Copyright (C) 2004 Forgotten and the VBA development team // This program is free software; you can redistribute it and/or modify --- 1,5 ---- // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. // Copyright (C) 1999-2003 Forgotten ! // Copyright (C) 2005 Forgotten and the VBA development team // This program is free software; you can redistribute it and/or modify *************** *** 119,122 **** --- 119,123 ---- { mode = 1; + address&=0xfffffffC; refresh(); } *************** *** 134,137 **** --- 135,142 ---- m_address.GetWindowText(buffer); sscanf(buffer, "%x", &address); + if (mode==1) + address&=0xfffffffc; + else if (mode==2) + address&=0xfffffffe; refresh(); } *************** *** 139,142 **** --- 144,149 ---- void Disassemble::OnGopc() { + if(rom != NULL) + { if(armState) address = armNextPC - 16; *************** *** 145,152 **** --- 152,162 ---- refresh(); + } } void Disassemble::OnNext() { + if(rom != NULL) + { CPULoop(1); if(armState) { *************** *** 164,167 **** --- 174,178 ---- } refresh(); + } } *************** *** 174,177 **** --- 185,189 ---- { mode = 2; + address&=0xfffffffe; refresh(); } Index: IOViewer.cpp =================================================================== RCS file: /cvsroot/vba/VisualBoyAdvance/src/win32/IOViewer.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** IOViewer.cpp 13 May 2004 15:06:50 -0000 1.2 --- IOViewer.cpp 25 Jun 2005 06:23:31 -0000 1.3 *************** *** 1,5 **** // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. // Copyright (C) 1999-2003 Forgotten ! // Copyright (C) 2004 Forgotten and the VBA development team // This program is free software; you can redistribute it and/or modify --- 1,5 ---- // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. // Copyright (C) 1999-2003 Forgotten ! // Copyright (C) 2005 Forgotten and the VBA development team // This program is free software; you can redistribute it and/or modify *************** *** 68,71 **** --- 68,87 ---- ON_CBN_SELCHANGE(IDC_ADDRESSES, OnSelchangeAddresses) ON_BN_CLICKED(IDC_APPLY, OnApply) + ON_BN_CLICKED(IDC_BIT_0, bitChange) + ON_BN_CLICKED(IDC_BIT_1, bitChange) + ON_BN_CLICKED(IDC_BIT_2, bitChange) + ON_BN_CLICKED(IDC_BIT_3, bitChange) + ON_BN_CLICKED(IDC_BIT_4, bitChange) + ON_BN_CLICKED(IDC_BIT_5, bitChange) + ON_BN_CLICKED(IDC_BIT_6, bitChange) + ON_BN_CLICKED(IDC_BIT_7, bitChange) + ON_BN_CLICKED(IDC_BIT_8, bitChange) + ON_BN_CLICKED(IDC_BIT_9, bitChange) + ON_BN_CLICKED(IDC_BIT_10, bitChange) + ON_BN_CLICKED(IDC_BIT_11, bitChange) + ON_BN_CLICKED(IDC_BIT_12, bitChange) + ON_BN_CLICKED(IDC_BIT_13, bitChange) + ON_BN_CLICKED(IDC_BIT_14, bitChange) + ON_BN_CLICKED(IDC_BIT_15, bitChange) //}}AFX_MSG_MAP END_MESSAGE_MAP() *************** *** 81,88 **** } void IOViewer::OnRefresh() { // TODO: Add your control notification handler code here ! } --- 97,123 ---- } + void IOViewer::bitChange() + { + CString buffer; + u16 data = 0; + + for(int i = 0; i < 16; i++) { + CButton *pWnd = (CButton *)GetDlgItem(IDC_BIT_0 + i); + + if(pWnd) { + if(pWnd->GetCheck()) + data |= (1 << i); + } + } + + buffer.Format("%04X", data); + m_value.SetWindowText(buffer); + } + void IOViewer::OnRefresh() { // TODO: Add your control notification handler code here ! ! update(); } *************** *** 187,190 **** --- 222,227 ---- void IOViewer::OnApply() { + if(rom != NULL) + { const IOData *sel = &ioViewRegisters[selected]; u16 res = 0; *************** *** 199,201 **** --- 236,239 ---- CPUWriteHalfWord(0x4000000+sel->offset, res); update(); + } } |