Commit Graph

239 Commits

Author SHA1 Message Date
Scott Knight f385fb2faf Update gdb remote query support
The latest version of gdb from devkitpro expects slightly
different response to some of the remote queries. For instance
when sending back the current thread id there should be no
space or dash between 'm' and the thread id. Additionally a
handful of other common remote gdb query params were
added to better support current versions of gdb
2018-12-05 14:17:01 -08:00
Scott Knight 3484ecc419
Add support for LLDB qHostInfo packet
https://github.com/llvm-mirror/lldb/blob/master/docs/lldb-gdb-remote.txt

The qHostInfo command is listed as a high priority to implement for gdb
stubs that lldb can connect to. Adding support for this command allows
lldb to properly connect with it's `gdb-remote 55555` command and
correctly determine the target and allow debugging.
2018-11-28 08:50:50 -05:00
Scott Knight dd2a1d9b51
Fix stack overflow in remoteMemoryRead
When doing a remote memory read the debugger can ask for any size.
The buffer being allocated however was only 1024 bytes long and the
code in remoteMemoryRead also attempts to write a zero byte at the
end of the array. This code will now take the count of bytes the debugger
is trying to read and allocates a buffer that is count * 2 + 1 large. This is large
enough to hold the $02x formatted hex byte for each byte as well as the zero
byte written at the end.
2018-11-28 08:50:49 -05:00
Scott Knight 4f28e84632
Fix stack overflow in remotePutPacket
If the packet passed into remotePutPacket was 1024 bytes or
larger then the buffer array would not be large enough to hold
the $, checksum and zero byte written. This now allocates a buffer
of size count + 5 to accommodate these extra characters.
2018-11-28 08:50:48 -05:00
retro-wertz daf50fcdbe Libretro: Remove workaround for save file handling
For the most part, save types should now be identified during rom loading and then allow libretro to correctly use flash or eeprom save types and save size.
2018-06-30 12:15:08 -07:00
Rafael Kitover 6b4862581e fix some ELF parsing vulnerabilities #255
Implement the recommendations described in issue #255 by @zzazzdzz:

- Check bounds when reading ELF program header sections.

- Skip reading ELF section headers if the string table pointer is NULL.

- Increase the buffer size for dissassembled instructions in the
  dissassembly view and pass the buffer size to the disArm() and
  disThumb() functions so that rudimentary bounds checking can be done.

Also add the constants WORK_RAM_SIZE and ROM_SIZE to reduce incidence of
magic numbers and make the code a bit cleaner.
2018-06-29 08:17:13 -07:00
Rafael Kitover 430b5d638d fix Mac OS 10.13 build issues
Compile out the min/max functions in GBALink.cpp when compiling with
clang, clang does not like them because of some sort of changes in the
preprocessor.

Run the mac builder script with homebrew bash, system bash does not work
and dash no longer works.

TODO: fix dash compat
2018-06-17 16:01:40 -07:00
retro-wertz 009c09ef4a GBA: Show log when rom uses SRAM of FLASH save types
Log should only show once during the first write to SRAM or FLASH address using flashSaveDecide()
2018-06-16 15:59:53 +08:00
retro-wertz 76389d8e94 RTC: Change this #ifdef to GBA_LOGGING 2018-06-16 15:17:12 +08:00
retro-wertz 3c0e88bcdf Remove wrong #ifdef decleration
#ifdef __libretro__ is incorrect and function has worked fine without it.
2018-06-15 13:07:22 -04:00
retro-wertz 17b681b864 ereader.cpp: Silence warning 2018-06-13 22:54:07 +08:00
retro-wertz edf939e96b Gfx: Add #ifdef _MSC_VER, fix tiled rendering on windows
This only affects when using TILED_RENDERING
2018-06-08 21:21:57 +08:00
retro-wertz 57dc0c25ff Move gfxDrawTextScreen() into GBAGfx.cpp 2018-06-08 20:56:39 +08:00
retro-wertz 27aeb6dc67 Re-add Types.h, remove some more #ifdef 2018-06-08 20:14:45 +08:00
ZachBacon cafe905b6d Fix a cast for msvc compilers 2018-06-06 04:44:05 -04:00
retro-wertz 1606ea7482 libretro: Cleanup some #ifdefs 2018-06-06 16:20:32 +08:00
Zach Bacon 1d4dacc6f9
Merge pull request #244 from retro-wertz/fix_gba_cheats
Fix cheats not working in GBA
2018-06-05 21:50:22 -04:00
retro-wertz e2dff89dec Fix cheats not working in GBA 2018-06-06 09:35:23 +08:00
retro-wertz 9ab2ee6730 Fix some opcodes in arm 2018-06-06 07:48:18 +08:00
retro-wertz 26c8c61b88 Fix some formatting alignments in arm/thumb opcodes 2018-06-05 18:43:32 +08:00
retro-wertz 3411aa33a4 libretro: Use stdint.h instead in most cases 2018-06-05 00:14:06 +08:00
retro-wertz b0982ac8e1 Always apply map masks
fixes libretro issue where loading rom will only show white screen
2018-06-04 18:12:02 +08:00
Lucas 62e8098f5b Fix forbidden conversion in remote.cpp
Conversion from std::string to char* is forbidden in ISO C++.
2018-04-03 16:00:45 -04:00
Avindra Goolcharan 0bdbcf3188 SUSE Lint: fix a few classes of warnings #136
- drop unused variables

