Skip to content

Commit

Permalink
- compilation fixes and version update
Browse files Browse the repository at this point in the history
- news updates
  • Loading branch information
pokemonhacker committed Dec 20, 2004
1 parent eedf816 commit e209de2
Show file tree
Hide file tree
Showing 8 changed files with 144 additions and 62 deletions.
49 changes: 49 additions & 0 deletions NEWS
@@ -1,3 +1,52 @@
Version 1.8.0:
Core changes:
- added almost all AR V3 cheat codes (PokemonHacker)
- added prefetch emulation
- added full CBA support (verified for every CBA code type)
- added emulation for DMA interaction with reading from invalid address
- fixed CPU init for 256Mbit roms
- fixed HuffUnComp bug regarding tree size (SF #984608)
- fixed RTC support for day of the week (fixed at Sunday before)
- fixed loading of ELF multiboot files (thanks J.W.)
- fixed bug on CBA code type 5
- fixed OBJWIN rendering bug when sprite wraps around (SF #1065447)
- fixed battery saving bug when save type equals to Flash or Sram
- fixed a compilation warning
- fixed BIOS ArcTan and ArcTan2 emulation (several bugs)
- fixed some instruction having incorrect cycles (caused SDL debugger to skip several instructions)
- fixed lq2x filter (was using hq2x code)
- fixed some bugs with IntrWait emulation
- fixed some timer bugs
- fixed memory timing when loading a save state (was using the timings before loading the state)
- fixed bug writing to IO register past 0x4000400 (no mirroring)
- initialize sram and flash memory to 0xff instead of 0x00
- clean flash/sram on load/reload
- ignore 8-bit writes to OBJ and OAM memory
- major AR V1/2/3 support by PokemonHacker
- simplified GBA emulation loop (easier to understand and maintain)

Windows:
- added dialog to edit game overrides
- added GPL link to Help menu
- fixed GB Disassemble crash when going to another address
- fixed a minor repaint bug when focus changed
- fixed problem displaying rom names that use & character
- fixed palette save name bug
- moved vsync code to where it should be
- moved common palette initialization and cleaned up rendering code to use it

SDL versions:
- SDL debugger improvements adapted from VBA-H:
- break on change
- conditional breakpoints (ARM and THUMB)
- dump load and save (memory)
- edit register (exception of R15)
- disassemble to file
- save and load state from debugger

Other:
- fixed some compilation issues (libpng, gtkmm)

Version 1.7.2:
Core changes:
- fixed bugs on ELF clean up
Expand Down
2 changes: 1 addition & 1 deletion README
@@ -1,4 +1,4 @@
Welcome to version 1.7.2 of VisualBoyAdvance [SDL].
Welcome to version 1.8.0 of VisualBoyAdvance [SDL].
This is a GB/GBC/GBA emulator for Windows, Linux, MacOS X and BeOS.

Features
Expand Down
2 changes: 1 addition & 1 deletion README-win.txt
@@ -1,4 +1,4 @@
Welcome to VisualBoyAdvance version 1.7.2.
Welcome to VisualBoyAdvance version 1.8.0.

Compiling the sources
---------------------
Expand Down
2 changes: 1 addition & 1 deletion VERSION
@@ -1 +1 @@
VisualBoyAdvance 1.7.2
VisualBoyAdvance 1.8.0
4 changes: 2 additions & 2 deletions configure
Expand Up @@ -1705,7 +1705,7 @@ fi
# Define the identity of the package.
PACKAGE=VisualBoyAdvance
VERSION=1.7.2
VERSION=1.8.0
cat >>confdefs.h <<_ACEOF
Expand Down Expand Up @@ -7848,7 +7848,7 @@ fi
done
GETTEXT_PACKAGE=vba-1.7.2
GETTEXT_PACKAGE=vba-1.8.0
Expand Down
4 changes: 2 additions & 2 deletions configure.in
Expand Up @@ -16,7 +16,7 @@ case "$target" in
;;
esac

AM_INIT_AUTOMAKE(VisualBoyAdvance, 1.7.2)
AM_INIT_AUTOMAKE(VisualBoyAdvance, 1.8.0)

AC_ARG_ENABLE(c-core,
AC_HELP_STRING([--enable-c-core],[enable C core (default is no on x86 targets)]),
Expand Down Expand Up @@ -140,7 +140,7 @@ if test "x$enable_gtk" = xyes; then
ALL_LINGUAS="fr"
AM_GNU_GETTEXT(external)
AC_CHECK_HEADERS(libintl.h)
GETTEXT_PACKAGE=vba-1.7.2
GETTEXT_PACKAGE=vba-1.8.0
AC_SUBST(GETTEXT_PACKAGE)

PKG_CHECK_MODULES(GTKMM, gtkmm-$gtk_version >= 2.0.0 libglademm-$gtk_version >= 2.1.0)
Expand Down
32 changes: 32 additions & 0 deletions src/sdl/TestEmu.cpp
Expand Up @@ -352,6 +352,38 @@ void systemSetTitle(const char *title)
{
}

void sdlWriteState(int num)
{
char stateName[2048];

if(saveDir[0])
sprintf(stateName, "%s/%s%d.sgm", saveDir, sdlGetFilename(filename),
num+1);
else
sprintf(stateName,"%s%d.sgm", filename, num+1);
if(emulator.emuWriteState)
emulator.emuWriteState(stateName);
sprintf(stateName, "Wrote state %d", num+1);
systemScreenMessage(stateName);
}

void sdlReadState(int num)
{
char stateName[2048];

if(saveDir[0])
sprintf(stateName, "%s/%s%d.sgm", saveDir, sdlGetFilename(filename),
num+1);
else
sprintf(stateName,"%s%d.sgm", filename, num+1);

if(emulator.emuReadState)
emulator.emuReadState(stateName);

sprintf(stateName, "Loaded state %d", num+1);
systemScreenMessage(stateName);
}

void systemScreenCapture(int a)
{
char buffer[2048];
Expand Down
111 changes: 56 additions & 55 deletions src/sdl/debugger.cpp
Expand Up @@ -21,6 +21,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

#include "GBA.h"
#include "Port.h"
Expand Down Expand Up @@ -73,54 +74,54 @@ struct DebuggerCommand {
char *syntax;
};

void debuggerContinueAfterBreakpoint();

void debuggerHelp(int,char **);
void debuggerNext(int,char **);
void debuggerContinue(int, char **);
void debuggerRegisters(int, char **);
void debuggerBreak(int, char **);
void debuggerBreakDelete(int, char **);
void debuggerBreakList(int, char **);
void debuggerBreakArm(int, char **);
void debuggerBreakThumb(int, char **);
void debuggerBreakChange(int, char **);
void debuggerBreakChangeClear(int, char **);
void debuggerBreakWriteClear(int, char **);
void debuggerBreakWrite(int, char **);
void debuggerDebug(int, char **);
void debuggerDisassemble(int, char **);
void debuggerDisassembleArm(int, char **);
void debuggerDisassembleThumb(int, char **);
void debuggerEditByte(int, char **);
void debuggerEditHalfWord(int, char **);
void debuggerEditRegister(int, char **);
void debuggerEdit(int, char **);
void debuggerFileDisassemble(int, char **);
void debuggerFileDisassembleArm(int, char **);
void debuggerFileDisassembleThumb(int, char **);
void debuggerIo(int, char **);
void debuggerLocals(int, char **);
void debuggerMemoryByte(int, char **);
void debuggerMemoryHalfWord(int, char **);
void debuggerMemory(int, char **);
void debuggerPrint(int, char **);
void debuggerQuit(int, char **);
void debuggerSetRadix(int, char **);
void debuggerSymbols(int, char **);
void debuggerVerbose(int, char **);
void debuggerWhere(int, char **);

void debuggerReadState(int, char **);
void debuggerWriteState(int, char **);
void debuggerDumpLoad(int, char**);
void debuggerDumpSave(int, char**);
void debuggerCondValidate(int n, char **args, int start);
bool debuggerCondEvaluate(int num);
void debuggerCondBreakThumb(int, char **);
void debuggerCondBreakArm(int, char **);

DebuggerCommand debuggerCommands[] = {
static void debuggerContinueAfterBreakpoint();

static void debuggerHelp(int,char **);
static void debuggerNext(int,char **);
static void debuggerContinue(int, char **);
static void debuggerRegisters(int, char **);
static void debuggerBreak(int, char **);
static void debuggerBreakDelete(int, char **);
static void debuggerBreakList(int, char **);
static void debuggerBreakArm(int, char **);
static void debuggerBreakThumb(int, char **);
static void debuggerBreakChange(int, char **);
static void debuggerBreakChangeClear(int, char **);
static void debuggerBreakWriteClear(int, char **);
static void debuggerBreakWrite(int, char **);
static void debuggerDebug(int, char **);
static void debuggerDisassemble(int, char **);
static void debuggerDisassembleArm(int, char **);
static void debuggerDisassembleThumb(int, char **);
static void debuggerEditByte(int, char **);
static void debuggerEditHalfWord(int, char **);
static void debuggerEditRegister(int, char **);
static void debuggerEdit(int, char **);
static void debuggerFileDisassemble(int, char **);
static void debuggerFileDisassembleArm(int, char **);
static void debuggerFileDisassembleThumb(int, char **);
static void debuggerIo(int, char **);
static void debuggerLocals(int, char **);
static void debuggerMemoryByte(int, char **);
static void debuggerMemoryHalfWord(int, char **);
static void debuggerMemory(int, char **);
static void debuggerPrint(int, char **);
static void debuggerQuit(int, char **);
static void debuggerSetRadix(int, char **);
static void debuggerSymbols(int, char **);
static void debuggerVerbose(int, char **);
static void debuggerWhere(int, char **);

static void debuggerReadState(int, char **);
static void debuggerWriteState(int, char **);
static void debuggerDumpLoad(int, char**);
static void debuggerDumpSave(int, char**);
static void debuggerCondValidate(int n, char **args, int start);
static bool debuggerCondEvaluate(int num);
static void debuggerCondBreakThumb(int, char **);
static void debuggerCondBreakArm(int, char **);

static DebuggerCommand debuggerCommands[] = {
{ "?", debuggerHelp, "Show this help information. Type ? <command> for command help", "[<command>]" },
{ "ba", debuggerBreakArm, "Add an ARM breakpoint", "<address>" },
{ "bd", debuggerBreakDelete,"Delete a breakpoint", "<number>" },
Expand Down Expand Up @@ -368,10 +369,10 @@ static char *debuggerPrintType(Type *t)
return t->name;
}

void debuggerPrintValueInternal(Function *, Type *, ELFBlock *, int, int, u32);
void debuggerPrintValueInternal(Function *f, Type *t,
int bitSize, int bitOffset,
u32 objLocation, LocationType type);
static void debuggerPrintValueInternal(Function *, Type *, ELFBlock *, int, int, u32);
static void debuggerPrintValueInternal(Function *f, Type *t,
int bitSize, int bitOffset,
u32 objLocation, LocationType type);

static u32 debuggerGetValue(u32 location, LocationType type)
{
Expand Down Expand Up @@ -1860,7 +1861,7 @@ static void debuggerCondValidate(int n,char **args,int start)
u32 value1=0;
u32 value2=0;

char size=NULL;
char size=0;
int j=1;

if(n==6) {
Expand Down Expand Up @@ -1911,7 +1912,7 @@ static void debuggerCondValidate(int n,char **args,int start)
break;
default:
printf("Erroneous Condition\n");
debuggerUsage((toupper(args[0][2])=='T') ? "cbt" : "cba");
debuggerUsage((char *)((toupper(args[0][2])=='T') ? "cbt" : "cba"));
return;
}
debuggerBreakpointList[i].ia1=true;
Expand Down Expand Up @@ -2010,7 +2011,7 @@ static void debuggerCondValidate(int n,char **args,int start)
break;
default:
printf("Erroneous Condition\n");
debuggerUsage((toupper(args[0][2])=='T') ? "cbt" : "cba");
debuggerUsage((char *)((toupper(args[0][2])=='T') ? "cbt" : "cba"));
return;
}
break;
Expand Down

0 comments on commit e209de2

Please sign in to comment.