Fix broken windows debugging tools (Disassembler Still not working correctly).

Added Flash 4Mbit save type
Fixed 2Mbit save type incorrectly set as FRAM.
This commit is contained in:
normmatt234 2008-11-19 06:50:00 +00:00
parent 5ba5bff4d2
commit d8c104af01
13 changed files with 90 additions and 19 deletions

View File

@ -39,13 +39,14 @@
#include "zero_private.h"
#include "mc.h"
static const int save_types[6][2] = {
static const int save_types[7][2] = {
{MC_TYPE_AUTODETECT,1},
{MC_TYPE_EEPROM1,MC_SIZE_4KBITS},
{MC_TYPE_EEPROM2,MC_SIZE_64KBITS},
{MC_TYPE_EEPROM2,MC_SIZE_512KBITS},
{MC_TYPE_FLASH,MC_SIZE_256KBITS},
{MC_TYPE_FRAM,MC_SIZE_2MBITS}
{MC_TYPE_FRAM,MC_SIZE_256KBITS},
{MC_TYPE_FLASH,MC_SIZE_2MBITS},
{MC_TYPE_FLASH,MC_SIZE_4MBITS}
};

View File

@ -108,10 +108,19 @@ void mc_reset_com(memory_chip_t *mc)
addr = (mc->autodetectbuf[0] << 8) | mc->autodetectbuf[1];
mc->type = MC_TYPE_FRAM;
mc->size = MC_SIZE_256KBITS;
}
else if (mc->autodetectsize == (512+3))
{
// Flash 4Mbit
addr = (mc->autodetectbuf[0] << 16) |
(mc->autodetectbuf[1] << 8) |
mc->autodetectbuf[2];
mc->type = MC_TYPE_FLASH;
mc->size = MC_SIZE_4MBITS;
}
else if (mc->autodetectsize == (256+3))
{
// Flash
// Flash 2Mbit
addr = (mc->autodetectbuf[0] << 16) |
(mc->autodetectbuf[1] << 8) |
mc->autodetectbuf[2];
@ -213,6 +222,8 @@ void mc_load_file(memory_chip_t *mc, const char* filename)
type = MC_TYPE_EEPROM2;
else if (size >= MC_SIZE_2MBITS)
type = MC_TYPE_FLASH;
else if (size >= MC_SIZE_4MBITS)
type = MC_TYPE_FLASH;
if (type != -1)
mc_realloc(mc, type, size);
@ -259,6 +270,8 @@ int mc_load_duc(memory_chip_t *mc, const char* filename)
type = MC_TYPE_EEPROM2;
else if (size >= MC_SIZE_2MBITS)
type = MC_TYPE_FLASH;
else if (size >= MC_SIZE_4MBITS)
type = MC_TYPE_FLASH;
if (type != -1)
mc_realloc(mc, type, size);

View File

@ -429,6 +429,10 @@ BOOL CALLBACK ViewDisasm_ARM7Proc (HWND hwnd, UINT message, WPARAM wParam, LPARA
case IDC_AUTO_UPDATE_SECS:
{
u16 t = GetDlgItemInt(hwnd, IDC_AUTO_UPDATE_SECS, FALSE, TRUE);
if (!DisView7)
{
SendMessage(hwnd, WM_INITDIALOG, 0, 0);
}
if (t != DisView7->autoup_secs)
{
DisView7->autoup_secs = t;
@ -665,6 +669,10 @@ BOOL CALLBACK ViewDisasm_ARM9Proc (HWND hwnd, UINT message, WPARAM wParam, LPARA
case IDC_AUTO_UPDATE_SECS:
{
u16 t = GetDlgItemInt(hwnd, IDC_AUTO_UPDATE_SECS, FALSE, TRUE);
if (!DisView9)
{
SendMessage(hwnd, WM_INITDIALOG, 0, 0);
}
if (t != DisView9->autoup_secs)
{
DisView9->autoup_secs = t;

View File

@ -161,6 +161,10 @@ BOOL CALLBACK ViewLightsProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lPa
case IDC_AUTO_UPDATE_SECS:
{
int t = GetDlgItemInt(hwnd, IDC_AUTO_UPDATE_SECS, FALSE, TRUE);
if (!LightsView)
{
SendMessage(hwnd, WM_INITDIALOG, 0, 0);
}
if (t != LightsView->autoup_secs)
{
LightsView->autoup_secs = t;

View File

@ -2219,38 +2219,53 @@ LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM
osd->clear();
return 0;
#define saver(one,two,three,four,five, six) \
MainWindow->checkMenu(IDC_SAVETYPE1, MF_BYCOMMAND | one); \
MainWindow->checkMenu(IDC_SAVETYPE2, MF_BYCOMMAND | two); \
MainWindow->checkMenu(IDC_SAVETYPE3, MF_BYCOMMAND | three); \
MainWindow->checkMenu(IDC_SAVETYPE4, MF_BYCOMMAND | four); \
MainWindow->checkMenu(IDC_SAVETYPE5, MF_BYCOMMAND | five); \
MainWindow->checkMenu(IDC_SAVETYPE6, MF_BYCOMMAND | six);
#define clearsaver() \
MainWindow->checkMenu(IDC_SAVETYPE1, MF_BYCOMMAND | MF_UNCHECKED); \
MainWindow->checkMenu(IDC_SAVETYPE2, MF_BYCOMMAND | MF_UNCHECKED); \
MainWindow->checkMenu(IDC_SAVETYPE3, MF_BYCOMMAND | MF_UNCHECKED); \
MainWindow->checkMenu(IDC_SAVETYPE4, MF_BYCOMMAND | MF_UNCHECKED); \
MainWindow->checkMenu(IDC_SAVETYPE5, MF_BYCOMMAND | MF_UNCHECKED); \
MainWindow->checkMenu(IDC_SAVETYPE6, MF_BYCOMMAND | MF_UNCHECKED); \
MainWindow->checkMenu(IDC_SAVETYPE7, MF_BYCOMMAND | MF_UNCHECKED);
#define saver(one) \
MainWindow->checkMenu(one, MF_BYCOMMAND | MF_CHECKED);
case IDC_SAVETYPE1:
saver(MF_CHECKED,MF_UNCHECKED,MF_UNCHECKED,MF_UNCHECKED,MF_UNCHECKED,MF_UNCHECKED);
clearsaver();
saver(IDC_SAVETYPE1);
mmu_select_savetype(0,&backupmemorytype,&backupmemorysize);
return 0;
case IDC_SAVETYPE2:
saver(MF_UNCHECKED,MF_CHECKED,MF_UNCHECKED,MF_UNCHECKED,MF_UNCHECKED,MF_UNCHECKED);
clearsaver();
saver(IDC_SAVETYPE2);
mmu_select_savetype(1,&backupmemorytype,&backupmemorysize);
return 0;
case IDC_SAVETYPE3:
saver(MF_UNCHECKED,MF_UNCHECKED,MF_CHECKED,MF_UNCHECKED,MF_UNCHECKED,MF_UNCHECKED);
clearsaver();
saver(IDC_SAVETYPE2);
mmu_select_savetype(2,&backupmemorytype,&backupmemorysize);
return 0;
case IDC_SAVETYPE4:
saver(MF_UNCHECKED,MF_UNCHECKED,MF_UNCHECKED,MF_CHECKED,MF_UNCHECKED,MF_UNCHECKED);
clearsaver();
saver(IDC_SAVETYPE4);
mmu_select_savetype(3,&backupmemorytype,&backupmemorysize);
return 0;
case IDC_SAVETYPE5:
saver(MF_UNCHECKED,MF_UNCHECKED,MF_UNCHECKED,MF_UNCHECKED,MF_CHECKED,MF_UNCHECKED);
clearsaver();
saver(IDC_SAVETYPE5);
mmu_select_savetype(4,&backupmemorytype,&backupmemorysize);
return 0;
case IDC_SAVETYPE6:
saver(MF_UNCHECKED,MF_UNCHECKED,MF_UNCHECKED,MF_UNCHECKED,MF_UNCHECKED,MF_CHECKED);
clearsaver();
saver(IDC_SAVETYPE6);
mmu_select_savetype(5,&backupmemorytype,&backupmemorysize);
return 0;
case IDC_SAVETYPE7:
clearsaver();
saver(IDC_SAVETYPE7);
mmu_select_savetype(6,&backupmemorytype,&backupmemorysize);
return 0;
case IDM_RESET:
NDS_Reset();

View File

@ -285,6 +285,10 @@ BOOL CALLBACK ViewMapsProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lPara
case IDC_AUTO_UPDATE_SECS:
{
int t = GetDlgItemInt(hwnd, IDC_AUTO_UPDATE_SECS, FALSE, TRUE);
if (!MapView)
{
SendMessage(hwnd, WM_INITDIALOG, 0, 0);
}
if (t != MapView->autoup_secs)
{
MapView->autoup_secs = t;

View File

@ -227,6 +227,10 @@ BOOL CALLBACK ViewMatricesProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM l
case IDC_AUTO_UPDATE_SECS:
{
int t = GetDlgItemInt(hwnd, IDC_AUTO_UPDATE_SECS, FALSE, TRUE);
if (!MatrixView)
{
SendMessage(hwnd, WM_INITDIALOG, 0, 0);
}
if (t != MatrixView->autoup_secs)
{
MatrixView->autoup_secs = t;

View File

@ -279,6 +279,10 @@ bool CALLBACK ViewMem_ARM7Proc (HWND hwnd, UINT message, WPARAM wParam, LPARAM l
case IDC_AUTO_UPDATE_SECS:
{
int t = GetDlgItemInt(hwnd, IDC_AUTO_UPDATE_SECS, FALSE, TRUE);
if (!MemView7)
{
SendMessage(hwnd, WM_INITDIALOG, 0, 0);
}
if (t != MemView7->autoup_secs)
{
MemView7->autoup_secs = t;
@ -460,6 +464,10 @@ bool CALLBACK ViewMem_ARM9Proc (HWND hwnd, UINT message, WPARAM wParam, LPARAM l
case IDC_AUTO_UPDATE_SECS:
{
int t = GetDlgItemInt(hwnd, IDC_AUTO_UPDATE_SECS, FALSE, TRUE);
if (!MemView9)
{
SendMessage(hwnd, WM_INITDIALOG, 0, 0);
}
if (t != MemView9->autoup_secs)
{
MemView9->autoup_secs = t;

View File

@ -289,6 +289,10 @@ BOOL CALLBACK ViewOAMProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam
case IDC_AUTO_UPDATE_SECS:
{
int t = GetDlgItemInt(hwnd, IDC_AUTO_UPDATE_SECS, FALSE, TRUE);
if (!OAMView)
{
SendMessage(hwnd, WM_INITDIALOG, 0, 0);
}
if (t != OAMView->autoup_secs)
{
OAMView->autoup_secs = t;

View File

@ -186,6 +186,10 @@ BOOL CALLBACK ViewPalProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam
case IDC_AUTO_UPDATE_SECS:
{
int t = GetDlgItemInt(hwnd, IDC_AUTO_UPDATE_SECS, FALSE, TRUE);
if (!PalView)
{
SendMessage(hwnd, WM_INITDIALOG, 0, 0);
}
if (t != PalView->autoup_secs)
{
PalView->autoup_secs = t;

View File

@ -349,13 +349,14 @@
#define ID_FILE_RECENTROM 40034
#define ID_FIL_RECENTROM 40035
#define ID_FICHIER_RECENTROM 40036
#define IDC_SAVETYPE7 40037
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 107
#define _APS_NEXT_COMMAND_VALUE 40037
#define _APS_NEXT_COMMAND_VALUE 40038
#define _APS_NEXT_CONTROL_VALUE 1019
#define _APS_NEXT_SYMED_VALUE 112
#endif

View File

@ -17,7 +17,7 @@
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEU)
#ifdef _WIN32
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
#pragma code_page(1251)
#pragma code_page(1252)
#endif //_WIN32
/////////////////////////////////////////////////////////////////////////////
@ -764,6 +764,7 @@ BEGIN
MENUITEM "EEPROM 512kbit", IDC_SAVETYPE4
MENUITEM "FRAM 256kbit", IDC_SAVETYPE5
MENUITEM "FLASH 2mbit", IDC_SAVETYPE6
MENUITEM "FLASH 4mbit", IDC_SAVETYPE7
END
MENUITEM "Control Config", IDM_CONFIG
MENUITEM "Sound Settings", IDM_SOUNDSETTINGS

View File

@ -443,6 +443,10 @@ BOOL CALLBACK ViewTilesProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lPar
case IDC_AUTO_UPDATE_SECS:
{
int t = GetDlgItemInt(hwnd, IDC_AUTO_UPDATE_SECS, FALSE, TRUE);
if (!TileView)
{
SendMessage(hwnd, WM_INITDIALOG, 0, 0);
}
if (t != TileView->autoup_secs)
{
TileView->autoup_secs = t;