mirror of
https://github.com/dborth/vbagx.git
synced 2024-11-22 10:39:18 +01:00
structural changes
This commit is contained in:
parent
110cc7fc39
commit
bba6ccd468
@ -1,22 +1,3 @@
|
||||
// -*- C++ -*-
|
||||
// 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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#define N_(String) (String)
|
||||
|
||||
#define MSG_UNSUPPORTED_VBA_SGM 1
|
||||
|
@ -1,44 +1,11 @@
|
||||
// -*- C++ -*-
|
||||
// VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
|
||||
// Copyright (C) 1999-2003 Forgotten
|
||||
// Copyright (C) 2004 Forgotten and the VBA development team
|
||||
#ifndef SYSTEM_H
|
||||
#define SYSTEM_H
|
||||
|
||||
// This program 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 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#ifndef VBA_SYSTEM_H
|
||||
#define VBA_SYSTEM_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include "common/Types.h"
|
||||
|
||||
#include <zlib.h>
|
||||
|
||||
#ifndef NULL
|
||||
#define NULL 0
|
||||
#endif
|
||||
|
||||
|
||||
typedef uint8_t u8;
|
||||
typedef uint16_t u16;
|
||||
typedef uint32_t u32;
|
||||
typedef uint64_t u64;
|
||||
|
||||
typedef int8_t s8;
|
||||
typedef int16_t s16;
|
||||
typedef int32_t s32;
|
||||
typedef int64_t s64;
|
||||
|
||||
class SoundDriver;
|
||||
|
||||
struct EmulatedSystem {
|
||||
// main emulation function
|
||||
@ -84,12 +51,17 @@ extern u32 systemReadJoypad(int);
|
||||
extern u32 systemGetClock();
|
||||
extern void systemMessage(int, const char *, ...);
|
||||
extern void systemSetTitle(const char *);
|
||||
extern SoundDriver * systemSoundInit();
|
||||
extern void systemOnWriteDataToSoundBuffer(const u16 * finalWave, int length);
|
||||
extern void systemOnSoundShutdown();
|
||||
// old defs
|
||||
extern void systemWriteDataToSoundBuffer();
|
||||
extern void systemSoundShutdown();
|
||||
extern void systemSoundPause();
|
||||
extern void systemSoundResume();
|
||||
extern void systemSoundReset();
|
||||
extern bool systemSoundInit();
|
||||
// end old defs
|
||||
extern void systemScreenMessage(const char *);
|
||||
extern void systemUpdateMotionSensor();
|
||||
extern int systemGetSensorX();
|
||||
@ -122,9 +94,8 @@ extern int systemVerbose;
|
||||
extern int systemFrameSkip;
|
||||
extern int systemSaveUpdateCounter;
|
||||
extern int systemSpeed;
|
||||
extern int systemThrottle;
|
||||
|
||||
#define SYSTEM_SAVE_UPDATED 30
|
||||
#define SYSTEM_SAVE_NOT_UPDATED 0
|
||||
|
||||
#endif //VBA_SYSTEM_H
|
||||
#endif // SYSTEM_H
|
||||
|
@ -40,7 +40,7 @@ public:
|
||||
// a new time frame at the end of the current frame.
|
||||
void end_frame( blip_time_t time );
|
||||
|
||||
// Reads at most 'max_samples' out of buffer into 'dest', removing them from from
|
||||
// Reads at most 'max_samples' out of buffer into 'dest', removing them from
|
||||
// the buffer. Returns number of samples actually read and removed. If stereo is
|
||||
// true, increments 'dest' one extra time after writing each sample, to allow
|
||||
// easy interleving of two channels into a stereo output buffer.
|
||||
|
65
source/vba/common/SoundDriver.h
Normal file
65
source/vba/common/SoundDriver.h
Normal file
@ -0,0 +1,65 @@
|
||||
// VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
|
||||
// Copyright (C) 2008 VBA-M development team
|
||||
|
||||
// This program 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 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#ifndef __VBA_SOUND_DRIVER_H__
|
||||
#define __VBA_SOUND_DRIVER_H__
|
||||
|
||||
#include "Types.h"
|
||||
|
||||
/**
|
||||
* Sound driver abstract interface for the core to use to output sound.
|
||||
* Subclass this to implement a new sound driver.
|
||||
*/
|
||||
class SoundDriver
|
||||
{
|
||||
public:
|
||||
|
||||
/**
|
||||
* Destructor. Free the resources allocated by the sound driver.
|
||||
*/
|
||||
virtual ~SoundDriver() { };
|
||||
|
||||
/**
|
||||
* Initialize the sound driver.
|
||||
* @param sampleRate In Hertz
|
||||
*/
|
||||
virtual bool init(long sampleRate) = 0;
|
||||
|
||||
/**
|
||||
* Tell the driver that the sound stream has paused
|
||||
*/
|
||||
virtual void pause() = 0;
|
||||
|
||||
/**
|
||||
* Reset the sound driver
|
||||
*/
|
||||
virtual void reset() = 0;
|
||||
|
||||
/**
|
||||
* Tell the driver that the sound stream has resumed
|
||||
*/
|
||||
virtual void resume() = 0;
|
||||
|
||||
/**
|
||||
* Write length bytes of data from the finalWave buffer to the driver output buffer.
|
||||
*/
|
||||
virtual void write(u16 * finalWave, int length) = 0;
|
||||
|
||||
virtual void setThrottle(unsigned short throttle) { };
|
||||
};
|
||||
|
||||
#endif // __VBA_SOUND_DRIVER_H__
|
33
source/vba/common/Types.h
Normal file
33
source/vba/common/Types.h
Normal file
@ -0,0 +1,33 @@
|
||||
// VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
|
||||
// Copyright (C) 2008 VBA-M development team
|
||||
|
||||
// This program 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 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#ifndef __VBA_TYPES_H__
|
||||
#define __VBA_TYPES_H__
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
typedef uint8_t u8;
|
||||
typedef uint16_t u16;
|
||||
typedef uint32_t u32;
|
||||
typedef uint64_t u64;
|
||||
|
||||
typedef int8_t s8;
|
||||
typedef int16_t s16;
|
||||
typedef int32_t s32;
|
||||
typedef int64_t s64;
|
||||
|
||||
#endif // __VBA_TYPES_H__
|
@ -1,21 +1,3 @@
|
||||
// VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
|
||||
// Copyright (C) 1999-2003 Forgotten
|
||||
// Copyright (C) 2005-2006 Forgotten and the VBA development team
|
||||
|
||||
// This program 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 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
@ -3869,7 +3851,13 @@ static bool gbReadSaveState(gzFile gzFile)
|
||||
systemDrawScreen();
|
||||
|
||||
if(version > GBSAVE_GAME_VERSION_1)
|
||||
gbCheatsReadGame(gzFile, version);
|
||||
{
|
||||
if( skipSaveGameCheats ) {
|
||||
gbCheatsReadGameSkip(gzFile, version);
|
||||
} else {
|
||||
gbCheatsReadGame(gzFile, version);
|
||||
}
|
||||
}
|
||||
|
||||
if (version<11)
|
||||
{
|
||||
@ -4026,7 +4014,7 @@ void gbCleanUp()
|
||||
}
|
||||
|
||||
if(pix != NULL) {
|
||||
free(pix);
|
||||
free(pix);
|
||||
pix = NULL;
|
||||
}
|
||||
|
||||
@ -4787,8 +4775,6 @@ void gbEmulate(int ticksToStop)
|
||||
tempgbWindowLine = 146;
|
||||
}
|
||||
|
||||
int wy = inUseRegister_WY;
|
||||
|
||||
if(register_LY >= inUseRegister_WY) {
|
||||
|
||||
if (tempgbWindowLine == -1)
|
||||
|
@ -1,24 +1,5 @@
|
||||
// -*- C++ -*-
|
||||
// VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
|
||||
// Copyright (C) 1999-2003 Forgotten
|
||||
// Copyright (C) 2005-2006 Forgotten and the VBA development team
|
||||
|
||||
// This program 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 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#ifndef VBA_GB_GB_H
|
||||
#define VBA_GB_GB_H
|
||||
#ifndef GB_H
|
||||
#define GB_H
|
||||
|
||||
#define C_FLAG 0x10
|
||||
#define H_FLAG 0x20
|
||||
@ -62,4 +43,4 @@ extern struct EmulatedSystem GBSystem;
|
||||
bool MemgbReadBatteryFile(char * membuffer, int read);
|
||||
int MemgbWriteBatteryFile(char * membuffer);
|
||||
|
||||
#endif
|
||||
#endif // GB_H
|
||||
|
@ -1,21 +1,3 @@
|
||||
// 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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
@ -91,6 +73,35 @@ void gbCheatsReadGame(gzFile gzFile, int version)
|
||||
gbCheatUpdateMap();
|
||||
}
|
||||
|
||||
|
||||
void gbCheatsReadGameSkip(gzFile gzFile, int version)
|
||||
{
|
||||
if( version <= 8 ) {
|
||||
int gbGgOn = utilReadInt( gzFile );
|
||||
if( gbGgOn ) {
|
||||
int n = utilReadInt( gzFile );
|
||||
if( n > 0 ) {
|
||||
utilGzSeek( gzFile, n * sizeof(gbXxCheat), SEEK_CUR );
|
||||
}
|
||||
}
|
||||
|
||||
int gbGsOn = utilReadInt( gzFile );
|
||||
if( gbGsOn ) {
|
||||
int n = utilReadInt(gzFile);
|
||||
if( n > 0 ) {
|
||||
utilGzSeek( gzFile, n * sizeof(gbXxCheat), SEEK_CUR );
|
||||
}
|
||||
}
|
||||
} else {
|
||||
int n = utilReadInt( gzFile );
|
||||
|
||||
if( n > 0 ) {
|
||||
utilGzSeek( gzFile, n * sizeof(gbCheat), SEEK_CUR );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void gbCheatsSaveCheatList(const char *file)
|
||||
{
|
||||
if(gbCheatNumber == 0)
|
||||
@ -177,10 +188,10 @@ bool gbVerifyGsCode(const char *code)
|
||||
if(!GBCHEAT_IS_HEX(code[i]))
|
||||
return false;
|
||||
|
||||
int address = GBCHEAT_HEX_VALUE(code[6]) << 12 |
|
||||
/* int address = GBCHEAT_HEX_VALUE(code[6]) << 12 |
|
||||
GBCHEAT_HEX_VALUE(code[7]) << 8 |
|
||||
GBCHEAT_HEX_VALUE(code[4]) << 4 |
|
||||
GBCHEAT_HEX_VALUE(code[5]);
|
||||
GBCHEAT_HEX_VALUE(code[5]);*/
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -1,24 +1,5 @@
|
||||
// -*- C++ -*-
|
||||
// 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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#ifndef __VBA_GB_GBCHEATS_H
|
||||
#define __VBA_GB_GBCHEATS_H
|
||||
#ifndef GBCHEATS_H
|
||||
#define GBCHEATS_H
|
||||
|
||||
#include "../System.h"
|
||||
|
||||
@ -39,6 +20,7 @@ struct gbCheat {
|
||||
|
||||
void gbCheatsSaveGame(gzFile);
|
||||
void gbCheatsReadGame(gzFile, int);
|
||||
void gbCheatsReadGameSkip(gzFile, int);
|
||||
void gbCheatsSaveCheatList(const char *);
|
||||
bool gbCheatsLoadCheatList(const char *);
|
||||
bool gbCheatReadGSCodeFile(const char *);
|
||||
@ -58,5 +40,5 @@ bool gbVerifyGgCode(const char *code);
|
||||
extern int gbCheatNumber;
|
||||
extern gbCheat gbCheatList[100];
|
||||
extern bool gbCheatMap[0x10000];
|
||||
#endif
|
||||
|
||||
#endif // GBCHEATS_H
|
||||
|
@ -1,22 +1,3 @@
|
||||
// -*- C++ -*-
|
||||
// VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
|
||||
// Copyright (C) 1999-2003 Forgotten
|
||||
// Copyright (C) 2005-2006 Forgotten and the VBA development team
|
||||
|
||||
// This program 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 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
case 0x00:
|
||||
// NOP
|
||||
break;
|
||||
@ -315,7 +296,7 @@
|
||||
break;
|
||||
case 0x37:
|
||||
// SCF
|
||||
AF.B.B0 = AF.B.B0 & Z_FLAG | C_FLAG;
|
||||
AF.B.B0 = (AF.B.B0 & Z_FLAG) | C_FLAG;
|
||||
break;
|
||||
case 0x38:
|
||||
// JR C,NN
|
||||
|
@ -1,22 +1,3 @@
|
||||
// -*- C++ -*-
|
||||
// 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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
case 0x00:
|
||||
// RLC B
|
||||
AF.B.B0 = (BC.B.B1 & 0x80)?C_FLAG:0;
|
||||
|
@ -1,21 +1,3 @@
|
||||
// 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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
|
@ -1,24 +1,6 @@
|
||||
// VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
|
||||
// Copyright (C) 1999-2003 Forgotten
|
||||
// Copyright (C) 2005-2006 Forgotten and the VBA development team
|
||||
|
||||
// This program 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 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include "../gba/GBA.h"
|
||||
#include "../common/Types.h"
|
||||
#include "../Util.h"
|
||||
#include "gbGlobals.h"
|
||||
#include "gbSGB.h"
|
||||
|
||||
@ -60,6 +42,7 @@ u8 gbInvertTab[256] = {
|
||||
u16 gbLineMix[160];
|
||||
u16 gbWindowColor[160];
|
||||
extern int inUseRegister_WY;
|
||||
extern int layerSettings;
|
||||
|
||||
void gbRenderLine()
|
||||
{
|
||||
@ -583,11 +566,12 @@ void gbDrawSprites(bool draw)
|
||||
{
|
||||
for (int j = x-8; j<300; j++)
|
||||
if (j>=0)
|
||||
{
|
||||
if (gbSpeed)
|
||||
gbSpritesTicks[j] += 5;
|
||||
else
|
||||
gbSpritesTicks[j] += 2+(count&1);
|
||||
|
||||
}
|
||||
}
|
||||
count++;
|
||||
}
|
||||
|
@ -1,22 +1,5 @@
|
||||
// VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
|
||||
// Copyright (C) 1999-2003 Forgotten
|
||||
// Copyright (C) 2005-2006 Forgotten and the VBA development team
|
||||
|
||||
// This program 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 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#include "../gba/GBA.h"
|
||||
#include <string.h>
|
||||
#include "../common/Types.h"
|
||||
|
||||
u8 *gbMemoryMap[16];
|
||||
|
||||
|
@ -1,21 +1,5 @@
|
||||
// -*- C++ -*-
|
||||
// VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
|
||||
// Copyright (C) 1999-2003 Forgotten
|
||||
// Copyright (C) 2005-2006 Forgotten and the VBA development team
|
||||
|
||||
// This program 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 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#ifndef GBGLOBALS_H
|
||||
#define GBGLOBALS_H
|
||||
|
||||
extern int gbRomSizeMask;
|
||||
extern int gbRomSize;
|
||||
@ -27,6 +11,7 @@ extern bool useBios;
|
||||
extern bool skipBios;
|
||||
extern u8 *bios;
|
||||
extern bool skipSaveGameBattery;
|
||||
extern bool skipSaveGameCheats;
|
||||
|
||||
extern u8 *gbRom;
|
||||
extern u8 *gbRam;
|
||||
@ -88,3 +73,5 @@ extern void gbRenderLine();
|
||||
extern void gbDrawSprites(bool);
|
||||
|
||||
extern u8 (*gbSerialFunction)(u8);
|
||||
|
||||
#endif // GBGLOBALS_H
|
||||
|
@ -1,22 +1,4 @@
|
||||
// VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
|
||||
// Copyright (C) 1999-2003 Forgotten
|
||||
// Copyright (C) 2005-2006 Forgotten and the VBA development team
|
||||
|
||||
// This program 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 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#include "../gba/GBA.h"
|
||||
#include "../System.h"
|
||||
#include "../common/Port.h"
|
||||
#include "gbGlobals.h"
|
||||
#include "gbMemory.h"
|
||||
@ -1194,22 +1176,24 @@ mapperTAMA5 gbDataTAMA5 = {
|
||||
0, // RAM Byte select
|
||||
0, // mapper command number
|
||||
0, // mapper last command;
|
||||
0, // commands 0x0
|
||||
0, // commands 0x1
|
||||
0, // commands 0x2
|
||||
0, // commands 0x3
|
||||
0, // commands 0x4
|
||||
0, // commands 0x5
|
||||
0, // commands 0x6
|
||||
0, // commands 0x7
|
||||
0, // commands 0x8
|
||||
0, // commands 0x9
|
||||
0, // commands 0xa
|
||||
0, // commands 0xb
|
||||
0, // commands 0xc
|
||||
0, // commands 0xd
|
||||
0, // commands 0xe
|
||||
0, // commands 0xf
|
||||
{
|
||||
0, // commands 0x0
|
||||
0, // commands 0x1
|
||||
0, // commands 0x2
|
||||
0, // commands 0x3
|
||||
0, // commands 0x4
|
||||
0, // commands 0x5
|
||||
0, // commands 0x6
|
||||
0, // commands 0x7
|
||||
0, // commands 0x8
|
||||
0, // commands 0x9
|
||||
0, // commands 0xa
|
||||
0, // commands 0xb
|
||||
0, // commands 0xc
|
||||
0, // commands 0xd
|
||||
0, // commands 0xe
|
||||
0 // commands 0xf
|
||||
},
|
||||
0, // register
|
||||
0, // timer clock latch
|
||||
0, // timer clock register
|
||||
@ -1306,8 +1290,8 @@ void mapperTAMA5RAM(u16 address, u8 value)
|
||||
gbDataTAMA5.mapperCommands[gbDataTAMA5.mapperCommandNumber] = value;
|
||||
gbMemoryMap[0xa][0] = value;
|
||||
|
||||
int test = gbDataTAMA5.mapperCommands[gbDataTAMA5.mapperCommandNumber & 0x0e] |
|
||||
(gbDataTAMA5.mapperCommands[(gbDataTAMA5.mapperCommandNumber & 0x0e) +1]<<4);
|
||||
/* int test = gbDataTAMA5.mapperCommands[gbDataTAMA5.mapperCommandNumber & 0x0e] |
|
||||
(gbDataTAMA5.mapperCommands[(gbDataTAMA5.mapperCommandNumber & 0x0e) +1]<<4);*/
|
||||
|
||||
if ((gbDataTAMA5.mapperCommandNumber & 0xe) == 0) // Read Command !!!
|
||||
{
|
||||
@ -1338,8 +1322,8 @@ void mapperTAMA5RAM(u16 address, u8 value)
|
||||
// Write Commands !!!
|
||||
if (gbDataTAMA5.mapperCommands[0x0f] && (gbDataTAMA5.mapperCommandNumber == 7))
|
||||
{
|
||||
int data = gbDataTAMA5.mapperCommands[0x04] & 0x0f |
|
||||
(gbDataTAMA5.mapperCommands[0x05] <<4);
|
||||
int data = (gbDataTAMA5.mapperCommands[0x04] & 0x0f) |
|
||||
(gbDataTAMA5.mapperCommands[0x05] <<4);
|
||||
|
||||
// Not sure when the write command should reset...
|
||||
// but it doesn't seem to matter.
|
||||
@ -1472,7 +1456,7 @@ void mapperTAMA5RAM(u16 address, u8 value)
|
||||
for (int i = 0; i<0x10; i++)
|
||||
for (int j = 0; j<0x10; j++)
|
||||
if (!(j&2))
|
||||
gbTAMA5ram[(i*0x10)+j | 2] = gbTAMA5ram[(i*0x10)+j];
|
||||
gbTAMA5ram[((i*0x10)+j) | 2] = gbTAMA5ram[(i*0x10)+j];
|
||||
// Enable this to see the content of the flashrom in 0xe000
|
||||
/*for (int k = 0; k<0x100; k++)
|
||||
gbMemoryMap[0xe][k] = gbTAMA5ram[k];*/
|
||||
@ -1661,8 +1645,6 @@ void memoryUpdateMapMMM01()
|
||||
// GameGenie ROM write registers
|
||||
void mapperGGROM(u16 address, u8 value)
|
||||
{
|
||||
int tmpAddress = 0;
|
||||
|
||||
switch(address & 0x6000) {
|
||||
case 0x0000: // RAM enable register
|
||||
break;
|
||||
|
@ -1,21 +1,5 @@
|
||||
// -*- C++ -*-
|
||||
// VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
|
||||
// Copyright (C) 1999-2003 Forgotten
|
||||
// Copyright (C) 2004-2006 Forgotten and the VBA development team
|
||||
|
||||
// This program 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 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#ifndef GBMEMORY_H
|
||||
#define GBMEMORY_H
|
||||
|
||||
#include <time.h>
|
||||
|
||||
@ -201,6 +185,4 @@ extern void memoryUpdateMapTAMA5();
|
||||
extern void memoryUpdateMapMMM01();
|
||||
extern void memoryUpdateMapGS3();
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // GBMEMORY_H
|
||||
|
@ -1,24 +1,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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include "../gba/GBA.h"
|
||||
#include "../System.h"
|
||||
|
||||
u8 gbPrinterStatus = 0;
|
||||
int gbPrinterState = 0;
|
||||
|
@ -1,20 +1,8 @@
|
||||
// -*- C++ -*-
|
||||
// VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
|
||||
// Copyright (C) 1999-2003 Forgotten
|
||||
// Copyright (C) 2004 Forgotten and the VBA development team
|
||||
#ifndef GBPRINTER_H
|
||||
#define GBPRINTER_H
|
||||
|
||||
// This program 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 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#include "../System.h"
|
||||
|
||||
extern u8 gbPrinterSend(u8 b);
|
||||
u8 gbPrinterSend(u8 b);
|
||||
|
||||
#endif // GBPRINTER_H
|
||||
|
@ -1,21 +1,3 @@
|
||||
// VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
|
||||
// Copyright (C) 1999-2003 Forgotten
|
||||
// Copyright (C) 2005-2006 Forgotten and the VBA development team
|
||||
|
||||
// This program 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 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
@ -236,7 +218,7 @@ void gbSgbDrawBorderTile(int x, int y, int tile, int attr)
|
||||
u8 d = *tileAddress2++;
|
||||
|
||||
|
||||
|
||||
|
||||
u8 yyy;
|
||||
if(!flipY)
|
||||
yyy = yy;
|
||||
|
@ -1,21 +1,5 @@
|
||||
// -*- C++ -*-
|
||||
// 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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#ifndef GBSGB_H
|
||||
#define GBSGB_H
|
||||
|
||||
void gbSgbInit();
|
||||
void gbSgbShutdown();
|
||||
@ -36,4 +20,4 @@ extern int gbSgbPacketTimeout;
|
||||
extern u8 gbSgbReadingController;
|
||||
extern int gbSgbFourPlayers;
|
||||
|
||||
|
||||
#endif // GBSGB_H
|
||||
|
@ -1,21 +1,3 @@
|
||||
// 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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
|
@ -1,26 +1,7 @@
|
||||
// -*- C++ -*-
|
||||
// VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
|
||||
// Copyright (C) 1999-2003 Forgotten
|
||||
// Copyright (C) 2004 Forgotten and the VBA development team
|
||||
#ifndef CHEATSEARCH_H
|
||||
#define CHEATSEARCH_H
|
||||
|
||||
// This program 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 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#ifndef VBA_CHEATSEARCH_H
|
||||
#define VBA_CHEATSEARCH_H
|
||||
|
||||
#include "System.h"
|
||||
#include "../System.h"
|
||||
|
||||
struct CheatSearchBlock {
|
||||
int size;
|
||||
@ -60,14 +41,14 @@ enum {
|
||||
(bits)[(off) >> 3] & (1 << ((off) & 7))
|
||||
|
||||
extern CheatSearchData cheatSearchData;
|
||||
extern void cheatSearchCleanup(CheatSearchData *cs);
|
||||
extern void cheatSearchStart(const CheatSearchData *cs);
|
||||
extern void cheatSearch(const CheatSearchData *cs, int compare, int size,
|
||||
bool isSigned);
|
||||
extern void cheatSearchValue(const CheatSearchData *cs, int compare, int size,
|
||||
bool isSigned, u32 value);
|
||||
extern int cheatSearchGetCount(const CheatSearchData *cs, int size);
|
||||
extern void cheatSearchUpdateValues(const CheatSearchData *cs);
|
||||
extern s32 cheatSearchSignedRead(u8 *data, int off, int size);
|
||||
extern u32 cheatSearchRead(u8 *data, int off, int size);
|
||||
#endif
|
||||
|
||||
void cheatSearchCleanup(CheatSearchData *cs);
|
||||
void cheatSearchStart(const CheatSearchData *cs);
|
||||
void cheatSearch(const CheatSearchData *cs, int compare, int size, bool isSigned);
|
||||
void cheatSearchValue(const CheatSearchData *cs, int compare, int size, bool isSigned, u32 value);
|
||||
int cheatSearchGetCount(const CheatSearchData *cs, int size);
|
||||
void cheatSearchUpdateValues(const CheatSearchData *cs);
|
||||
s32 cheatSearchSignedRead(u8 *data, int off, int size);
|
||||
u32 cheatSearchRead(u8 *data, int off, int size);
|
||||
|
||||
#endif // CHEATSEARCH_H
|
||||
|
@ -1,21 +1,3 @@
|
||||
// VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
|
||||
// Copyright (C) 1999-2003 Forgotten
|
||||
// Copyright (C) 2005-2006 Forgotten and the VBA development team
|
||||
|
||||
// This program 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 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
@ -2684,6 +2666,25 @@ void cheatsReadGame(gzFile file, int version)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// skip the cheat list data
|
||||
void cheatsReadGameSkip( gzFile file, int version )
|
||||
{
|
||||
int nCheats = 0;
|
||||
nCheats = utilReadInt( file );
|
||||
|
||||
if( version >= 9 ) {
|
||||
utilGzSeek( file, sizeof( cheatsList ), SEEK_CUR );
|
||||
}
|
||||
|
||||
for( int i = 0; i < nCheats; i++ ) {
|
||||
if( version < 9 ) {
|
||||
utilGzSeek( file, ( 7 * sizeof(int) ) + ( 52 * sizeof(char) ), SEEK_CUR );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void cheatsSaveCheatList(const char *file)
|
||||
{
|
||||
if(cheatsNumber == 0)
|
||||
|
@ -1,24 +1,5 @@
|
||||
// -*- C++ -*-
|
||||
// VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
|
||||
// Copyright (C) 1999-2003 Forgotten
|
||||
// Copyright (C) 2004-2006 Forgotten and the VBA development team
|
||||
|
||||
// This program 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 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#ifndef GBA_CHEATS_H
|
||||
#define GBA_CHEATS_H
|
||||
#ifndef CHEATS_H
|
||||
#define CHEATS_H
|
||||
|
||||
struct CheatsData {
|
||||
int code;
|
||||
@ -33,23 +14,26 @@ struct CheatsData {
|
||||
char desc[32];
|
||||
};
|
||||
|
||||
extern void cheatsAdd(const char *,const char *,u32, u32,u32,int,int);
|
||||
extern void cheatsAddCheatCode(const char *code, const char *desc);
|
||||
extern void cheatsAddGSACode(const char *code, const char *desc, bool v3);
|
||||
extern void cheatsAddCBACode(const char *code, const char *desc);
|
||||
extern bool cheatsImportGSACodeFile(const char *name, int game, bool v3);
|
||||
extern void cheatsDelete(int number, bool restore);
|
||||
extern void cheatsDeleteAll(bool restore);
|
||||
extern void cheatsEnable(int number);
|
||||
extern void cheatsDisable(int number);
|
||||
extern void cheatsSaveGame(gzFile file);
|
||||
extern void cheatsReadGame(gzFile file, int version);
|
||||
extern void cheatsSaveCheatList(const char *file);
|
||||
extern bool cheatsLoadCheatList(const char *file);
|
||||
extern void cheatsWriteMemory(u32, u32);
|
||||
extern void cheatsWriteHalfWord(u32, u16);
|
||||
extern void cheatsWriteByte(u32, u8);
|
||||
extern int cheatsCheckKeys(u32,u32);
|
||||
void cheatsAdd(const char *codeStr, const char *desc, u32 rawaddress, u32 address, u32 value, int code, int size);
|
||||
void cheatsAddCheatCode(const char *code, const char *desc);
|
||||
void cheatsAddGSACode(const char *code, const char *desc, bool v3);
|
||||
void cheatsAddCBACode(const char *code, const char *desc);
|
||||
bool cheatsImportGSACodeFile(const char *name, int game, bool v3);
|
||||
void cheatsDelete(int number, bool restore);
|
||||
void cheatsDeleteAll(bool restore);
|
||||
void cheatsEnable(int number);
|
||||
void cheatsDisable(int number);
|
||||
void cheatsSaveGame(gzFile file);
|
||||
void cheatsReadGame(gzFile file, int version);
|
||||
void cheatsReadGameSkip(gzFile file, int version);
|
||||
void cheatsSaveCheatList(const char *file);
|
||||
bool cheatsLoadCheatList(const char *file);
|
||||
void cheatsWriteMemory(u32 address, u32 value);
|
||||
void cheatsWriteHalfWord(u32 address, u16 value);
|
||||
void cheatsWriteByte(u32 address, u8 value);
|
||||
int cheatsCheckKeys(u32 keys, u32 extended);
|
||||
|
||||
extern int cheatsNumber;
|
||||
extern CheatsData cheatsList[100];
|
||||
#endif // GBA_CHEATS_H
|
||||
|
||||
#endif // CHEATS_H
|
||||
|
@ -1,21 +1,3 @@
|
||||
// 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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#include <string.h>
|
||||
#include "GBA.h"
|
||||
#include "EEprom.h"
|
||||
@ -80,7 +62,7 @@ void eepromReadGame(gzFile gzFile, int version)
|
||||
void eepromReadGameSkip(gzFile gzFile, int version)
|
||||
{
|
||||
// skip the eeprom data in a save game
|
||||
utilReadDataSkip(gzFile, eepromSaveData);
|
||||
utilReadDataSkip(gzFile, eepromSaveData);
|
||||
if(version >= SAVE_GAME_VERSION_3) {
|
||||
utilGzSeek(gzFile, sizeof(int), SEEK_CUR);
|
||||
utilGzSeek(gzFile, 0x2000, SEEK_CUR);
|
||||
@ -203,4 +185,3 @@ void eepromWrite(u32 /* address */, u8 value)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,24 +1,5 @@
|
||||
// -*- C++ -*-
|
||||
// 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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#ifndef VBA_EEPROM_H
|
||||
#define VBA_EEPROM_H
|
||||
#ifndef EEPROM_H
|
||||
#define EEPROM_H
|
||||
|
||||
extern void eepromSaveGame(gzFile _gzFile);
|
||||
extern void eepromReadGame(gzFile _gzFile, int version);
|
||||
@ -37,4 +18,4 @@ extern int eepromSize;
|
||||
#define EEPROM_READDATA2 3
|
||||
#define EEPROM_WRITEDATA 4
|
||||
|
||||
#endif // VBA_EEPROM_H
|
||||
#endif // EEPROM_H
|
||||
|
@ -1,21 +1,3 @@
|
||||
// VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
|
||||
// Copyright (C) 1999-2003 Forgotten
|
||||
// Copyright (C) 2004-2006 Forgotten and the VBA development team
|
||||
|
||||
// This program 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 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include "GBA.h"
|
||||
|
@ -1,24 +1,5 @@
|
||||
// -*- C++ -*-
|
||||
// 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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#ifndef VBA_FLASH_H
|
||||
#define VBA_FLASH_H
|
||||
#ifndef FLASH_H
|
||||
#define FLASH_H
|
||||
|
||||
extern void flashSaveGame(gzFile _gzFile);
|
||||
extern void flashReadGame(gzFile _gzFile, int version);
|
||||
@ -33,4 +14,5 @@ extern void flashSetSize(int size);
|
||||
extern void flashInit();
|
||||
|
||||
extern int flashSize;
|
||||
#endif // VBA_FLASH_H
|
||||
|
||||
#endif // FLASH_H
|
||||
|
@ -1,22 +1,3 @@
|
||||
// -*- C++ -*-
|
||||
// VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
|
||||
// Copyright (C) 1999-2003 Forgotten
|
||||
// Copyright (C) 2005-2006 Forgotten and the VBA development team
|
||||
|
||||
// This program 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 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
@ -35,7 +16,6 @@
|
||||
#include "../NLS.h"
|
||||
#include "elf.h"
|
||||
#include "../Util.h"
|
||||
#include "../common/Port.h"
|
||||
#include "../System.h"
|
||||
#include "agbprint.h"
|
||||
#ifdef PROFILING
|
||||
@ -2851,6 +2831,7 @@ static insnfunc_t armInsnTable[4096] = {
|
||||
|
||||
// Wrapper routine (execution loop) ///////////////////////////////////////
|
||||
|
||||
#if 0
|
||||
#include<time.h>
|
||||
static void tester(void) {
|
||||
static int ran=0;if(ran)return;ran=1;
|
||||
@ -2862,6 +2843,7 @@ static void tester(void) {
|
||||
fprintf(f,"arm%03X %6ld\n",op,e-s);fflush(f);
|
||||
}fclose(f);
|
||||
}
|
||||
#endif
|
||||
|
||||
int armExecute()
|
||||
{
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,24 +1,5 @@
|
||||
// -*- C++ -*-
|
||||
// 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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#ifndef VBA_GBA_H
|
||||
#define VBA_GBA_H
|
||||
#ifndef GBA_H
|
||||
#define GBA_H
|
||||
|
||||
#include "../System.h"
|
||||
|
||||
@ -157,4 +138,4 @@ extern struct EmulatedSystem GBASystem;
|
||||
#include "EEprom.h"
|
||||
#include "Flash.h"
|
||||
|
||||
#endif //VBA_GBA_H
|
||||
#endif // GBA_H
|
||||
|
@ -1,21 +1,3 @@
|
||||
// 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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#include "../System.h"
|
||||
|
||||
int coeff[32] = {
|
||||
|
@ -1,25 +1,5 @@
|
||||
// -*- C++ -*-
|
||||
// VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
|
||||
// Copyright (C) 1999-2003 Forgotten
|
||||
// Copyright (C) 2005 Forgotten and the VBA development team
|
||||
// Copyright (C) 2008 VBA-M development team
|
||||
//
|
||||
// This program 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 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#ifndef VBA_GFX_H
|
||||
#define VBA_GFX_H
|
||||
#ifndef GFX_H
|
||||
#define GFX_H
|
||||
|
||||
#include "GBA.h"
|
||||
#include "Globals.h"
|
||||
@ -1598,4 +1578,4 @@ static inline void gfxAlphaBlend(u32 *ta, u32 *tb, int ca, int cb)
|
||||
}
|
||||
}
|
||||
|
||||
#endif // VBA_GFX_H
|
||||
#endif // GFX_H
|
||||
|
@ -1,24 +1,5 @@
|
||||
// -*- C++ -*-
|
||||
// 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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#ifndef VBA_GBAcpu_H
|
||||
#define VBA_GBAcpu_H
|
||||
#ifndef GBACPU_H
|
||||
#define GBACPU_H
|
||||
|
||||
extern int armExecute();
|
||||
extern int thumbExecute();
|
||||
@ -299,4 +280,4 @@ inline void cpuMasterCodeCheck()
|
||||
}
|
||||
}
|
||||
|
||||
#endif //VBA_GBAcpu_H
|
||||
#endif // GBACPU_H
|
||||
|
@ -1,24 +1,5 @@
|
||||
// -*- C++ -*-
|
||||
// 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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#ifndef VBA_GBAinline_H
|
||||
#define VBA_GBAinline_H
|
||||
#ifndef GBAINLINE_H
|
||||
#define GBAINLINE_H
|
||||
|
||||
#include "../System.h"
|
||||
#include "../common/Port.h"
|
||||
@ -55,7 +36,7 @@ extern int cpuTotalTicks;
|
||||
|
||||
/*****************************************************************************
|
||||
* Nintendo GC Virtual Memory function override
|
||||
* Tantric September 2008
|
||||
* Tantric September 2008
|
||||
****************************************************************************/
|
||||
|
||||
#define CPUReadByteQuickDef(addr) \
|
||||
@ -700,11 +681,11 @@ static inline void CPUWriteByte(u32 address, u8 b)
|
||||
switch(address >> 24) {
|
||||
case 2:
|
||||
#ifdef BKPT_SUPPORT
|
||||
if(freezeWorkRAM[address & 0x3FFFF])
|
||||
cheatsWriteByte(address & 0x203FFFF, b);
|
||||
else
|
||||
if(freezeWorkRAM[address & 0x3FFFF])
|
||||
cheatsWriteByte(address & 0x203FFFF, b);
|
||||
else
|
||||
#endif
|
||||
workRAM[address & 0x3FFFF] = b;
|
||||
workRAM[address & 0x3FFFF] = b;
|
||||
break;
|
||||
case 3:
|
||||
#ifdef BKPT_SUPPORT
|
||||
@ -717,13 +698,6 @@ static inline void CPUWriteByte(u32 address, u8 b)
|
||||
case 4:
|
||||
if(address < 0x4000400) {
|
||||
switch(address & 0x3FF) {
|
||||
case 0x301:
|
||||
if(b == 0x80)
|
||||
stopState = true;
|
||||
holdState = 1;
|
||||
holdType = -1;
|
||||
cpuNextEvent = cpuTotalTicks;
|
||||
break;
|
||||
case 0x60:
|
||||
case 0x61:
|
||||
case 0x62:
|
||||
@ -764,17 +738,22 @@ static inline void CPUWriteByte(u32 address, u8 b)
|
||||
case 0x9d:
|
||||
case 0x9e:
|
||||
case 0x9f:
|
||||
soundEvent(address&0xFF, b);
|
||||
break;
|
||||
default:
|
||||
if(address & 1)
|
||||
CPUUpdateRegister(address & 0x3fe,
|
||||
((READ16LE(((u16 *)&ioMem[address & 0x3fe])))
|
||||
& 0x00FF) |
|
||||
b<<8);
|
||||
else
|
||||
CPUUpdateRegister(address & 0x3fe,
|
||||
((READ16LE(((u16 *)&ioMem[address & 0x3fe])) & 0xFF00) | b));
|
||||
soundEvent(address&0xFF, b);
|
||||
break;
|
||||
case 0x301: // HALTCNT, undocumented
|
||||
if(b == 0x80)
|
||||
stopState = true;
|
||||
holdState = 1;
|
||||
holdType = -1;
|
||||
cpuNextEvent = cpuTotalTicks;
|
||||
break;
|
||||
default: // every other register
|
||||
u32 lowerBits = address & 0x3fe;
|
||||
if(address & 1) {
|
||||
CPUUpdateRegister(lowerBits, (READ16LE(&ioMem[lowerBits]) & 0x00FF) | (b << 8));
|
||||
} else {
|
||||
CPUUpdateRegister(lowerBits, (READ16LE(&ioMem[lowerBits]) & 0xFF00) | b);
|
||||
}
|
||||
}
|
||||
break;
|
||||
} else goto unwritable;
|
||||
@ -786,7 +765,7 @@ static inline void CPUWriteByte(u32 address, u8 b)
|
||||
case 6:
|
||||
address = (address & 0x1fffe);
|
||||
if (((DISPCNT & 7) >2) && ((address & 0x1C000) == 0x18000))
|
||||
return;
|
||||
return;
|
||||
if ((address & 0x18000) == 0x18000)
|
||||
address &= 0x17fff;
|
||||
|
||||
@ -799,7 +778,7 @@ static inline void CPUWriteByte(u32 address, u8 b)
|
||||
cheatsWriteByte(address + 0x06000000, b);
|
||||
else
|
||||
#endif
|
||||
*((u16 *)&vram[address]) = (b << 8) | b;
|
||||
*((u16 *)&vram[address]) = (b << 8) | b;
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
@ -814,26 +793,26 @@ static inline void CPUWriteByte(u32 address, u8 b)
|
||||
}
|
||||
goto unwritable;
|
||||
case 14:
|
||||
if (!(saveType == 5) && (!eepromInUse | cpuSramEnabled | cpuFlashEnabled)) {
|
||||
if (!(saveType == 5) && (!eepromInUse | cpuSramEnabled | cpuFlashEnabled)) {
|
||||
|
||||
//if(!cpuEEPROMEnabled && (cpuSramEnabled | cpuFlashEnabled)) {
|
||||
//if(!cpuEEPROMEnabled && (cpuSramEnabled | cpuFlashEnabled)) {
|
||||
|
||||
(*cpuSaveGameFunc)(address, b);
|
||||
(*cpuSaveGameFunc)(address, b);
|
||||
break;
|
||||
}
|
||||
// default
|
||||
default:
|
||||
unwritable:
|
||||
unwritable:
|
||||
#ifdef GBA_LOGGING
|
||||
if(systemVerbose & VERBOSE_ILLEGAL_WRITE) {
|
||||
log("Illegal byte write: %02x to %08x from %08x\n",
|
||||
b,
|
||||
address,
|
||||
armMode ? armNextPC - 4 : armNextPC -2 );
|
||||
b,
|
||||
address,
|
||||
armMode ? armNextPC - 4 : armNextPC -2 );
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
#endif //VBA_GBAinline_H
|
||||
#endif // GBAINLINE_H
|
||||
|
@ -1,21 +1,3 @@
|
||||
// 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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#include "GBA.h"
|
||||
|
||||
#ifdef BKPT_SUPPORT
|
||||
@ -51,6 +33,12 @@ int cpuSaveType = 0;
|
||||
bool cheatsEnabled = true;
|
||||
bool mirroringEnable = false;
|
||||
bool skipSaveGameBattery = false;
|
||||
bool skipSaveGameCheats = false;
|
||||
|
||||
// this is an optional hack to change the backdrop/background color:
|
||||
// -1: disabled
|
||||
// 0x0000 to 0x7FFF: set custom 15 bit color
|
||||
int customBackdropColor = -1;
|
||||
|
||||
u8 *bios = NULL;
|
||||
u8 *rom = NULL;
|
||||
|
@ -1,25 +1,7 @@
|
||||
// -*- C++ -*-
|
||||
// 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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#ifndef VBA_GLOBALS_H
|
||||
#define VBA_GLOBALS_H
|
||||
#ifndef GLOBALS_H
|
||||
#define GLOBALS_H
|
||||
|
||||
#include "../common/Types.h"
|
||||
#include "GBA.h"
|
||||
|
||||
#define VERBOSE_SWI 1
|
||||
@ -60,7 +42,9 @@ extern bool speedHack;
|
||||
extern int cpuSaveType;
|
||||
extern bool cheatsEnabled;
|
||||
extern bool mirroringEnable;
|
||||
extern bool skipSaveGameBattery;
|
||||
extern bool skipSaveGameBattery; // skip battery data when reading save states
|
||||
extern bool skipSaveGameCheats; // skip cheat list data when reading save states
|
||||
extern int customBackdropColor;
|
||||
|
||||
extern u8 *bios;
|
||||
extern u8 *rom;
|
||||
@ -150,4 +134,4 @@ extern u16 IE;
|
||||
extern u16 IF;
|
||||
extern u16 IME;
|
||||
|
||||
#endif // VBA_GLOBALS_H
|
||||
#endif // GLOBALS_H
|
||||
|
@ -1,21 +1,3 @@
|
||||
// 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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#include "GBA.h"
|
||||
#include "Globals.h"
|
||||
#include "GBAGfx.h"
|
||||
@ -49,7 +31,12 @@ void mode0RenderLine()
|
||||
|
||||
gfxDrawSprites(lineOBJ);
|
||||
|
||||
u32 backdrop = (READ16LE(&palette[0]) | 0x30000000);
|
||||
u32 backdrop;
|
||||
if(customBackdropColor == -1) {
|
||||
backdrop = (READ16LE(&palette[0]) | 0x30000000);
|
||||
} else {
|
||||
backdrop = ((customBackdropColor & 0x7FFF) | 0x30000000);
|
||||
}
|
||||
|
||||
for(int x = 0; x < 240; x++) {
|
||||
u32 color = backdrop;
|
||||
@ -156,7 +143,12 @@ void mode0RenderLineNoWindow()
|
||||
|
||||
gfxDrawSprites(lineOBJ);
|
||||
|
||||
u32 backdrop = (READ16LE(&palette[0]) | 0x30000000);
|
||||
u32 backdrop;
|
||||
if(customBackdropColor == -1) {
|
||||
backdrop = (READ16LE(&palette[0]) | 0x30000000);
|
||||
} else {
|
||||
backdrop = ((customBackdropColor & 0x7FFF) | 0x30000000);
|
||||
}
|
||||
|
||||
int effect = (BLDMOD >> 6) & 3;
|
||||
|
||||
@ -349,7 +341,12 @@ void mode0RenderLineAll()
|
||||
gfxDrawSprites(lineOBJ);
|
||||
gfxDrawOBJWin(lineOBJWin);
|
||||
|
||||
u32 backdrop = (READ16LE(&palette[0]) | 0x30000000);
|
||||
u32 backdrop;
|
||||
if(customBackdropColor == -1) {
|
||||
backdrop = (READ16LE(&palette[0]) | 0x30000000);
|
||||
} else {
|
||||
backdrop = ((customBackdropColor & 0x7FFF) | 0x30000000);
|
||||
}
|
||||
|
||||
u8 inWin0Mask = WININ & 0xFF;
|
||||
u8 inWin1Mask = WININ >> 8;
|
||||
|
@ -1,21 +1,3 @@
|
||||
// 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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#include "GBA.h"
|
||||
#include "Globals.h"
|
||||
#include "GBAGfx.h"
|
||||
@ -51,7 +33,12 @@ void mode1RenderLine()
|
||||
|
||||
gfxDrawSprites(lineOBJ);
|
||||
|
||||
u32 backdrop = (READ16LE(&palette[0]) | 0x30000000);
|
||||
u32 backdrop;
|
||||
if(customBackdropColor == -1) {
|
||||
backdrop = (READ16LE(&palette[0]) | 0x30000000);
|
||||
} else {
|
||||
backdrop = ((customBackdropColor & 0x7FFF) | 0x30000000);
|
||||
}
|
||||
|
||||
for(int x = 0; x < 240; x++) {
|
||||
u32 color = backdrop;
|
||||
@ -153,7 +140,12 @@ void mode1RenderLineNoWindow()
|
||||
|
||||
gfxDrawSprites(lineOBJ);
|
||||
|
||||
u32 backdrop = (READ16LE(&palette[0]) | 0x30000000);
|
||||
u32 backdrop;
|
||||
if(customBackdropColor == -1) {
|
||||
backdrop = (READ16LE(&palette[0]) | 0x30000000);
|
||||
} else {
|
||||
backdrop = ((customBackdropColor & 0x7FFF) | 0x30000000);
|
||||
}
|
||||
|
||||
for(int x = 0; x < 240; x++) {
|
||||
u32 color = backdrop;
|
||||
@ -330,7 +322,12 @@ void mode1RenderLineAll()
|
||||
gfxDrawSprites(lineOBJ);
|
||||
gfxDrawOBJWin(lineOBJWin);
|
||||
|
||||
u32 backdrop = (READ16LE(&palette[0]) | 0x30000000);
|
||||
u32 backdrop;
|
||||
if(customBackdropColor == -1) {
|
||||
backdrop = (READ16LE(&palette[0]) | 0x30000000);
|
||||
} else {
|
||||
backdrop = ((customBackdropColor & 0x7FFF) | 0x30000000);
|
||||
}
|
||||
|
||||
u8 inWin0Mask = WININ & 0xFF;
|
||||
u8 inWin1Mask = WININ >> 8;
|
||||
|
@ -1,21 +1,3 @@
|
||||
// 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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#include "GBA.h"
|
||||
#include "Globals.h"
|
||||
#include "GBAGfx.h"
|
||||
@ -54,7 +36,12 @@ void mode2RenderLine()
|
||||
|
||||
gfxDrawSprites(lineOBJ);
|
||||
|
||||
u32 backdrop = (READ16LE(&palette[0]) | 0x30000000);
|
||||
u32 backdrop;
|
||||
if(customBackdropColor == -1) {
|
||||
backdrop = (READ16LE(&palette[0]) | 0x30000000);
|
||||
} else {
|
||||
backdrop = ((customBackdropColor & 0x7FFF) | 0x30000000);
|
||||
}
|
||||
|
||||
for(int x = 0; x < 240; x++) {
|
||||
u32 color = backdrop;
|
||||
@ -150,7 +137,12 @@ void mode2RenderLineNoWindow()
|
||||
|
||||
gfxDrawSprites(lineOBJ);
|
||||
|
||||
u32 backdrop = (READ16LE(&palette[0]) | 0x30000000);
|
||||
u32 backdrop;
|
||||
if(customBackdropColor == -1) {
|
||||
backdrop = (READ16LE(&palette[0]) | 0x30000000);
|
||||
} else {
|
||||
backdrop = ((customBackdropColor & 0x7FFF) | 0x30000000);
|
||||
}
|
||||
|
||||
for(int x = 0; x < 240; x++) {
|
||||
u32 color = backdrop;
|
||||
@ -316,7 +308,12 @@ void mode2RenderLineAll()
|
||||
gfxDrawSprites(lineOBJ);
|
||||
gfxDrawOBJWin(lineOBJWin);
|
||||
|
||||
u32 backdrop = (READ16LE(&palette[0]) | 0x30000000);
|
||||
u32 backdrop;
|
||||
if(customBackdropColor == -1) {
|
||||
backdrop = (READ16LE(&palette[0]) | 0x30000000);
|
||||
} else {
|
||||
backdrop = ((customBackdropColor & 0x7FFF) | 0x30000000);
|
||||
}
|
||||
|
||||
u8 inWin0Mask = WININ & 0xFF;
|
||||
u8 inWin1Mask = WININ >> 8;
|
||||
|
@ -1,21 +1,3 @@
|
||||
// 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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#include "GBA.h"
|
||||
#include "Globals.h"
|
||||
#include "GBAGfx.h"
|
||||
@ -47,7 +29,12 @@ void mode3RenderLine()
|
||||
|
||||
gfxDrawSprites(lineOBJ);
|
||||
|
||||
u32 background = (READ16LE(&palette[0]) | 0x30000000);
|
||||
u32 background;
|
||||
if(customBackdropColor == -1) {
|
||||
background = (READ16LE(&palette[0]) | 0x30000000);
|
||||
} else {
|
||||
background = ((customBackdropColor & 0x7FFF) | 0x30000000);
|
||||
}
|
||||
|
||||
for(int x = 0; x < 240; x++) {
|
||||
u32 color = background;
|
||||
@ -124,7 +111,12 @@ void mode3RenderLineNoWindow()
|
||||
|
||||
gfxDrawSprites(lineOBJ);
|
||||
|
||||
u32 background = (READ16LE(&palette[0]) | 0x30000000);
|
||||
u32 background;
|
||||
if(customBackdropColor == -1) {
|
||||
background = (READ16LE(&palette[0]) | 0x30000000);
|
||||
} else {
|
||||
background = ((customBackdropColor & 0x7FFF) | 0x30000000);
|
||||
}
|
||||
|
||||
for(int x = 0; x < 240; x++) {
|
||||
u32 color = background;
|
||||
@ -269,7 +261,12 @@ void mode3RenderLineAll()
|
||||
u8 inWin1Mask = WININ >> 8;
|
||||
u8 outMask = WINOUT & 0xFF;
|
||||
|
||||
u32 background = (READ16LE(&palette[0]) | 0x30000000);
|
||||
u32 background;
|
||||
if(customBackdropColor == -1) {
|
||||
background = (READ16LE(&palette[0]) | 0x30000000);
|
||||
} else {
|
||||
background = ((customBackdropColor & 0x7FFF) | 0x30000000);
|
||||
}
|
||||
|
||||
for(int x = 0; x < 240; x++) {
|
||||
u32 color = background;
|
||||
|
@ -1,21 +1,3 @@
|
||||
// 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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#include "GBA.h"
|
||||
#include "GBAGfx.h"
|
||||
#include "Globals.h"
|
||||
@ -46,7 +28,12 @@ void mode4RenderLine()
|
||||
|
||||
gfxDrawSprites(lineOBJ);
|
||||
|
||||
u32 backdrop = (READ16LE(&palette[0]) | 0x30000000);
|
||||
u32 backdrop;
|
||||
if(customBackdropColor == -1) {
|
||||
backdrop = (READ16LE(&palette[0]) | 0x30000000);
|
||||
} else {
|
||||
backdrop = ((customBackdropColor & 0x7FFF) | 0x30000000);
|
||||
}
|
||||
|
||||
for(int x = 0; x < 240; x++) {
|
||||
u32 color = backdrop;
|
||||
@ -122,7 +109,12 @@ void mode4RenderLineNoWindow()
|
||||
|
||||
gfxDrawSprites(lineOBJ);
|
||||
|
||||
u32 backdrop = (READ16LE(&palette[0]) | 0x30000000);
|
||||
u32 backdrop;
|
||||
if(customBackdropColor == -1) {
|
||||
backdrop = (READ16LE(&palette[0]) | 0x30000000);
|
||||
} else {
|
||||
backdrop = ((customBackdropColor & 0x7FFF) | 0x30000000);
|
||||
}
|
||||
|
||||
for(int x = 0; x < 240; x++) {
|
||||
u32 color = backdrop;
|
||||
@ -262,7 +254,12 @@ void mode4RenderLineAll()
|
||||
gfxDrawSprites(lineOBJ);
|
||||
gfxDrawOBJWin(lineOBJWin);
|
||||
|
||||
u32 backdrop = (READ16LE(&palette[0]) | 0x30000000);
|
||||
u32 backdrop;
|
||||
if(customBackdropColor == -1) {
|
||||
backdrop = (READ16LE(&palette[0]) | 0x30000000);
|
||||
} else {
|
||||
backdrop = ((customBackdropColor & 0x7FFF) | 0x30000000);
|
||||
}
|
||||
|
||||
u8 inWin0Mask = WININ & 0xFF;
|
||||
u8 inWin1Mask = WININ >> 8;
|
||||
|
@ -1,21 +1,3 @@
|
||||
// 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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#include "GBA.h"
|
||||
#include "Globals.h"
|
||||
#include "GBAGfx.h"
|
||||
@ -47,7 +29,12 @@ void mode5RenderLine()
|
||||
|
||||
gfxDrawSprites(lineOBJ);
|
||||
|
||||
u32 background = (READ16LE(&palette[0]) | 0x30000000);
|
||||
u32 background;
|
||||
if(customBackdropColor == -1) {
|
||||
background = (READ16LE(&palette[0]) | 0x30000000);
|
||||
} else {
|
||||
background = ((customBackdropColor & 0x7FFF) | 0x30000000);
|
||||
}
|
||||
|
||||
for(int x = 0; x < 240; x++) {
|
||||
u32 color = background;
|
||||
@ -124,7 +111,12 @@ void mode5RenderLineNoWindow()
|
||||
|
||||
gfxDrawSprites(lineOBJ);
|
||||
|
||||
u32 background = ( READ16LE(&palette[0]) | 0x30000000);
|
||||
u32 background;
|
||||
if(customBackdropColor == -1) {
|
||||
background = (READ16LE(&palette[0]) | 0x30000000);
|
||||
} else {
|
||||
background = ((customBackdropColor & 0x7FFF) | 0x30000000);
|
||||
}
|
||||
|
||||
for(int x = 0; x < 240; x++) {
|
||||
u32 color = background;
|
||||
@ -269,7 +261,12 @@ void mode5RenderLineAll()
|
||||
u8 inWin1Mask = WININ >> 8;
|
||||
u8 outMask = WINOUT & 0xFF;
|
||||
|
||||
u32 background = (READ16LE(&palette[0]) | 0x30000000);
|
||||
u32 background;
|
||||
if(customBackdropColor == -1) {
|
||||
background = (READ16LE(&palette[0]) | 0x30000000);
|
||||
} else {
|
||||
background = ((customBackdropColor & 0x7FFF) | 0x30000000);
|
||||
}
|
||||
|
||||
for(int x = 0; x < 240; x++) {
|
||||
u32 color = background;
|
||||
|
@ -1,21 +1,3 @@
|
||||
// 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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#include "../System.h"
|
||||
#include "GBA.h"
|
||||
#include "Globals.h"
|
||||
|
@ -1,31 +1,13 @@
|
||||
// -*- C++ -*-
|
||||
// VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
|
||||
// Copyright (C) 1999-2003 Forgotten
|
||||
// Copyright (C) 2004 Forgotten and the VBA development team
|
||||
#ifndef RTC_H
|
||||
#define RTC_H
|
||||
|
||||
// This program 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 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
u16 rtcRead(u32 address);
|
||||
bool rtcWrite(u32 address, u16 value);
|
||||
void rtcEnable(bool);
|
||||
bool rtcIsEnabled();
|
||||
void rtcReset();
|
||||
|
||||
#ifndef VBA_RTC_H
|
||||
#define VBA_RTC_H
|
||||
extern u16 rtcRead(u32 address);
|
||||
extern bool rtcWrite(u32 address, u16 value);
|
||||
extern void rtcEnable(bool);
|
||||
extern bool rtcIsEnabled();
|
||||
extern void rtcReset();
|
||||
void rtcReadGame(gzFile gzFile);
|
||||
void rtcSaveGame(gzFile gzFile);
|
||||
|
||||
extern void rtcReadGame(gzFile gzFile);
|
||||
extern void rtcSaveGame(gzFile gzFile);
|
||||
|
||||
#endif
|
||||
#endif // RTC_H
|
||||
|
@ -1,21 +1,3 @@
|
||||
// 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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#include "GBA.h"
|
||||
#include "Globals.h"
|
||||
#include "Flash.h"
|
||||
|
@ -1,27 +1,8 @@
|
||||
// -*- C++ -*-
|
||||
// VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
|
||||
// Copyright (C) 1999-2003 Forgotten
|
||||
// Copyright (C) 2004 Forgotten and the VBA development team
|
||||
#ifndef SRAM_H
|
||||
#define SRAM_H
|
||||
|
||||
// This program 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 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
u8 sramRead(u32 address);
|
||||
void sramWrite(u32 address, u8 byte);
|
||||
void sramDelayedWrite(u32 address, u8 byte);
|
||||
|
||||
#ifndef VBA_SRAM_H
|
||||
#define VBA_SRAM_H
|
||||
|
||||
extern u8 sramRead(u32 address);
|
||||
extern void sramWrite(u32 address, u8 byte);
|
||||
extern void sramDelayedWrite(u32 address, u8 byte);
|
||||
|
||||
#endif // VBA_SRAM_H
|
||||
#endif // SRAM_H
|
||||
|
@ -1,21 +1,3 @@
|
||||
// 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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
|
@ -1,27 +1,10 @@
|
||||
// -*- C++ -*-
|
||||
// VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
|
||||
// Copyright (C) 1999-2003 Forgotten
|
||||
// Copyright (C) 2004 Forgotten and the VBA development team
|
||||
#ifndef AGBPRINT_H
|
||||
#define AGBPRINT_H
|
||||
|
||||
// This program 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 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
void agbPrintEnable(bool enable);
|
||||
bool agbPrintIsEnabled();
|
||||
void agbPrintReset();
|
||||
bool agbPrintWrite(u32 address, u16 value);
|
||||
void agbPrintFlush();
|
||||
|
||||
#ifndef VBA_AGBPRINT_H
|
||||
#define VBA_AGBPRINT_H
|
||||
extern void agbPrintEnable(bool);
|
||||
extern bool agbPrintIsEnabled();
|
||||
extern void agbPrintReset();
|
||||
extern bool agbPrintWrite(u32, u16);
|
||||
extern void agbPrintFlush();
|
||||
#endif
|
||||
#endif // AGBPRINT_H
|
||||
|
@ -1,21 +1,3 @@
|
||||
// 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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
/************************************************************************/
|
||||
/* Arm/Thumb command set disassembler */
|
||||
/************************************************************************/
|
||||
|
@ -1,22 +1,3 @@
|
||||
// -*- C++ -*-
|
||||
// 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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
/************************************************************************/
|
||||
/* Arm/Thumb command set disassembler */
|
||||
/************************************************************************/
|
||||
|
@ -1,21 +1,3 @@
|
||||
// VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
|
||||
// Copyright (C) 1999-2003 Forgotten
|
||||
// Copyright (C) 2005-2006 Forgotten and the VBA development team
|
||||
|
||||
// This program 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 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#include <math.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
@ -387,7 +369,7 @@ void BIOS_Diff8bitUnFilterWram()
|
||||
source += 4;
|
||||
|
||||
if(((source & 0xe000000) == 0) ||
|
||||
((source + ((header >> 8) & 0x1fffff) & 0xe000000) == 0))
|
||||
(((source + ((header >> 8) & 0x1fffff)) & 0xe000000) == 0))
|
||||
return;
|
||||
|
||||
int len = header >> 8;
|
||||
|
@ -1,24 +1,5 @@
|
||||
// -*- C++ -*-
|
||||
// VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
|
||||
// Copyright (C) 1999-2003 Forgotten
|
||||
// Copyright (C) 2004-2006 Forgotten and the VBA development team
|
||||
|
||||
// This program 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 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#ifndef VBA_BIOS_H
|
||||
#define VBA_BIOS_H
|
||||
#ifndef BIOS_H
|
||||
#define BIOS_H
|
||||
|
||||
extern void BIOS_ArcTan();
|
||||
extern void BIOS_ArcTan2();
|
||||
@ -44,4 +25,5 @@ extern void BIOS_SoftReset();
|
||||
extern void BIOS_Sqrt();
|
||||
extern void BIOS_MidiKey2Freq();
|
||||
extern void BIOS_SndDriverJmpTableCopy();
|
||||
#endif // VBA_BIOS_H
|
||||
|
||||
#endif // BIOS_H
|
||||
|
@ -1,21 +1,3 @@
|
||||
// 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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
@ -2800,9 +2782,16 @@ bool elfRead(const char *name, int& siz, FILE *f)
|
||||
long size = ftell(f);
|
||||
elfFileData = (u8 *)malloc(size);
|
||||
fseek(f, 0, SEEK_SET);
|
||||
fread(elfFileData, 1, size, f);
|
||||
int res = fread(elfFileData, 1, size, f);
|
||||
fclose(f);
|
||||
|
||||
if (res < 0)
|
||||
{
|
||||
free(elfFileData);
|
||||
elfFileData = NULL;
|
||||
return false;
|
||||
}
|
||||
|
||||
ELFHeader *header = (ELFHeader *)elfFileData;
|
||||
|
||||
if(READ32LE(&header->magic) != 0x464C457F ||
|
||||
|
@ -1,24 +1,5 @@
|
||||
// -*- C++ -*-
|
||||
// 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
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation; either version 2, or(at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
#ifndef VBA_ELF_H
|
||||
#define VBA_ELF_H
|
||||
#ifndef ELF_H
|
||||
#define ELF_H
|
||||
|
||||
enum LocationType {
|
||||
LOCATION_register,
|
||||
@ -280,4 +261,5 @@ extern bool elfFindLineInModule(u32 *, const char *, int);
|
||||
u32 elfDecodeLocation(Function *, ELFBlock *, LocationType *);
|
||||
u32 elfDecodeLocation(Function *, ELFBlock *, LocationType *, u32);
|
||||
int elfFindLine(CompileUnit *unit, Function *func, u32 addr, const char **);
|
||||
#endif
|
||||
|
||||
#endif // ELF_H
|
||||
|
Loading…
Reference in New Issue
Block a user