- unused-but-set-variable

- stray trailing comments

- in viewsupt.cpp replace redundant expression with variable that holds the same value
2017-08-08 20:05:38 -07:00
Avindra Goolcharan dd91abf72e fix errors reported by SUSE's post-build linter
In StartRFUSocket() in gba/GBALink.cpp move a postincrement out of an
expression to a following statement, because the evaluation order is
undefined.

In GetDevices() in wx/openal.cpp replace an #else with an #endif so that
the function has a default return statement visible to the linter.

In FilterThread::Entry() add a `return 0;` (ExitCode) statement at the
end even though it is probably never reached.

In the TransferToWindow() for the positive double validator widget in
wx/widgets/wxmisc.cpp add a default `return true;`, for the rare case
there is no double value, in which case the string representation would
be displayed (since it is a subclass of wxGenericValidator(wxString&) .)
2017-08-07 20:31:08 -07:00
Christopher Snowhill a5ebd8d2b4 Merge pull request #109 from condret/elf-parser-security
fix some potential buffer-overflows
2017-04-23 13:45:48 -07:00
condret a9b1251b88 fix some potential buffer-overflows 2017-04-23 22:28:17 +00:00
condret 63b0760329 hotfix for potential buffer-overflow 2017-04-23 22:07:28 +00:00
Zach Bacon b217f8b40b Oops, forgot Unices etc are case sensitive. 2017-03-25 07:23:30 -05:00
Zach Bacon 105bbba888 Almost there, just a few more blocks to go. 2017-03-21 21:52:28 -04:00
Mystro256 b38cb9b522 Error case if game num can't be read in cheatsImportGSACodeFile
Silence GCC warning
2017-02-12 04:26:21 -08:00
Mystro256 7e8efe963f Incorrect return value in cheatsImportGSACodeFile 2017-02-12 04:26:21 -08:00
Mystro256 24f06848df DeSerialize should pass packet by ref too 2016-12-30 11:43:36 -05:00
Mystro256 7788e6fc89 Spelling mistake ;) 2016-12-30 11:19:48 -05:00
Mystro256 c3e4969498 Fix gcc parentheses warning 2016-12-30 11:17:18 -05:00
Mystro256 0bcf4a5223 Clean up various used variables 2016-12-30 11:16:00 -05:00
Mystro256 a08d944867 Fix format-extra-args warning 2016-12-30 10:49:22 -05:00
Zach Bacon c0f8a8a335 Resolves undefined issues, just doesn't fix using libretro... yet. 2016-11-17 19:29:10 -05:00
Zach Bacon 0d6b94afb7 Slow fix of libretro interface 2016-11-10 00:40:22 -05:00
Christopher Snowhill 6cc2db09ab Update Cheats.cpp
Bounds checking again.
2016-11-04 11:59:03 -07:00
Rafael Kitover 01200fadbd Mac OS X 10.7 (Lion) build and runtime support
Make a custom cstdint.h header file that includes <tr1/cstdint> if
<cstdint> is not available, because the clang 3.x used on Lion does not
have it. Change all references to <cstdint> to use it instead.

Add missing OpenGL header for older OS X in sdl/SDL.cpp .

When calling HiDPI methods, use respondsToSelector: to check if the
methods are available first.

Fix the bundling/linking script to support multiple copies of the same
dylib with different versions. Necessary to include both the Lion system
libpng and the brew libpng. Including the system libpng is necessary
because it is removed in later versions of OS X.
2016-11-03 10:49:13 -07:00
Zach Bacon 9b65a9cf29 Merge pull request #22 from kookerus/PR
Added cast to uint8
2016-09-09 06:59:28 -04:00
Taylor Rose 294296b226 Added cast to uint8 2016-09-08 18:08:23 -04:00
Martin Sundhaug 6176a57d81 Merge https://github.com/visualboyadvance-m/visualboyadvance-m 2016-09-07 18:49:54 -04:00
Martin Sundhaug 9ad1506ed7 GDB: Range check register in remoteReadRegister and remoteWriteRegister 2016-09-07 18:29:57 -04:00
Martin Sundhaug a80209e9b9 Fix: Typo in GDB implementation 2016-09-03 22:39:55 +02:00
Jonathan Sifuentes e4354eedd2 Fix for T2
see: http://dev.vba-m.com/T2

> Every time I launch a server it defaults to the locahost IP instead of my
> actual IP. This is preventing me from linking with friends over Hamachi. When
> they enter my IP it errors on their end and they cannot connect. [report taken
> from <https://sourceforge.net/p/vbam/bugs/219/>]

Also, by chance, added the build folder to `.gitignore` so as to not pollute the
git repo.  I meant to do them as separate commits, but I forgot to do so.

Signed-off-by: Jonathan Sifuentes <jayands2k11@ymail.com>
2016-08-08 19:23:08 -07:00
Zach Bacon bba13d30a6
Minor compile issue, should be pretty much the last of it, next is the update check. 2016-07-31 09:13:14 -04:00
Dorian Wouters 31391e090c
Kill common/Types.h, replace its old typedefs w/ standard types
Fix includes in files using standard int types
Fix wxWidgets UI includes
Silence some unused variable warnings in GBA-arm.cpp macros
2016-07-29 11:07:11 +02:00
Dorian Wouters 37f0e75c45
Fix standard int types, prefix gb {C,H,N,Z}_FLAG with GB_ 2016-07-29 09:45:38 +02:00
Zach Bacon 4d3d2b7951
Gba inline fixed up, will try and get things done during the weekend 2016-07-23 09:32:49 -04:00
Zach Bacon ba57da76cb
You must be getting tired of this. I know I am. 2016-07-23 08:10:45 -04:00
Zach Bacon 8106b77056
Added a todo list 2016-07-23 07:59:34 -04:00
Zach Bacon ba3083b538
Expect more of these type of messages till all is done 2016-07-09 22:08:20 -04:00
Zach Bacon 79820311d3
I could go on, but really this is just more typedef removal 2016-07-09 21:38:43 -04:00
Zach Bacon 5f73631f84
Eeprom is done 2016-07-09 17:34:55 -04:00
Zach Bacon 590dd281dd
finished the cheat files 2016-07-09 17:24:11 -04:00
Zach Bacon 44e45acfe7
holy shit these shortcuts, there's no end to this is there? 2016-07-09 15:42:30 -04:00
Zach Bacon f0a4b5e533
bios.cpp done, still a bit to go for the cores 2016-07-09 14:39:27 -04:00
Zach Bacon 1f37311a4a
more and more formating issues, I keep doing it in parts for my own reasons 2016-07-09 10:13:54 -04:00
Zach Bacon 5bf44d19be
updated standards to webkit standard 2016-07-08 19:59:29 -04:00
Zach Bacon 48770219fa Minor build fixes cxx11 related 2016-02-20 18:44:49 -05:00
Zach Bacon 7ed85a8c6f Finish committing the remaining gtk3 patch (wip) 2015-12-12 23:23:34 -05:00
skidau a9aa25a56f This patch adds those missing HLE BIOS functions for sound driver: https://sourceforge.net/p/vbam/bugs/24/
It is utilized by Phantasy Star Collection at intro. I don't know any other games using this BIOS driver, so I just implemented the parts that Phantasy Star Collection uses.

This patch is far away from perfect yet. Sound quality is not the same as with original BIOS. Also code is horrible to read, since I just kept translating arm instructions to C without thinking too much. Got it done quickly so if anyone has keen interest on continuing from here.

Patch by Juha Laukkanen
2015-10-17 10:39:09 +11:00
skidau 811fc9a872 Fixed the crash that would occur if "Use BIOS file" was selected without a BIOS file specified. 2015-06-04 02:44:07 +00:00
skidau 56a42ec50f Fix some lintian warnings. Patch by sergio-br2. 2015-05-29 22:11:38 +00:00
skidau 066f2e80d6 Fixed the save type changing to SRAM on reset, if the game had been overridden to use EEPROM. 2015-05-24 14:49:28 +00:00
skidau 2ec24487c3 Fixed the "Solar Sensor is broken" message that appeared in "Boktai - The Sun Is in Your Hand". Cleaned and formatted the code. Fixed a mistake where the RTC was not getting updated. 2015-05-24 13:30:31 +00:00
skidau 23cdd50acb Added the option of using host (PC) time or guest (GBA) time for the RTC. Checking the "Real time clock" option in the menu uses host time otherwise it uses guest time. Using guest time will mean that the clock speeds up or slows down with the speed of emulation. 2015-05-23 09:03:11 +00:00
skidau 3ae673b85d Fixed the battery file not saving after a save state was loaded. 2015-05-23 04:43:42 +00:00
skidau 8508f7aab6 Used the battery file size as an indicator of the save type unless overridden. 2015-05-22 15:11:28 +00:00
skidau 152533061c Save SRAM battery files as 8KB files. 2015-05-22 11:05:45 +00:00
skidau 4a5ae01e19 Removed the padding from the cheat file when it is saved in CLT format. 2015-05-22 07:05:06 +00:00
skidau 45c8b6a3d6 Fixed the cheat list size check. 2015-05-21 07:42:14 +00:00
skidau 77de248b71 Raised the maximum number of cheats allowed from 100 to 16384. 2015-05-18 05:37:37 +00:00
skidau 4116a72ae7 Added rewind feature to GTK version. Patch by Juha Laukkanen.
There are two config params:

rewind_count_max => how many blocks are reserved maximum, higher value leads to greater memory usage naturally but longer rewind log
rewind_interval => default interval is 165ms and higher value leads to more inaccurate rewind but longer rewind log

Also fixes memtell() telling incorrect size because data is not flushed.
wxWidgets front end having too small buffer for rewinds resulting overflows.
2015-05-18 00:58:16 +00:00
skidau 8a2a0066bf Enabled the Game Boy Game Link emulation on Linux builds. 2015-05-14 04:23:03 +00:00
skidau 5da5feaac2 Ported the Game Boy Game Link code to TCP sockets. 2015-05-14 03:05:25 +00:00
skidau 40f4c50f7e Partially untangle the saveTypes. Fixes Pokemon Ruby from freezing on reset. 2015-05-14 00:47:33 +00:00
skidau 427c63aa3d Fixed an array out of bounds access in the debugger. Fixed a path problem with the wx vbam xpm icon. Patch by Mook. 2015-05-11 07:27:42 +00:00
skidau 535bf04f58 Fixed the battery saving in Pokemon FireRed 2015-05-08 05:06:13 +00:00
skidau d3146f3011 Hooked up the GBA tilt sensor to the wx gui 2015-05-07 14:45:25 +00:00
skidau c673cceaf7 NO_LINK wx build fixes 2015-05-05 13:37:56 +00:00
skidau a42eac7f91 Moved the link functions to their own menu 2015-05-01 15:15:32 +00:00
skidau def2c61993 Round up the rom size to the nearest power of two before mirroring. 2015-05-01 13:27:07 +00:00
skidau 0a5f44357e Made the wx GDB menus consistent with the MFC version. 2015-04-30 10:35:04 +00:00
skidau ad60e2cd67 Initial changes for compiling the wx build under Visual Studio 2015-04-22 00:02:29 +00:00
skidau 32fa4b20cf Fixed the throttle menu option 2015-04-19 22:07:49 +00:00
skidau 9ef3e205b0 Fixed the debug printf feature in the case where a debugger is not attached. 2015-04-19 10:13:53 +00:00
skidau 392ad54086 Missed this change in r1349 2015-04-19 07:41:27 +00:00
skidau e07cef142e Re-enabled the debugger in the command line version (SDL) 2015-04-19 07:01:41 +00:00
skidau dcfeb517dc Added a command line option to load e-Reader dotcode files 2015-04-18 15:35:46 +00:00
skidau 5a9015b3f0 Created a common configuration system. 2015-04-18 06:53:55 +00:00
skidau 232c499247 Linux build fix 2015-04-14 11:29:23 +00:00
squall-leonhart c1acdb8aec silence some warnings. 2015-04-14 10:59:03 +00:00
skidau 0e5d12f070 Updated libretro to c0449e2c75650325aed7e7495a41f166d9ec0e7a (11/03/2015 7:03:18AM)
c0449e2c75
2015-04-14 10:39:21 +00:00
skidau 14d94c32f6 Preliminary implementation of the GBA wireless adapter using TCP (based on the IPC version). 2015-04-14 10:21:27 +00:00
skidau b99b1135c8 Enabled the RTC and rom mirroring by default. 2015-04-08 05:05:12 +00:00
skidau 88286e8578 Removed the "Remove Intros" option because it did not work. Removed the "e-Reader" option because the e-Reader is automatically detected. Removed the double emulator loop because it is not needed. 2015-04-08 04:30:16 +00:00
wowzaman12 2131cd0dba case of the case sensitive compiler. 2015-04-07 11:46:26 +00:00