Compare commits
266 Commits
Author | SHA1 | Date |
---|---|---|
![]() |
26b7884bc2 | |
![]() |
b9b090c566 | |
![]() |
5e8c47ecb1 | |
![]() |
406a202157 | |
![]() |
332b1b8bc3 | |
![]() |
7cfe792559 | |
![]() |
e19f35e7e4 | |
![]() |
56b59c767b | |
![]() |
0670687b86 | |
![]() |
196adf233c | |
![]() |
dbae6e1eef | |
![]() |
5e4b91c94f | |
![]() |
afdf3b0b88 | |
![]() |
f40ea09127 | |
![]() |
7e1e7d2253 | |
![]() |
c9083715e6 | |
![]() |
eecdfd0c77 | |
![]() |
20da804e65 | |
![]() |
e4dc41df31 | |
![]() |
9a1d2442a3 | |
![]() |
6c2da7b621 | |
![]() |
9a38ba4913 | |
![]() |
2f880b17ca | |
![]() |
bbf601da02 | |
![]() |
b51e58640f | |
![]() |
30897fee62 | |
![]() |
c143851916 | |
![]() |
10eb8c57d2 | |
![]() |
952c883755 | |
![]() |
7ae9117930 | |
![]() |
07ac520a9a | |
![]() |
f778cf4749 | |
![]() |
9271198f64 | |
![]() |
16f7a05b1a | |
![]() |
a66ad9c2c8 | |
![]() |
3ae88949a3 | |
![]() |
ffe539343e | |
![]() |
00426ad6d1 | |
![]() |
7d8b029282 | |
![]() |
67b0a27d88 | |
![]() |
d2a8b43ae0 | |
![]() |
ebad7a380b | |
![]() |
a0f6255a0b | |
![]() |
154fe6b344 | |
![]() |
5ac23cfe4f | |
![]() |
2c2eab2b94 | |
![]() |
ee2533831d | |
![]() |
b205537558 | |
![]() |
e0b0e45821 | |
![]() |
832c0aed27 | |
![]() |
f8ece1ed04 | |
![]() |
95c2e2fbe6 | |
![]() |
40dcea36c0 | |
![]() |
21d76adf66 | |
![]() |
8f648b6808 | |
![]() |
b342ecb76f | |
![]() |
63c0bedf44 | |
![]() |
ff00fed81c | |
![]() |
a2493a7bf3 | |
![]() |
b1c7c6d14a | |
![]() |
16a565dc6b | |
![]() |
0ca0ea47d4 | |
![]() |
455d424685 | |
![]() |
99bae2dc06 | |
![]() |
34b1f0b3a4 | |
![]() |
c2907e8286 | |
![]() |
557a3b67db | |
![]() |
950e576f09 | |
![]() |
2ab7500e3e | |
![]() |
5aa7c955f1 | |
![]() |
32149f0e24 | |
![]() |
1c058b596e | |
![]() |
3253c5dd32 | |
![]() |
858c94e5ee | |
![]() |
a2b7b19d89 | |
![]() |
48350b1fd3 | |
![]() |
1c61b54208 | |
![]() |
15ec8eb795 | |
![]() |
383dcda998 | |
![]() |
e1a5329f30 | |
![]() |
0227d2db39 | |
![]() |
3f4cb4dbcb | |
![]() |
960d98a554 | |
![]() |
9a45bf94aa | |
![]() |
f8112aee59 | |
![]() |
68e5a0aa47 | |
![]() |
7be38eaed5 | |
![]() |
3c5caf7c53 | |
![]() |
f4a5d86f88 | |
![]() |
3520607ebc | |
![]() |
4f50fe04fe | |
![]() |
c6afa29215 | |
![]() |
ba83c4d9d3 | |
![]() |
0e3d55c2ac | |
![]() |
ef9c5bd096 | |
![]() |
5ecce03fba | |
![]() |
0b003fe230 | |
![]() |
a362317f46 | |
![]() |
73ac3dad4f | |
![]() |
1d4bf372b8 | |
![]() |
da8f4f28f3 | |
![]() |
35cdd5d242 | |
![]() |
d2205d3475 | |
![]() |
404e84b045 | |
![]() |
31235a6b2c | |
![]() |
0fb8b782be | |
![]() |
c5dc97a432 | |
![]() |
9adb1faef2 | |
![]() |
9b98a19a37 | |
![]() |
ddee0af216 | |
![]() |
35bbc74cc2 | |
![]() |
510d1afa4a | |
![]() |
d6291bcc05 | |
![]() |
e86e9d0c76 | |
![]() |
cda008eef5 | |
![]() |
fcb2f11464 | |
![]() |
eb2233eaaa | |
![]() |
1d37620c8c | |
![]() |
1ec45502fb | |
![]() |
1dc94c999a | |
![]() |
afb614ad03 | |
![]() |
a51cb3f921 | |
![]() |
1acb7dfa9e | |
![]() |
b06c22a408 | |
![]() |
2669e0f772 | |
![]() |
87c9d3851e | |
![]() |
0d353a740f | |
![]() |
72379168cb | |
![]() |
76fe63a254 | |
![]() |
24f3d8808f | |
![]() |
6c4ca7724f | |
![]() |
276e911e38 | |
![]() |
e49fe46c26 | |
![]() |
724b79b035 | |
![]() |
c37949fee7 | |
![]() |
d99f7b9912 | |
![]() |
97162280f9 | |
![]() |
84d600cba6 | |
![]() |
21cfb15f99 | |
![]() |
ff3c68bbd6 | |
![]() |
5f762e68b8 | |
![]() |
5a94780871 | |
![]() |
078ce85774 | |
![]() |
2fb5545061 | |
![]() |
c5743e7931 | |
![]() |
b876218060 | |
![]() |
76acad90a6 | |
![]() |
c0e3db2bb4 | |
![]() |
cbe87be222 | |
![]() |
e15cca9623 | |
![]() |
b0441cffd0 | |
![]() |
2f2287683a | |
![]() |
70bbe06bfb | |
![]() |
d79a83321c | |
![]() |
8344efdccd | |
![]() |
7517cce0af | |
![]() |
5a642ae1f1 | |
![]() |
9d7f47413c | |
![]() |
6806850441 | |
![]() |
121376ccb0 | |
![]() |
7d9d71ef54 | |
![]() |
7da48a7c7f | |
![]() |
ff3f2a9d84 | |
![]() |
87295370f1 | |
![]() |
e01b56fbd5 | |
![]() |
5b52f0f277 | |
![]() |
e7f56bd5c9 | |
![]() |
40e7d2aa4d | |
![]() |
603ab67926 | |
![]() |
5f6244556e | |
![]() |
06b1b04c7d | |
![]() |
853b028892 | |
![]() |
1ed40a1931 | |
![]() |
b8248327a2 | |
![]() |
b6e34f084f | |
![]() |
8b67243780 | |
![]() |
b06d178c41 | |
![]() |
43f2eb78d7 | |
![]() |
2e4732f1ff | |
![]() |
71174659f2 | |
![]() |
d099a0d07e | |
![]() |
3357fa6a03 | |
![]() |
72817df4cf | |
![]() |
9da638f0c0 | |
![]() |
1bbbbc745d | |
![]() |
18b798ec41 | |
![]() |
bd805dd720 | |
![]() |
c13e2a822e | |
![]() |
9132859b6f | |
![]() |
feb9c4a48b | |
![]() |
081fe27e3a | |
![]() |
11d38a8317 | |
![]() |
766c6625c4 | |
![]() |
1d01a7585c | |
![]() |
a473aeff2c | |
![]() |
3f5fec4e4d | |
![]() |
8c5ad62dbc | |
![]() |
5558e469e0 | |
![]() |
1164d5b470 | |
![]() |
b9a950fee7 | |
![]() |
7e624c6857 | |
![]() |
395fa2da4c | |
![]() |
4738e558f2 | |
![]() |
1f2df26e22 | |
![]() |
4f8763ad0b | |
![]() |
1331788b6e | |
![]() |
7c4a7796f8 | |
![]() |
5183edc3c6 | |
![]() |
5d1fdf3b24 | |
![]() |
b00a04099f | |
![]() |
d29e782789 | |
![]() |
17322e50b8 | |
![]() |
31755ebb19 | |
![]() |
f69853e8ba | |
![]() |
df6ae1883c | |
![]() |
21f441953f | |
![]() |
3415dfa1b7 | |
![]() |
71d1f122f9 | |
![]() |
9c69b86d71 | |
![]() |
b5b4271145 | |
![]() |
a4b63e1db9 | |
![]() |
86061dbc3b | |
![]() |
456ac2222b | |
![]() |
a413dda335 | |
![]() |
c8d7a7d1a3 | |
![]() |
9d6d2c9c6b | |
![]() |
f7acda6d64 | |
![]() |
0da3498ee8 | |
![]() |
d17b1da1b7 | |
![]() |
0d52995877 | |
![]() |
63a019b749 | |
![]() |
fac26cda3c | |
![]() |
245f4b961a | |
![]() |
3d723d5cf4 | |
![]() |
1a4dc70731 | |
![]() |
411b7dccb4 | |
![]() |
947a1c8f5c | |
![]() |
576f607c81 | |
![]() |
ab790f4c6d | |
![]() |
94277cffbb | |
![]() |
7ba3b40977 | |
![]() |
3dbb90e574 | |
![]() |
c323ab384c | |
![]() |
411741fba3 | |
![]() |
9f057e2719 | |
![]() |
0fc6b02691 | |
![]() |
3866d74707 | |
![]() |
aeaa40e373 | |
![]() |
8e58dcadb8 | |
![]() |
f632b85338 | |
![]() |
3cd63cb71c | |
![]() |
4914954c67 | |
![]() |
20c16bc8e7 | |
![]() |
838e4a182e | |
![]() |
e3605d291c | |
![]() |
12f7168e9f | |
![]() |
455525e3b6 | |
![]() |
3f39bd2536 | |
![]() |
838122c234 | |
![]() |
c6d7c8f601 | |
![]() |
9a3ec792dd | |
![]() |
c4718d6907 | |
![]() |
64255a716b | |
![]() |
277aa36d12 | |
![]() |
81cb4c3bf6 | |
![]() |
df599a1fb6 |
67
CHANGES
|
@ -1,70 +1,3 @@
|
|||
0.11.0: (Future)
|
||||
Features:
|
||||
- Forwarder support for 3DS and Vita
|
||||
- Custom border support
|
||||
- New option to lock the maximum frame size
|
||||
- Memory access and information logging
|
||||
- 3DS: Add faster "loose" sync mode, default enabled
|
||||
- Vita: Allow using rear touch pads as L2/L3/R2/R3
|
||||
- Scripting: New `input` API for getting raw keyboard/mouse/controller state
|
||||
- Scripting: New `storage` API for saving data for a script, e.g. settings
|
||||
- Scripting: New `image` and `canvas` APIs for drawing images and displaying on-screen
|
||||
- Scripting: Debugger integration to allow for breakpoints and watchpoints
|
||||
- New unlicensed GB mappers: NT (older types 1 and 2), Li Cheng, GGB-81, Sintax
|
||||
- Initial support for bootleg GBA multicarts
|
||||
- Debugger: Add range watchpoints
|
||||
- "Headless" frontend for running tests, automation, etc.
|
||||
Emulation fixes:
|
||||
- ARM: Add framework for coprocessor support
|
||||
- GB Serialize: Add missing Pocket Cam state to savestates
|
||||
- GB Video: Implement DMG-style sprite ordering
|
||||
- GBA: Unhandled bkpt should be treated as an undefined exception
|
||||
- GBA: Add baseline CP0 (Wii U VC) and CP1 (DCC) implementations
|
||||
- GBA Serialize: Fix some minor save state edge cases
|
||||
- GBA Video: Disable BG target 1 blending when OBJ blending (fixes mgba.io/i/2722)
|
||||
- GBA Video: Improve emulation of window start/end conditions (fixes mgba.io/i/1945)
|
||||
Other fixes:
|
||||
- Core: Fix inconsistencies with setting game-specific overrides (fixes mgba.io/i/2963)
|
||||
- Debugger: Fix writing to specific segment in command-line debugger
|
||||
- GBA: Fix getting game info for multiboot ROMs
|
||||
- mGUI: Load parent directory if last used directory is missing (fixes mgba.io/i/3379)
|
||||
- Qt: Fix savestate preview sizes with different scales (fixes mgba.io/i/2560)
|
||||
- Qt: Fix potential crash when configuring shortcuts
|
||||
- Qt: Fix regression where loading BIOS creates a save file (fixes mgba.io/i/3359)
|
||||
Misc:
|
||||
- 3DS: Change title ID to avoid conflict with commercial title (fixes mgba.io/i/3023)
|
||||
- Core: Handle relative paths for saves, screenshots, etc consistently (fixes mgba.io/i/2826)
|
||||
- Core: Improve rumble emulation by averaging state over entire frame (fixes mgba.io/i/3232)
|
||||
- Core: Add MD5 hashing for ROMs
|
||||
- Core: Add support for specifying an arbitrary portable directory
|
||||
- Core: Add SHA1 hashing for ROMs
|
||||
- FFmpeg: Add Ut Video option
|
||||
- GB: Prevent incompatible BIOSes from being used on differing models
|
||||
- GB Serialize: Add missing savestate support for MBC6 and NT (newer)
|
||||
- GBA: Improve detection of valid ELF ROMs
|
||||
- GBA Audio: Remove broken XQ audio pending rewrite
|
||||
- GBA BIOS: Move SoftReset implementation to assembly
|
||||
- GBA Memory: Improve VRAM access stall cycle estimation
|
||||
- GBA SIO: Rewrite lockstep driver for improved stability
|
||||
- GBA Video: Add special circlular window handling in OpenGL renderer
|
||||
- Libretro: Add Super Game Boy Color support (closes mgba.io/i/3188)
|
||||
- mGUI: Enable auto-softpatching (closes mgba.io/i/2899)
|
||||
- mGUI: Persist fast forwarding after closing menu (fixes mgba.io/i/2414)
|
||||
- mGUI: Wrap around menu cursor when navigating past end (closes mgba.io/i/3356)
|
||||
- Qt: Handle multiple save game files for disparate games separately (fixes mgba.io/i/2887)
|
||||
- Qt: Remove maligned double-click-to-fullscreen shortcut (closes mgba.io/i/2632)
|
||||
- Qt: Pass logging context through to video proxy thread (fixes mgba.io/i/3095)
|
||||
- Qt: Show maker code and game version in ROM info
|
||||
- Qt: Show a dummy shader settings tab if shaders aren't supported
|
||||
- Qt: Allow passing multiple games on command line for multiplayer (closes mgba.io/i/3061)
|
||||
- Qt: Support building against Qt 6
|
||||
- Qt: Add shortcuts to increment fast forward speed (mgba.io/i/2903)
|
||||
- Qt: Enable ROM preloading by default
|
||||
- Res: Port hq2x and OmniScale shaders from SameBoy
|
||||
- Res: Port NSO-gba-colors shader (closes mgba.io/i/2834)
|
||||
- Res: Update gba-colors shader (closes mgba.io/i/2976)
|
||||
- Scripting: Add `callbacks:oneshot` for single-call callbacks
|
||||
|
||||
0.10.5: (2025-03-08)
|
||||
Other fixes:
|
||||
- ARM Debugger: Fix disassembly of ror r0 barrel shift (fixes mgba.io/i/3412)
|
||||
|
|
195
CMakeLists.txt
|
@ -1,4 +1,4 @@
|
|||
cmake_minimum_required(VERSION 3.10)
|
||||
cmake_minimum_required(VERSION 3.1)
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/src/platform/cmake/")
|
||||
|
||||
if(POLICY CMP0025)
|
||||
|
@ -34,23 +34,19 @@ if(NOT MSVC)
|
|||
# mingw32 likes to complain about using the "wrong" format strings despite them actually working
|
||||
set(WARNING_FLAGS "${WARNING_FLAGS} -Wno-format")
|
||||
endif()
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_FLAGS} -Werror=implicit-function-declaration -Werror=implicit-int -fwrapv")
|
||||
if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
|
||||
# TODO: Remove this once mScript KV pairs support const correctness
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror=incompatible-pointer-types")
|
||||
endif()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNING_FLAGS} -Woverloaded-virtual -Werror=reorder")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_FLAGS} -Werror=implicit-function-declaration")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNING_FLAGS}")
|
||||
else()
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_CRT_SECURE_NO_WARNINGS /wd4003 /wd4244 /wd4146 /wd4267 /Zc:preprocessor-")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS /wd4003 /wd4244 /wd4146 /wd4267 /Zc:preprocessor-")
|
||||
endif()
|
||||
|
||||
if(NOT LIBMGBA_ONLY)
|
||||
set(ENABLE_DEBUGGERS ON CACHE BOOL "Whether or not to enable the debugging infrastructure")
|
||||
set(USE_DEBUGGERS ON CACHE BOOL "Whether or not to enable the debugging infrastructure")
|
||||
if (NOT WIN32)
|
||||
set(USE_EDITLINE ON CACHE BOOL "Whether or not to enable the CLI-mode debugger")
|
||||
endif()
|
||||
set(ENABLE_GDB_STUB ON CACHE BOOL "Whether or not to enable the GDB stub ARM debugger")
|
||||
set(USE_GDB_STUB ON CACHE BOOL "Whether or not to enable the GDB stub ARM debugger")
|
||||
set(USE_FFMPEG ON CACHE BOOL "Whether or not to enable FFmpeg support")
|
||||
set(USE_ZLIB ON CACHE BOOL "Whether or not to enable zlib support")
|
||||
set(USE_MINIZIP ON CACHE BOOL "Whether or not to enable external minizip support")
|
||||
|
@ -59,7 +55,6 @@ if(NOT LIBMGBA_ONLY)
|
|||
set(USE_SQLITE3 ON CACHE BOOL "Whether or not to enable SQLite3 support")
|
||||
set(USE_ELF ON CACHE BOOL "Whether or not to enable ELF support")
|
||||
set(USE_LUA ON CACHE BOOL "Whether or not to enable Lua scripting support")
|
||||
set(USE_JSON_C ON CACHE BOOL "Whether or not to enable JSON-C support")
|
||||
set(M_CORE_GBA ON CACHE BOOL "Build Game Boy Advance core")
|
||||
set(M_CORE_GB ON CACHE BOOL "Build Game Boy core")
|
||||
set(USE_LZMA ON CACHE BOOL "Whether or not to enable 7-Zip support")
|
||||
|
@ -68,21 +63,23 @@ if(NOT LIBMGBA_ONLY)
|
|||
set(BUILD_QT ON CACHE BOOL "Build Qt frontend")
|
||||
set(BUILD_SDL ON CACHE BOOL "Build SDL frontend")
|
||||
set(BUILD_LIBRETRO OFF CACHE BOOL "Build libretro core")
|
||||
if(APPLE)
|
||||
set(BUILD_OPENEMU OFF CACHE BOOL "Build OpenEmu core")
|
||||
endif()
|
||||
set(BUILD_PERF OFF CACHE BOOL "Build performance profiling tool")
|
||||
set(BUILD_TEST OFF CACHE BOOL "Build testing harness")
|
||||
set(BUILD_SUITE OFF CACHE BOOL "Build test suite")
|
||||
set(BUILD_CINEMA OFF CACHE BOOL "Build video tests suite")
|
||||
set(BUILD_HEADLESS OFF CACHE BOOL "Build headless tool")
|
||||
set(BUILD_ROM_TEST OFF CACHE BOOL "Build ROM test tool")
|
||||
set(BUILD_EXAMPLE OFF CACHE BOOL "Build example frontends")
|
||||
set(BUILD_PYTHON OFF CACHE BOOL "Build Python bindings")
|
||||
set(BUILD_STATIC OFF CACHE BOOL "Build a static library")
|
||||
set(BUILD_SHARED ON CACHE BOOL "Build a shared library")
|
||||
set(SKIP_LIBRARY OFF CACHE BOOL "Skip building the library (useful for only building libretro core)")
|
||||
set(SKIP_LIBRARY OFF CACHE BOOL "Skip building the library (useful for only building libretro or OpenEmu cores)")
|
||||
set(BUILD_GL ON CACHE BOOL "Build with OpenGL")
|
||||
set(BUILD_GLES2 ON CACHE BOOL "Build with OpenGL|ES 2")
|
||||
set(BUILD_GLES3 ON CACHE BOOL "Build with OpenGL|ES 3")
|
||||
set(BUILD_DOCGEN OFF CACHE BOOL "Build the scripting API documentation generator")
|
||||
set(BUILD_MAINTAINER_TOOLS OFF CACHE BOOL "Build tools only useful for maintainers")
|
||||
set(USE_EPOXY ON CACHE STRING "Build with libepoxy")
|
||||
set(DISABLE_DEPS OFF CACHE BOOL "Build without dependencies")
|
||||
set(DISTBUILD OFF CACHE BOOL "Build distribution packages")
|
||||
|
@ -91,7 +88,6 @@ if(NOT LIBMGBA_ONLY)
|
|||
mark_as_advanced(WIN32_UNIX_PATHS)
|
||||
endif()
|
||||
mark_as_advanced(BUILD_DOCGEN)
|
||||
mark_as_advanced(BUILD_MAINTAINER_TOOLS)
|
||||
else()
|
||||
set(DISABLE_FRONTENDS ON)
|
||||
set(DISABLE_DEPS ON)
|
||||
|
@ -141,6 +137,11 @@ if (BUILD_LIBRETRO)
|
|||
mark_as_advanced(LIBRETRO_LIBDIR)
|
||||
endif()
|
||||
|
||||
if (BUILD_OPENEMU)
|
||||
set(OE_LIBDIR "${LIBDIR}" CACHE PATH "Installed library directory (OpenEmu)")
|
||||
mark_as_advanced(OE_LIBDIR)
|
||||
endif()
|
||||
|
||||
if (DISTBUILD)
|
||||
set(EXTRA_LICENSES "" CACHE FILEPATH "Extra licenses to include in distribution packaages")
|
||||
mark_as_advanced(EXTRA_LICENSES)
|
||||
|
@ -158,7 +159,6 @@ endif()
|
|||
|
||||
include(FindFeature)
|
||||
include(FindFunction)
|
||||
include(DebugStrip)
|
||||
|
||||
# Version information
|
||||
add_custom_target(${BINARY_NAME}-version-info ALL
|
||||
|
@ -208,22 +208,18 @@ elseif(BUILD_PGO AND PGO_STAGE_2)
|
|||
endif()
|
||||
|
||||
# Platform support
|
||||
set(OS_DEFINES)
|
||||
if(WIN32)
|
||||
set(WIN32_VERSION "${LIB_VERSION_MAJOR},${LIB_VERSION_MINOR},${LIB_VERSION_PATCH}")
|
||||
add_definitions(-D_WIN32_WINNT=0x0600)
|
||||
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
|
||||
if(MSVC)
|
||||
add_definitions(-DNOMINMAX -DWIN32_LEAN_AND_MEAN)
|
||||
add_definitions(-D_UNICODE -DUNICODE)
|
||||
else()
|
||||
add_definitions(-D_GNU_SOURCE)
|
||||
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
add_compile_definitions(_FILE_OFFSET_BITS=64)
|
||||
endif()
|
||||
endif()
|
||||
list(APPEND OS_LIB ws2_32 shlwapi)
|
||||
list(APPEND OS_DEFINES ENABLE_VFS_FD)
|
||||
list(APPEND VFS_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/util/vfs/vfs-fd.c ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/windows/vfs-w32.c)
|
||||
list(APPEND CORE_VFS_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/util/vfs/vfs-fd.c ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/windows/vfs-w32.c)
|
||||
file(GLOB OS_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/windows/*.c)
|
||||
source_group("Windows-specific code" FILES ${OS_SRC})
|
||||
elseif(UNIX)
|
||||
|
@ -233,8 +229,7 @@ elseif(UNIX)
|
|||
add_definitions(-D_GNU_SOURCE)
|
||||
endif()
|
||||
|
||||
list(APPEND OS_DEFINES ENABLE_VFS_FD)
|
||||
list(APPEND VFS_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/util/vfs/vfs-fd.c ${CMAKE_CURRENT_SOURCE_DIR}/src/util/vfs/vfs-dirent.c)
|
||||
list(APPEND CORE_VFS_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/util/vfs/vfs-fd.c ${CMAKE_CURRENT_SOURCE_DIR}/src/util/vfs/vfs-dirent.c)
|
||||
file(GLOB OS_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/posix/*.c)
|
||||
source_group("POSIX-specific code" FILES ${OS_SRC})
|
||||
endif()
|
||||
|
@ -247,12 +242,6 @@ if(APPLE)
|
|||
endif()
|
||||
add_definitions(-D_DARWIN_C_SOURCE)
|
||||
list(APPEND OS_LIB "-framework Foundation")
|
||||
|
||||
# Xcode 15 introduced a warning about duplicate libraries that CMake doesn't disable itself, we do it here globally
|
||||
if(MACOSX_SDK VERSION_GREATER_EQUAL 10.15)
|
||||
add_link_options(LINKER:-no_warn_duplicate_libraries)
|
||||
endif()
|
||||
|
||||
if(NOT CMAKE_SYSTEM_VERSION VERSION_LESS "10.0") # Darwin 10.x is Mac OS X 10.6
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.6")
|
||||
endif()
|
||||
|
@ -283,6 +272,20 @@ if(CMAKE_C_COMPILER_ID STREQUAL "GNU" OR CMAKE_C_COMPILER_ID STREQUAL "Clang" OR
|
|||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELEASE} -gdwarf")
|
||||
endif()
|
||||
|
||||
if(BUILD_BBB OR BUILD_RASPI OR BUILD_PANDORA)
|
||||
if(NOT BUILD_EGL)
|
||||
add_definitions(-DCOLOR_16_BIT -DCOLOR_5_6_5)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(BUILD_RASPI)
|
||||
set(BUILD_GL OFF CACHE BOOL "OpenGL not supported" FORCE)
|
||||
endif()
|
||||
|
||||
if(BUILD_PANDORA)
|
||||
add_definitions(-DBUILD_PANDORA)
|
||||
endif()
|
||||
|
||||
if(CMAKE_SYSTEM_PROCESSOR MATCHES "arm.*")
|
||||
enable_language(ASM)
|
||||
endif()
|
||||
|
@ -293,7 +296,7 @@ endif()
|
|||
|
||||
if(DEFINED 3DS OR DEFINED PSP2 OR DEFINED WII OR DEFINED SWITCH)
|
||||
set(IS_EMBEDDED ON)
|
||||
set(ENABLE_DEBUGGERS OFF)
|
||||
set(USE_DEBUGGERS OFF)
|
||||
set(USE_SQLITE3 OFF)
|
||||
set(USE_DISCORD_RPC OFF)
|
||||
set(USE_LIBZIP OFF CACHE BOOL "")
|
||||
|
@ -305,12 +308,12 @@ if(DEFINED SWITCH)
|
|||
endif()
|
||||
|
||||
if(NOT M_CORE_GBA)
|
||||
set(ENABLE_GDB_STUB OFF)
|
||||
set(USE_GDB_STUB OFF)
|
||||
endif()
|
||||
|
||||
if(NOT ENABLE_DEBUGGERS)
|
||||
if(NOT USE_DEBUGGERS)
|
||||
set(USE_EDITLINE OFF)
|
||||
set(ENABLE_GDB_STUB OFF)
|
||||
set(USE_GDB_STUB OFF)
|
||||
endif()
|
||||
|
||||
if(WII)
|
||||
|
@ -339,8 +342,6 @@ find_function(futimens)
|
|||
find_function(futimes)
|
||||
find_function(localtime_r)
|
||||
|
||||
find_function(realpath)
|
||||
|
||||
if(ANDROID AND ANDROID_NDK_MAJOR GREATER 13)
|
||||
list(APPEND FUNCTION_DEFINES HAVE_STRTOF_L)
|
||||
elseif(NOT CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
|
@ -349,9 +350,6 @@ elseif(NOT CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|||
endif()
|
||||
|
||||
check_include_files("xlocale.h" HAVE_XLOCALE)
|
||||
|
||||
set(ENABLE_VFS ON)
|
||||
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Generic")
|
||||
if(NOT IS_EMBEDDED)
|
||||
set(DISABLE_DEPS ON CACHE BOOL "This platform cannot build with dependencies" FORCE)
|
||||
|
@ -484,9 +482,8 @@ if(NOT BUILD_GLES2 AND NOT BUILD_GLES3 AND NOT LIBMGBA_ONLY)
|
|||
endif()
|
||||
|
||||
if(DISABLE_DEPS)
|
||||
set(ENABLE_GDB_STUB OFF)
|
||||
set(USE_GDB_STUB OFF)
|
||||
set(USE_DISCORD_RPC OFF)
|
||||
set(USE_JSON_C OFF)
|
||||
set(USE_SQLITE3 OFF)
|
||||
set(USE_PNG OFF)
|
||||
set(USE_ZLIB OFF)
|
||||
|
@ -532,12 +529,14 @@ if(USE_EDITLINE)
|
|||
set(DEBUGGER_LIB ${LIBEDIT_LIBRARIES})
|
||||
endif()
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS},libedit2")
|
||||
list(APPEND FEATURE_SRC "${CMAKE_CURRENT_SOURCE_DIR}/src/feature/editline/cli-el-backend.c")
|
||||
else()
|
||||
set(DEBUGGER_LIB "")
|
||||
endif()
|
||||
|
||||
if(ENABLE_GDB_STUB)
|
||||
list(APPEND ENABLES GDB_STUB)
|
||||
if(USE_GDB_STUB)
|
||||
list(APPEND FEATURES GDB_STUB)
|
||||
list(APPEND FEATURE_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/debugger/gdb-stub.c)
|
||||
endif()
|
||||
source_group("Debugger" FILES ${DEBUGGER_SRC})
|
||||
|
||||
|
@ -581,6 +580,8 @@ if(USE_FFMPEG)
|
|||
endif()
|
||||
endif()
|
||||
|
||||
list(APPEND THIRD_PARTY_SRC "${CMAKE_CURRENT_SOURCE_DIR}/src/third-party/blip_buf/blip_buf.c")
|
||||
|
||||
if(WANT_ZLIB AND NOT USE_ZLIB)
|
||||
set(SKIP_INSTALL_ALL ON)
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/src/third-party/zlib zlib EXCLUDE_FROM_ALL)
|
||||
|
@ -772,36 +773,11 @@ endif()
|
|||
|
||||
if(ENABLE_SCRIPTING)
|
||||
list(APPEND ENABLES SCRIPTING)
|
||||
find_feature(USE_JSON_C "json-c")
|
||||
if(NOT USE_LUA VERSION_LESS 5.1)
|
||||
find_feature(USE_LUA "Lua" ${USE_LUA})
|
||||
else()
|
||||
find_feature(USE_LUA "Lua")
|
||||
endif()
|
||||
if(USE_JSON_C)
|
||||
list(APPEND FEATURES JSON_C)
|
||||
if(TARGET json-c::json-c)
|
||||
list(APPEND DEPENDENCY_LIB json-c::json-c)
|
||||
get_target_property(JSON_C_SONAME json-c::json-c IMPORTED_SONAME_NONE)
|
||||
string(SUBSTRING "${JSON_C_SONAME}" 13 -1 JSON_C_SOVER)
|
||||
|
||||
# This is only needed on 0.15, but the target unhelpfully does not contain version info
|
||||
get_target_property(JSON_C_INCLUDE_DIR json-c::json-c INTERFACE_INCLUDE_DIRECTORIES)
|
||||
if(NOT JSON_C_INCLUDE_DIR MATCHES json-c$)
|
||||
include_directories(AFTER "${JSON_C_INCLUDE_DIR}/json-c")
|
||||
endif()
|
||||
else()
|
||||
if(${json-c_VERSION} VERSION_LESS 0.13.0)
|
||||
set(JSON_C_SOVER 3)
|
||||
elseif(${json-c_VERSION} VERSION_LESS 0.15.0)
|
||||
set(JSON_C_SOVER 4)
|
||||
endif()
|
||||
list(APPEND DEPENDENCY_LIB ${json-c_LIBRARIES})
|
||||
include_directories(AFTER ${json-c_INCLUDE_DIRS})
|
||||
link_directories(${json-c_LIBDIRS})
|
||||
endif()
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS},libjson-c${JSON_C_SOVER}")
|
||||
endif()
|
||||
if(USE_LUA)
|
||||
list(APPEND FEATURE_DEFINES USE_LUA)
|
||||
include_directories(AFTER ${LUA_INCLUDE_DIR})
|
||||
|
@ -845,10 +821,10 @@ if(M_CORE_GBA)
|
|||
list(APPEND TEST_SRC ${ARM_TEST_SRC} ${GBA_TEST_SRC})
|
||||
endif()
|
||||
|
||||
if(ENABLE_DEBUGGERS)
|
||||
if(USE_DEBUGGERS)
|
||||
list(APPEND FEATURE_SRC ${DEBUGGER_SRC})
|
||||
list(APPEND TEST_SRC ${DEBUGGER_TEST_SRC})
|
||||
list(APPEND ENABLES DEBUGGERS)
|
||||
list(APPEND FEATURES DEBUGGERS)
|
||||
endif()
|
||||
|
||||
if(ENABLE_SCRIPTING)
|
||||
|
@ -856,10 +832,6 @@ if(ENABLE_SCRIPTING)
|
|||
list(APPEND TEST_SRC ${SCRIPT_TEST_SRC})
|
||||
endif()
|
||||
|
||||
if(ENABLE_VFS)
|
||||
list(APPEND ENABLES VFS DIRECTORIES)
|
||||
endif()
|
||||
|
||||
foreach(FEATURE IN LISTS FEATURES)
|
||||
list(APPEND FEATURE_DEFINES "USE_${FEATURE}")
|
||||
endforeach()
|
||||
|
@ -873,6 +845,7 @@ source_group("Extra features" FILES ${FEATURE_SRC})
|
|||
source_group("Third-party code" FILES ${THIRD_PARTY_SRC})
|
||||
|
||||
# Platform binaries
|
||||
set(OS_DEFINES)
|
||||
if(DEFINED 3DS)
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/src/platform/3ds ${CMAKE_CURRENT_BINARY_DIR}/3ds)
|
||||
endif()
|
||||
|
@ -897,11 +870,7 @@ list(APPEND CORE_SRC
|
|||
${THIRD_PARTY_SRC})
|
||||
list(APPEND TEST_SRC ${UTIL_TEST_SRC})
|
||||
|
||||
set(SRC ${CORE_SRC})
|
||||
if(ENABLE_VFS)
|
||||
list(APPEND SRC ${VFS_SRC})
|
||||
endif()
|
||||
|
||||
set(SRC ${CORE_SRC} ${VFS_SRC})
|
||||
if(NOT MINIMAL_CORE)
|
||||
set(ENABLE_EXTRA ON)
|
||||
if(M_CORE_GBA)
|
||||
|
@ -933,7 +902,7 @@ if(NOT SKIP_LIBRARY)
|
|||
endif()
|
||||
|
||||
if(BUILD_SHARED)
|
||||
add_library(${BINARY_NAME} SHARED ${SRC})
|
||||
add_library(${BINARY_NAME} SHARED ${SRC} ${VFS_SRC})
|
||||
set(EXPORT_DEFINES MGBA_DLL)
|
||||
if(BUILD_STATIC)
|
||||
add_library(${BINARY_NAME}-static STATIC ${SRC})
|
||||
|
@ -953,14 +922,6 @@ if(NOT SKIP_LIBRARY)
|
|||
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/mgba-util)
|
||||
|
||||
if(BUILD_STATIC)
|
||||
# Some versions of CMake are remarkably bad about deduplicating this list,
|
||||
# leading to issues with static linking. Let's do it manually.
|
||||
list(REVERSE DEPENDENCY_LIB)
|
||||
list(REMOVE_DUPLICATES DEPENDENCY_LIB)
|
||||
list(REVERSE DEPENDENCY_LIB)
|
||||
endif()
|
||||
|
||||
target_link_libraries(${BINARY_NAME} ${DEBUGGER_LIB} ${DEPENDENCY_LIB} ${OS_LIB})
|
||||
install(TARGETS ${BINARY_NAME} LIBRARY DESTINATION ${LIBDIR} COMPONENT lib${BINARY_NAME} NAMELINK_SKIP ARCHIVE DESTINATION ${LIBDIR} RUNTIME DESTINATION ${LIBDIR} COMPONENT lib${BINARY_NAME})
|
||||
if(BUILD_SHARED)
|
||||
|
@ -1001,9 +962,9 @@ endif()
|
|||
|
||||
if(BUILD_LIBRETRO)
|
||||
file(GLOB RETRO_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/libretro/*.c)
|
||||
add_library(${BINARY_NAME}_libretro SHARED ${CORE_SRC} ${RETRO_SRC} ${CORE_VFS_SRC})
|
||||
add_library(${BINARY_NAME}_libretro SHARED ${CORE_SRC} ${RETRO_SRC})
|
||||
add_dependencies(${BINARY_NAME}_libretro ${BINARY_NAME}-version-info)
|
||||
set_target_properties(${BINARY_NAME}_libretro PROPERTIES PREFIX "" COMPILE_DEFINITIONS "__LIBRETRO__;COLOR_16_BIT;COLOR_5_6_5;DISABLE_THREADING;MGBA_STANDALONE;${OS_DEFINES};${FUNCTION_DEFINES};ENABLE_VFS;MINIMAL_CORE=2")
|
||||
set_target_properties(${BINARY_NAME}_libretro PROPERTIES PREFIX "" COMPILE_DEFINITIONS "__LIBRETRO__;COLOR_16_BIT;COLOR_5_6_5;DISABLE_THREADING;MGBA_STANDALONE;${OS_DEFINES};${FUNCTION_DEFINES};MINIMAL_CORE=2")
|
||||
target_link_libraries(${BINARY_NAME}_libretro ${OS_LIB})
|
||||
if(MSVC)
|
||||
install(TARGETS ${BINARY_NAME}_libretro RUNTIME DESTINATION ${LIBRETRO_LIBDIR} COMPONENT ${BINARY_NAME}_libretro)
|
||||
|
@ -1012,7 +973,23 @@ if(BUILD_LIBRETRO)
|
|||
endif()
|
||||
endif()
|
||||
|
||||
if(BUILD_QT AND (WIN32 OR APPLE OR CMAKE_SYSTEM_NAME STREQUAL "Linux") AND ENABLE_VFS)
|
||||
if(BUILD_OPENEMU)
|
||||
find_library(FOUNDATION Foundation)
|
||||
find_library(OPENEMUBASE OpenEmuBase)
|
||||
file(GLOB OE_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/openemu/*.m)
|
||||
add_library(${BINARY_NAME}-openemu MODULE ${CORE_SRC} ${OS_SRC})
|
||||
set_target_properties(${BINARY_NAME}-openemu PROPERTIES
|
||||
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/openemu/Info.plist.in
|
||||
BUNDLE TRUE
|
||||
BUNDLE_EXTENSION oecoreplugin
|
||||
OUTPUT_NAME ${PROJECT_NAME}
|
||||
COMPILE_OPTIONS "-fobjc-arc"
|
||||
COMPILE_DEFINITIONS "DISABLE_THREADING;MGBA_STANDALONE;${OS_DEFINES};${FUNCTION_DEFINES};MINIMAL_CORE=1")
|
||||
target_link_libraries(${BINARY_NAME}-openemu ${OS_LIB} ${FOUNDATION} ${OPENEMUBASE})
|
||||
install(TARGETS ${BINARY_NAME}-openemu LIBRARY DESTINATION ${OE_LIBDIR} COMPONENT ${BINARY_NAME}.oecoreplugin NAMELINK_SKIP)
|
||||
endif()
|
||||
|
||||
if(BUILD_QT AND (WIN32 OR APPLE OR CMAKE_SYSTEM_NAME STREQUAL "Linux"))
|
||||
set(BUILD_UPDATER ON)
|
||||
endif()
|
||||
|
||||
|
@ -1020,7 +997,7 @@ if(BUILD_UPDATER)
|
|||
add_executable(updater-stub WIN32 ${CORE_VFS_SRC} ${VFS_SRC} ${OS_SRC} ${UTIL_BASE_SRC} ${THIRD_PARTY_SRC}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/core/config.c
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/feature/updater.c
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/tools/updater-main.c)
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/feature/updater-main.c)
|
||||
target_link_libraries(updater-stub ${ZLIB_LIBRARY} ${ZLIB_LIBRARY} ${ZIP_LIBRARIES} ${OS_LIB} ${PLATFORM_LIBRARY})
|
||||
set_target_properties(updater-stub PROPERTIES COMPILE_DEFINITIONS "${OS_DEFINES};${FUNCTION_DEFINES};${FEATURE_DEFINES};BUILD_STATIC")
|
||||
if(MSVC)
|
||||
|
@ -1032,14 +1009,8 @@ if(BUILD_UPDATER)
|
|||
endif()
|
||||
|
||||
if(ENABLE_SCRIPTING AND BUILD_DOCGEN)
|
||||
add_executable(docgen ${CMAKE_CURRENT_SOURCE_DIR}/src/tools/docgen.c)
|
||||
add_executable(docgen ${CMAKE_CURRENT_SOURCE_DIR}/src/script/docgen.c)
|
||||
target_link_libraries(docgen ${OS_LIB} ${PLATFORM_LIBRARY} ${BINARY_NAME})
|
||||
set_target_properties(docgen PROPERTIES COMPILE_DEFINITIONS "${OS_DEFINES};${FUNCTION_DEFINES};${FEATURE_DEFINES}")
|
||||
endif()
|
||||
|
||||
if(BUILD_MAINTAINER_TOOLS)
|
||||
add_executable(font-sdf-tool ${CMAKE_CURRENT_SOURCE_DIR}/src/tools/font-sdf.c ${CMAKE_CURRENT_SOURCE_DIR}/src/util/gui/font-metrics.c)
|
||||
target_link_libraries(font-sdf-tool ${OS_LIB} ${PLATFORM_LIBRARY} ${BINARY_NAME})
|
||||
endif()
|
||||
|
||||
if(BUILD_SDL)
|
||||
|
@ -1050,14 +1021,6 @@ if(BUILD_QT)
|
|||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/src/platform/qt ${CMAKE_CURRENT_BINARY_DIR}/qt)
|
||||
endif()
|
||||
|
||||
if(BUILD_HEADLESS)
|
||||
add_executable(${BINARY_NAME}-headless ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/headless-main.c)
|
||||
target_link_libraries(${BINARY_NAME}-headless ${PLATFORM_LIBRARY} ${BINARY_NAME})
|
||||
debug_strip(${BINARY_NAME}-headless)
|
||||
target_compile_definitions(${BINARY_NAME}-headless PRIVATE "${OS_DEFINES};${FEATURE_DEFINES};${FUNCTION_DEFINES}")
|
||||
install(TARGETS ${BINARY_NAME}-headless DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT ${BINARY_NAME}-headless)
|
||||
endif()
|
||||
|
||||
if(NOT USE_CMOCKA)
|
||||
set(BUILD_SUITE OFF)
|
||||
endif()
|
||||
|
@ -1087,7 +1050,7 @@ install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/mgba-util DESTINATION ${CM
|
|||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/include/mgba/flags.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/mgba COMPONENT ${BINARY_NAME}-dev)
|
||||
|
||||
# Packaging
|
||||
install(FILES DESTINATION ${CMAKE_INSTALL_DOCDIR}/licenses COMPONENT ${BINARY_NAME})
|
||||
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/licenses/blip_buf.txt DESTINATION ${CMAKE_INSTALL_DOCDIR}/licenses COMPONENT ${BINARY_NAME})
|
||||
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/licenses/inih.txt DESTINATION ${CMAKE_INSTALL_DOCDIR}/licenses COMPONENT ${BINARY_NAME})
|
||||
if(USE_DISCORD_RPC)
|
||||
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/licenses/discord-rpc.txt DESTINATION ${CMAKE_INSTALL_DOCDIR}/licenses COMPONENT ${BINARY_NAME})
|
||||
|
@ -1255,11 +1218,6 @@ if(SDL_FOUND)
|
|||
cpack_add_component(${BINARY_NAME}-sdl GROUP sdl)
|
||||
endif()
|
||||
|
||||
if(BUILD_HEADLESS)
|
||||
cpack_add_component_group(headless PARENT_GROUP base)
|
||||
cpack_add_component(${BINARY_NAME}-headless GROUP headless)
|
||||
endif()
|
||||
|
||||
if(DISTBUILD)
|
||||
cpack_add_component_group(debug PARENT_GROUP dev)
|
||||
if(BUILD_SHARED AND NOT IS_EMBEDDED)
|
||||
|
@ -1274,9 +1232,6 @@ if(DISTBUILD)
|
|||
if(SDL_FOUND)
|
||||
cpack_add_component(${BINARY_NAME}-sdl-dbg GROUP debug)
|
||||
endif()
|
||||
if(BUILD_HEADLESS)
|
||||
cpack_add_component(${BINARY_NAME}-headless-dbg GROUP debug)
|
||||
endif()
|
||||
if(WIN32)
|
||||
cpack_add_component_group(installer PARENT_GROUP base)
|
||||
endif()
|
||||
|
@ -1322,11 +1277,11 @@ if(NOT QUIET AND NOT LIBMGBA_ONLY)
|
|||
message(STATUS " Game Boy Advance: ${M_CORE_GBA}")
|
||||
message(STATUS " Game Boy: ${M_CORE_GB}")
|
||||
message(STATUS "Features:")
|
||||
message(STATUS " Debuggers: ${ENABLE_DEBUGGERS}")
|
||||
message(STATUS " Debuggers: ${USE_DEBUGGERS}")
|
||||
if(NOT WIN32)
|
||||
message(STATUS " CLI debugger: ${USE_EDITLINE}")
|
||||
endif()
|
||||
message(STATUS " GDB stub: ${ENABLE_GDB_STUB}")
|
||||
message(STATUS " GDB stub: ${USE_GDB_STUB}")
|
||||
message(STATUS " GIF/Video recording: ${USE_FFMPEG}")
|
||||
message(STATUS " Screenshot/advanced savestate support: ${USE_PNG}")
|
||||
message(STATUS " ZIP support: ${SUMMARY_ZIP}")
|
||||
|
@ -1342,12 +1297,10 @@ if(NOT QUIET AND NOT LIBMGBA_ONLY)
|
|||
else()
|
||||
message(STATUS " Lua: ${USE_LUA}")
|
||||
endif()
|
||||
message(STATUS " storage API: ${USE_JSON_C}")
|
||||
endif()
|
||||
message(STATUS "Frontends:")
|
||||
message(STATUS " Qt: ${BUILD_QT}")
|
||||
message(STATUS " SDL (${SDL_VERSION}): ${BUILD_SDL}")
|
||||
message(STATUS " Headless: ${BUILD_HEADLESS}")
|
||||
message(STATUS " Python bindings: ${BUILD_PYTHON}")
|
||||
message(STATUS " Examples: ${BUILD_EXAMPLE}")
|
||||
message(STATUS "Test tools:")
|
||||
|
@ -1355,8 +1308,12 @@ if(NOT QUIET AND NOT LIBMGBA_ONLY)
|
|||
message(STATUS " Test harness: ${BUILD_TEST}")
|
||||
message(STATUS " Test suite: ${BUILD_SUITE}")
|
||||
message(STATUS " Video test suite: ${BUILD_CINEMA}")
|
||||
message(STATUS " ROM tester: ${BUILD_ROM_TEST}")
|
||||
message(STATUS "Cores:")
|
||||
message(STATUS " Libretro core: ${BUILD_LIBRETRO}")
|
||||
if(APPLE)
|
||||
message(STATUS " OpenEmu core: ${BUILD_OPENEMU}")
|
||||
endif()
|
||||
message(STATUS "Libraries:")
|
||||
message(STATUS " Static: ${BUILD_STATIC}")
|
||||
message(STATUS " Shared: ${BUILD_SHARED}")
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
{
|
||||
"version": 3,
|
||||
"configurePresets": [
|
||||
{
|
||||
"name": "clang",
|
||||
"generator": "Ninja",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug",
|
||||
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "gcc",
|
||||
"generator": "Ninja",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Debug",
|
||||
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
18
README.md
|
@ -55,10 +55,11 @@ The following mappers are fully supported:
|
|||
- MBC5+Rumble
|
||||
- MBC7
|
||||
- Wisdom Tree (unlicensed)
|
||||
- NT "old type" 1 and 2 (unlicensed multicart)
|
||||
- NT "new type" (unlicensed MBC5-like)
|
||||
- Pokémon Jade/Diamond (unlicensed)
|
||||
- Sachen MMC1 (unlicensed)
|
||||
- BBD (unlicensed MBC5-like)
|
||||
- Hitek (unlicensed MBC5-like)
|
||||
- Sachen MMC1
|
||||
|
||||
The following mappers are partially supported:
|
||||
|
||||
|
@ -69,11 +70,6 @@ The following mappers are partially supported:
|
|||
- HuC-1 (missing IR support)
|
||||
- HuC-3 (missing IR support)
|
||||
- Sachen MMC2 (missing alternate wiring support)
|
||||
- BBD (missing logo switching)
|
||||
- Hitek (missing logo switching)
|
||||
- GGB-81 (missing logo switching)
|
||||
- Li Cheng (missing logo switching)
|
||||
- Sintax (missing logo switching)
|
||||
|
||||
### Planned features
|
||||
|
||||
|
@ -126,9 +122,9 @@ Compiling requires using CMake 3.1 or newer. GCC, Clang, and Visual Studio 2019
|
|||
|
||||
#### Docker building
|
||||
|
||||
The recommended way to build for most platforms is to use Docker. Several Docker images are provided that contain the requisite toolchain and dependencies for building mGBA across several platforms.
|
||||
The recommended way to build for most platforms is to use Docker. Several Docker images are provided that contain the requisite toolchain and dependencies for building mGBA across several platforms.
|
||||
|
||||
Note: If you are on an older Windows system before Windows 10, you may need to configure your Docker to use VirtualBox shared folders to correctly map your current `mgba` checkout directory to the Docker image's working directory. (See issue [#1985](https://mgba.io/i/1985) for details.)
|
||||
Note: If you are on an older Windows system before Windows 10, you may need to configure your Docker to use VirtualBox shared folders to correctly map your current `mgba` checkout directory to the Docker image's working directory. (See issue [#1985](https://mgba.io/i/1985) for details.)
|
||||
|
||||
To use a Docker image to build mGBA, simply run the following command while in the root of an mGBA checkout:
|
||||
|
||||
|
@ -235,7 +231,6 @@ mGBA has no hard dependencies, however, the following optional dependencies are
|
|||
- SQLite3: for game databases.
|
||||
- libelf: for ELF loading.
|
||||
- Lua: for scripting.
|
||||
- json-c: for the scripting `storage` API.
|
||||
|
||||
SQLite3, libpng, and zlib are included with the emulator, so they do not need to be externally compiled first.
|
||||
|
||||
|
@ -256,11 +251,12 @@ Footnotes
|
|||
Copyright
|
||||
---------
|
||||
|
||||
mGBA is Copyright © 2013 – 2023 Jeffrey Pfau. It is distributed under the [Mozilla Public License version 2.0](https://www.mozilla.org/MPL/2.0/). A copy of the license is available in the distributed LICENSE file.
|
||||
mGBA is Copyright © 2013 – 2022 Jeffrey Pfau. It is distributed under the [Mozilla Public License version 2.0](https://www.mozilla.org/MPL/2.0/). A copy of the license is available in the distributed LICENSE file.
|
||||
|
||||
mGBA contains the following third-party libraries:
|
||||
|
||||
- [inih](https://github.com/benhoyt/inih), which is copyright © 2009 – 2020 Ben Hoyt and used under a BSD 3-clause license.
|
||||
- [blip-buf](https://code.google.com/archive/p/blip-buf), which is copyright © 2003 – 2009 Shay Green and used under a Lesser GNU Public License.
|
||||
- [LZMA SDK](http://www.7-zip.org/sdk.html), which is public domain.
|
||||
- [MurmurHash3](https://github.com/aappleby/smhasher) implementation by Austin Appleby, which is public domain.
|
||||
- [getopt for MSVC](https://github.com/skandhurkat/Getopt-for-Visual-Studio/), which is public domain.
|
||||
|
|
|
@ -247,6 +247,7 @@ Copyright für mGBA © 2013 – 2021 Jeffrey Pfau. mGBA wird unter der [Mozilla
|
|||
mGBA beinhaltet die folgenden Bibliotheken von Drittanbietern:
|
||||
|
||||
- [inih](https://github.com/benhoyt/inih), Copyright © 2009 - 2020 Ben Hoyt, verwendet unter einer BSD 3-clause-Lizenz.
|
||||
- [blip-buf](https://code.google.com/archive/b/blip-buf), Copyright © 2003 - 2009 Shay Green, verwendet unter einer Lesser GNU Public License.
|
||||
- [LZMA SDK](http://www.7-zip.org/sdk.html), Public Domain.
|
||||
- [MurmurHash3](https://github.com/aappleby/smhasher), Implementierung von Austin Appleby, Public Domain.
|
||||
- [getopt fot MSVC](https://github.com/skandhurkat/Getopt-for-Visual-Studio/), Public Domain.
|
||||
|
|
|
@ -247,6 +247,7 @@ mGBA es Copyright © 2013 – 2021 Jeffrey Pfau. Es distribuído bajo la [licenc
|
|||
mGBA contiene las siguientes bibliotecas de terceros:
|
||||
|
||||
- [inih](https://github.com/benhoyt/inih), que es copyright © 2009 - 2020 Ben Hoyt y se utiliza bajo licencia de la cláusula 3 de BSD.
|
||||
- [blip-buf](https://code.google.com/archive/p/blip-buf), que es copyright © 2003 - 2009 Shay Green y se usa bajo LGPL.
|
||||
- [LZMA SDK](http://www.7-zip.org/sdk.html), la cual está en el dominio público.
|
||||
- [MurmurHash3](https://github.com/aappleby/smhasher), implementación por Austin Appleby, la cual está en el dominio público.
|
||||
- [getopt for MSVC](https://github.com/skandhurkat/Getopt-for-Visual-Studio/), la cual está en el dominio público.
|
||||
|
|
268
README_JP.md
|
@ -1,268 +0,0 @@
|
|||
mGBA
|
||||
====
|
||||
|
||||
mGBAは、ゲームボーイアドバンスのゲームを実行するためのエミュレーターです。mGBAの目標は、既存の多くのゲームボーイアドバンスエミュレーターよりも高速かつ正確であり、他のエミュレーターにはない機能を追加することです。また、ゲームボーイおよびゲームボーイカラーのゲームもサポートしています。
|
||||
|
||||
最新のニュースとダウンロードは、[mgba.io](https://mgba.io/)で見つけることができます。
|
||||
|
||||
[](https://buildbot.mgba.io)
|
||||
[](https://hosted.weblate.org/engage/mgba)
|
||||
|
||||
特徴
|
||||
--------
|
||||
|
||||
- 高精度なゲームボーイアドバンスハードウェアのサポート[<sup>[1]</sup>](#missing)。
|
||||
- ゲームボーイ/ゲームボーイカラーのハードウェアサポート。
|
||||
- 高速なエミュレーション。ネットブックなどの低スペックハードウェアでもフルスピードで動作することが知られています。
|
||||
- 重量級と軽量級のフロントエンドのためのQtおよびSDLポート。
|
||||
- ローカル(同じコンピュータ)リンクケーブルのサポート。
|
||||
- フラッシュメモリサイズを含む保存タイプの検出[<sup>[2]</sup>](#flashdetect)。
|
||||
- モーションセンサーと振動機能を備えたカートリッジのサポート(ゲームコントローラーでのみ使用可能)。
|
||||
- 設定なしでもリアルタイムクロックのサポート。
|
||||
- ボクタイゲームのためのソーラーセンサーのサポート。
|
||||
- ゲームボーイカメラとゲームボーイプリンターのサポート。
|
||||
- 内蔵BIOS実装と外部BIOSファイルの読み込み機能。
|
||||
- Luaを使用したスクリプトサポート。
|
||||
- Tabキーを押し続けることでターボ/早送りサポート。
|
||||
- バッククォートを押し続けることで巻き戻し。
|
||||
- 最大10まで設定可能なフレームスキップ。
|
||||
- スクリーンショットのサポート。
|
||||
- チートコードのサポート。
|
||||
- 9つのセーブステートスロット。セーブステートはスクリーンショットとしても表示可能。
|
||||
- ビデオ、GIF、WebP、およびAPNGの録画。
|
||||
- e-Readerのサポート。
|
||||
- キーボードとゲームパッドのリマップ可能なコントロール。
|
||||
- ZIPおよび7zファイルからの読み込み。
|
||||
- IPS、UPS、およびBPSパッチのサポート。
|
||||
- コマンドラインインターフェースとGDBリモートサポートを介したゲームデバッグ、GhidraおよびIDA Proと互換性あり。
|
||||
- 設定可能なエミュレーションの巻き戻し。
|
||||
- GameSharkおよびAction Replayスナップショットの読み込みおよびエクスポートのサポート。
|
||||
- RetroArch/LibretroおよびOpenEmu用のコア。
|
||||
- [Weblate](https://hosted.weblate.org/engage/mgba)を介した複数の言語のコミュニティ提供の翻訳。
|
||||
- その他、多くの小さな機能。
|
||||
|
||||
#### ゲームボーイマッパー
|
||||
|
||||
以下のマッパーが完全にサポートされています:
|
||||
|
||||
- MBC1
|
||||
- MBC1M
|
||||
- MBC2
|
||||
- MBC3
|
||||
- MBC3+RTC
|
||||
- MBC30
|
||||
- MBC5
|
||||
- MBC5+Rumble
|
||||
- MBC7
|
||||
- Wisdom Tree(非公式)
|
||||
- NT "old type" 1 and 2(非公式マルチカート)
|
||||
- NT "new type"(非公式MBC5類似)
|
||||
- Pokémon Jade/Diamond(非公式)
|
||||
- Sachen MMC1(非公式)
|
||||
|
||||
以下のマッパーが部分的にサポートされています:
|
||||
|
||||
- MBC6(フラッシュメモリ書き込みサポートなし)
|
||||
- MMM01
|
||||
- Pocket Cam
|
||||
- TAMA5(RTCサポート不完全)
|
||||
- HuC-1(IRサポートなし)
|
||||
- HuC-3(IRサポートなし)
|
||||
- Sachen MMC2(代替配線サポートなし)
|
||||
- BBD(ロゴ切り替えなし)
|
||||
- Hitek(ロゴ切り替えなし)
|
||||
- GGB-81(ロゴ切り替えなし)
|
||||
- Li Cheng(ロゴ切り替えなし)
|
||||
|
||||
### 計画されている機能
|
||||
|
||||
- ネットワーク対応のマルチプレイヤーリンクケーブルサポート。
|
||||
- Dolphin/JOYバスリンクケーブルサポート。
|
||||
- MP2kオーディオミキシング、ハードウェアより高品質のサウンド。
|
||||
- ツールアシストランのための再録サポート。
|
||||
- 包括的なデバッグスイート。
|
||||
- ワイヤレスアダプターのサポート。
|
||||
|
||||
サポートされているプラットフォーム
|
||||
-------------------
|
||||
|
||||
- Windows 7以降
|
||||
- OS X 10.9(Mavericks)[<sup>[3]</sup>](#osxver)以降
|
||||
- Linux
|
||||
- FreeBSD
|
||||
- Nintendo 3DS
|
||||
- Nintendo Switch
|
||||
- Wii
|
||||
- PlayStation Vita
|
||||
|
||||
他のUnix系プラットフォーム(OpenBSDなど)も動作することが知られていますが、テストされておらず、完全にはサポートされていません。
|
||||
|
||||
### システム要件
|
||||
|
||||
要件は最小限です。Windows Vista以降を実行できるコンピュータであれば、エミュレーションを処理できるはずです。OpenGL 1.1以降のサポートも必要であり、シェーダーや高度な機能にはOpenGL 3.2以降が必要です。
|
||||
|
||||
ダウンロード
|
||||
---------
|
||||
|
||||
ダウンロードは公式ウェブサイトの[ダウンロード][downloads]セクションで見つけることができます。ソースコードは[GitHub][source]で見つけることができます。
|
||||
|
||||
コントロール
|
||||
--------
|
||||
|
||||
コントロールは設定メニューで設定可能です。多くのゲームコントローラーはデフォルトで自動的にマッピングされるはずです。デフォルトのキーボードコントロールは次のとおりです:
|
||||
|
||||
- **A**:X
|
||||
- **B**:Z
|
||||
- **L**:A
|
||||
- **R**:S
|
||||
- **Start**:Enter
|
||||
- **Select**:Backspace
|
||||
|
||||
コンパイル
|
||||
---------
|
||||
|
||||
コンパイルにはCMake 3.1以降の使用が必要です。GCC、Clang、およびVisual Studio 2019はmGBAのコンパイルに使用できることが知られています。
|
||||
|
||||
#### Dockerビルド
|
||||
|
||||
ほとんどのプラットフォームでのビルドにはDockerを使用することをお勧めします。いくつかのプラットフォームでmGBAをビルドするために必要なツールチェーンと依存関係を含むいくつかのDockerイメージが提供されています。
|
||||
|
||||
注意:Windows 10以前の古いWindowsシステムを使用している場合、DockerがVirtualBox共有フォルダーを使用して現在の`mgba`チェックアウトディレクトリをDockerイメージの作業ディレクトリに正しくマッピングするように構成する必要がある場合があります。(詳細については、issue [#1985](https://mgba.io/i/1985)を参照してください。)
|
||||
|
||||
Dockerイメージを使用してmGBAをビルドするには、mGBAのチェックアウトのルートで次のコマンドを実行します:
|
||||
|
||||
docker run --rm -it -v ${PWD}:/home/mgba/src mgba/windows:w32
|
||||
|
||||
Dockerコンテナを起動した後、ビルド成果物を含む`build-win32`ディレクトリが生成されます。他のプラットフォーム用のDockerイメージに置き換えると、対応する他のディレクトリが生成されます。Docker Hubで利用可能なDockerイメージは次のとおりです:
|
||||
|
||||
- mgba/3ds
|
||||
- mgba/switch
|
||||
- mgba/ubuntu:xenial
|
||||
- mgba/ubuntu:bionic
|
||||
- mgba/ubuntu:focal
|
||||
- mgba/ubuntu:groovy
|
||||
- mgba/vita
|
||||
- mgba/wii
|
||||
- mgba/windows:w32
|
||||
- mgba/windows:w64
|
||||
|
||||
ビルドプロセスを高速化したい場合は、`-e MAKEFLAGS=-jN`フラグを追加して、`N`個のCPUコアでmGBAの並列ビルドを行うことを検討してください。
|
||||
|
||||
#### *nixビルド
|
||||
|
||||
UnixベースのシステムでCMakeを使用してビルドするには、次のコマンドを実行することをお勧めします:
|
||||
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ..
|
||||
make
|
||||
sudo make install
|
||||
|
||||
これにより、mGBAがビルドされ、`/usr/bin`および`/usr/lib`にインストールされます。インストールされている依存関係は自動的に検出され、依存関係が見つからない場合に無効になる機能は、`cmake`コマンドを実行した後に警告として表示されます。
|
||||
|
||||
macOSを使用している場合、手順は少し異なります。homebrewパッケージマネージャーを使用していると仮定すると、依存関係を取得してビルドするための推奨コマンドは次のとおりです:
|
||||
|
||||
brew install cmake ffmpeg libzip qt5 sdl2 libedit lua pkg-config
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DCMAKE_PREFIX_PATH=`brew --prefix qt5` ..
|
||||
make
|
||||
|
||||
macOSでは`make install`を実行しないでください。正しく動作しないためです。
|
||||
|
||||
#### Windows開発者ビルド
|
||||
|
||||
##### MSYS2
|
||||
|
||||
Windowsでの開発用ビルドにはMSYS2を使用することをお勧めします。MSYS2の[ウェブサイト](https://msys2.github.io)に記載されているインストール手順に従ってください。32ビットバージョン(「MSYS2 MinGW 32-bit」)を実行していることを確認してください(x86_64用にビルドする場合は64ビットバージョン「MSYS2 MinGW 64-bit」を実行してください)。必要な依存関係をインストールするために次の追加コマンド(中括弧を含む)を実行します(このコマンドは1100MiB以上のパッケージをダウンロードするため、長時間かかることに注意してください):
|
||||
|
||||
pacman -Sy --needed base-devel git ${MINGW_PACKAGE_PREFIX}-{cmake,ffmpeg,gcc,gdb,libelf,libepoxy,libzip,lua,pkgconf,qt5,SDL2,ntldd-git}
|
||||
|
||||
次のコマンドを実行してソースコードをチェックアウトします:
|
||||
|
||||
git clone https://github.com/mgba-emu/mgba.git
|
||||
|
||||
最後に、次のコマンドを実行してビルドします:
|
||||
|
||||
mkdir -p mgba/build
|
||||
cd mgba/build
|
||||
cmake .. -G "MSYS Makefiles"
|
||||
make -j$(nproc --ignore=1)
|
||||
|
||||
このWindows用mGBAビルドは、実行に必要なDLLが分散しているため、配布には適していないことに注意してください。ただし、開発には最適です。ただし、そのようなビルドを配布する必要がある場合(たとえば、MSYS2環境がインストールされていないマシンでのテスト用)、`cpack -G ZIP`を実行すると、必要なDLLをすべて含むzipファイルが準備されます。
|
||||
|
||||
##### Visual Studio
|
||||
|
||||
Visual Studioを使用してビルドするには、同様に複雑なセットアップが必要です。まず、[vcpkg](https://github.com/Microsoft/vcpkg)をインストールする必要があります。vcpkgをインストールした後、いくつかの追加パッケージをインストールする必要があります:
|
||||
|
||||
vcpkg install ffmpeg[vpx,x264] libepoxy libpng libzip lua sdl2 sqlite3
|
||||
|
||||
このインストールでは、Nvidiaハードウェアでのハードウェアアクセラレーションビデオエンコーディングはサポートされません。これが重要な場合は、事前にCUDAをインストールし、前のコマンドに`ffmpeg[vpx,x264,nvcodec]`を置き換えます。
|
||||
|
||||
Qtもインストールする必要があります。ただし、Qtは合理的な組織ではなく、困窮している会社によって所有および運営されているため、最新バージョンのオフラインオープンソースエディションインストーラーは存在しないため、[旧バージョンのインストーラー](https://download.qt.io/official_releases/qt/5.12/5.12.9/qt-opensource-windows-x86-5.12.9.exe)に戻る必要があります(これには無用なアカウントの作成が必要ですが、一時的に無効なプロキシを設定するか、ネットワークを無効にすることで回避できます)、オンラインインストーラーを使用する(いずれにしてもアカウントが必要です)、またはvcpkgを使用してビルドする(遅い)。これらはすべて良い選択肢ではありません。インストーラーを使用する場合は、適用可能なMSVCバージョンをインストールする必要があります。オフラインインストーラーはMSVC 2019をサポートしていないことに注意してください。vcpkgを使用する場合、次のようにインストールする必要があります。特にクアッドコア以下のコンピュータではかなりの時間がかかります:
|
||||
|
||||
vcpkg install qt5-base qt5-multimedia
|
||||
|
||||
次に、Visual Studioを開き、「リポジトリのクローンを作成」を選択し、`https://github.com/mgba-emu/mgba.git`を入力します。Visual Studioがクローンを完了したら、「ファイル」>「CMake」に移動し、チェックアウトされたリポジトリのルートにあるCMakeLists.txtファイルを開きます。そこから、他のVisual Studio CMakeプロジェクトと同様にVisual StudioでmGBAを開発できます。
|
||||
|
||||
#### ツールチェーンビルド
|
||||
|
||||
devkitARM(3DS用)、devkitPPC(Wii用)、devkitA64(Switch用)、またはvitasdk(PS Vita用)を持っている場合は、次のコマンドを使用してビルドできます:
|
||||
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DCMAKE_TOOLCHAIN_FILE=../src/platform/3ds/CMakeToolchain.txt ..
|
||||
make
|
||||
|
||||
次のプラットフォーム用に`-DCMAKE_TOOLCHAIN_FILE`パラメータを置き換えます:
|
||||
|
||||
- 3DS:`../src/platform/3ds/CMakeToolchain.txt`
|
||||
- Switch:`../src/platform/switch/CMakeToolchain.txt`
|
||||
- Vita:`../src/platform/psp2/CMakeToolchain.vitasdk`
|
||||
- Wii:`../src/platform/wii/CMakeToolchain.txt`
|
||||
|
||||
### 依存関係
|
||||
|
||||
mGBAには厳密な依存関係はありませんが、特定の機能には次のオプションの依存関係が必要です。依存関係が見つからない場合、これらの機能は無効になります。
|
||||
|
||||
- Qt 5:GUIフロントエンド用。オーディオにはQt MultimediaまたはSDLが必要です。
|
||||
- SDL:より基本的なフロントエンドおよびQtフロントエンドでのゲームパッドサポート用。SDL 2が推奨されますが、1.2もサポートされています。
|
||||
- zlibおよびlibpng:スクリーンショットサポートおよびPNG内セーブステートサポート用。
|
||||
- libedit:コマンドラインデバッガーサポート用。
|
||||
- ffmpegまたはlibav:ビデオ、GIF、WebP、およびAPNGの録画用。
|
||||
- libzipまたはzlib:zipファイルに保存されたROMの読み込み用。
|
||||
- SQLite3:ゲームデータベース用。
|
||||
- libelf:ELF読み込み用。
|
||||
- Lua:スクリプト用。
|
||||
- json-c:スクリプトの`storage` API用。
|
||||
|
||||
SQLite3、libpng、およびzlibはエミュレーターに含まれているため、最初に外部でコンパイルする必要はありません。
|
||||
|
||||
脚注
|
||||
---------
|
||||
|
||||
<a name="missing">[1]</a> 現在欠けている機能は次のとおりです
|
||||
|
||||
- モード3、4、および5のOBJウィンドウ([バグ#5](http://mgba.io/b/5))
|
||||
|
||||
<a name="flashdetect">[2]</a> フラッシュメモリサイズの検出は一部のケースで機能しません。これらは実行時に構成できますが、そのようなケースに遭遇した場合はバグを報告することをお勧めします。
|
||||
|
||||
<a name="osxver">[3]</a> 10.9はQtポートにのみ必要です。10.7またはそれ以前のバージョンでQtポートをビルドまたは実行することは可能かもしれませんが、公式にはサポートされていません。SDLポートは10.5で動作することが知られており、古いバージョンでも動作する可能性があります。
|
||||
|
||||
[downloads]: http://mgba.io/downloads.html
|
||||
[source]: https://github.com/mgba-emu/mgba/
|
||||
|
||||
著作権
|
||||
---------
|
||||
|
||||
mGBAの著作権は© 2013 – 2023 Jeffrey Pfauに帰属します。これは[Mozilla Public License version 2.0](https://www.mozilla.org/MPL/2.0/)の下で配布されています。配布されたLICENSEファイルにライセンスのコピーが含まれています。
|
||||
|
||||
mGBAには次のサードパーティライブラリが含まれています:
|
||||
|
||||
- [inih](https://github.com/benhoyt/inih)、著作権© 2009 – 2020 Ben Hoyt、BSD 3-clauseライセンスの下で使用。
|
||||
- [LZMA SDK](http://www.7-zip.org/sdk.html)、パブリックドメイン。
|
||||
- [MurmurHash3](https://github.com/aappleby/smhasher)、Austin Applebyによる実装、パブリックドメイン。
|
||||
- [getopt for MSVC](https://github.com/skandhurkat/Getopt-for-Visual-Studio/)、パブリックドメイン。
|
||||
- [SQLite3](https://www.sqlite.org)、パブリックドメイン。
|
||||
|
||||
ゲームパブリッシャーであり、商業利用のためにmGBAのライセンスを取得したい場合は、[licensing@mgba.io](mailto:licensing@mgba.io)までメールでお問い合わせください。
|
|
@ -5,9 +5,7 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
|
|||
|
||||
可在以下网址找到最新新闻和下载:[mgba.io](https://mgba.io/)。
|
||||
|
||||
[](https://buildbot.mgba.io)
|
||||
[](https://hosted.weblate.org/engage/mgba)
|
||||
|
||||
[](https://travis-ci.org/mgba-emu/mgba)
|
||||
|
||||
功能
|
||||
--------
|
||||
|
@ -15,7 +13,7 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
|
|||
- 支持高精确的 Game Boy Advance 硬件[<sup>[1]</sup>](#missing)。
|
||||
- 支持 Game Boy/Game Boy Color 硬件。
|
||||
- 快速模拟:已知即使在低端硬件(例如上网本)上也能够全速运行。
|
||||
- 可用于重型和轻型前端的 Qt 和 SDL 移植。
|
||||
- 用于重型和轻型前端的 Qt 和 SDL 端口。
|
||||
- 支持本地(同一台计算机)链接电缆。
|
||||
- 存档类型检测,即使是闪存大小也可检测[<sup>[2]</sup>](#flashdetect)。
|
||||
- 支持附带有运动传感器和振动机制的卡带(仅适用于游戏控制器)。
|
||||
|
@ -23,7 +21,6 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
|
|||
- 支持《我们的太阳》系列游戏的太阳能传感器。
|
||||
- 支持 Game Boy 相机和 Game Boy 打印机。
|
||||
- 内置 BIOS 执行,并具有加载外部 BIOS 文件的功能。
|
||||
- 支持使用 Lua 编写脚本
|
||||
- 支持 Turbo/快进功能(按住 Tab 键)。
|
||||
- 支持倒带(按住反引号键)。
|
||||
- 支持跳帧,最多可配置 10 级。
|
||||
|
@ -35,11 +32,10 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
|
|||
- 可重新映射键盘和游戏手柄的控制键。
|
||||
- 支持从 ZIP 和 7z 文件中加载。
|
||||
- 支持 IPS、UPS 和 BPS 补丁。
|
||||
- 支持通过命令行界面和 GDB 远程支持进行游戏调试,兼容 Ghidra 和 IDA Pro。
|
||||
- 支持通过命令行界面和 GDB 远程支持进行游戏调试,兼容 IDA Pro。
|
||||
- 支持可配置的模拟倒带。
|
||||
- 支持载入和导出 GameShark 和 Action Replay 快照。
|
||||
- 适用于 RetroArch/Libretro 和 OpenEmu 的内核。
|
||||
- 社区支持的多种语言翻译 [Weblate](https://hosted.weblate.org/engage/mgba).
|
||||
- 许许多多的小玩意。
|
||||
|
||||
#### Game Boy 映射器(mapper)
|
||||
|
@ -55,10 +51,9 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
|
|||
- MBC5+振动
|
||||
- MBC7
|
||||
- Wisdom Tree(未授权)
|
||||
- NT "old type" 1 and 2 (未授权多合一卡带)
|
||||
- NT "new type" (未授权 MBC5-like)
|
||||
- Pokémon Jade/Diamond(未授权)
|
||||
- Sachen MMC1 (未授权)
|
||||
- BBD(未授权、类 MBC5)
|
||||
- Hitek(未授权、类 MBC5)
|
||||
|
||||
部分支持以下 mapper:
|
||||
|
||||
|
@ -68,11 +63,6 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
|
|||
- TAMA5(缺少 RTC 支持)
|
||||
- HuC-1(缺少 IR 支持)
|
||||
- HuC-3(缺少 IR 和 RTC 支持)
|
||||
- Sachen MMC2 (缺少备用接线支持)
|
||||
- BBD (缺少图标切换)
|
||||
- Hitek (缺少图标切换)
|
||||
- GGB-81 (缺少图标切换)
|
||||
- Li Cheng (缺少图标切换)
|
||||
|
||||
### 计划加入的功能
|
||||
|
||||
|
@ -80,6 +70,7 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
|
|||
- 支持 Dolphin/JOY 总线链接电缆。
|
||||
- MP2k 音频混合,获得比硬件更高质量的声音。
|
||||
- 支持针对工具辅助竞速(Tool-Assisted Speedrun)的重录功能。
|
||||
- 支持 Lua 脚本。
|
||||
- 全方位的调试套件。
|
||||
- 支持无线适配器。
|
||||
|
||||
|
@ -121,19 +112,17 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
|
|||
编译
|
||||
---------
|
||||
|
||||
编译需要使用 CMake 3.1 或更新版本。已知 GCC , Clang 和 Visual Studio 2013 都可以编译 mGBA。
|
||||
编译需要使用 CMake 3.1 或更新版本。已知 GCC 和 Clang 都可以编译 mGBA,而 Visual Studio 2013 和更旧的版本则无法编译。我们即将实现对 Visual Studio 2015 或更新版本的支持。
|
||||
|
||||
#### Docker 构建
|
||||
|
||||
对于大多数平台来说,建议使用 Docker 进行构建。我们提供了多个 Docker 映像,其中包含在多个平台上构建 mGBA 所需的工具链和依赖项。
|
||||
|
||||
注意: 如果你是用的是 Widnows 10 之前的旧版本 Windows 系统, 你可能需要配置你的 Docker 使用 VirtualBox 共享文件夹以正确映射你当前 mGBA 检出目录到 Docker 镜像中的工作目录. 详细细节参见 issue [#1985](https://mgba.io/i/1985)
|
||||
|
||||
要使用 Docker 映像构建 mGBA,只需在 mGBA 的签出(checkout)根目录中运行以下命令:
|
||||
|
||||
docker run --rm -t -v $PWD:/home/mgba/src mgba/windows:w32
|
||||
|
||||
启动 Docker 容器之后, 此命令将生成 `build-win32` 目录, 此目录中包含编译产物。将 `mgba/windows:w32` 替换为其他平台上的 Docker 映像,会生成相应的其他目录。Docker Hub 上提供了以下 Docker 映像:
|
||||
此命令将生成 `build-win32` 目录。将 `mgba/windows:w32` 替换为其他平台上的 Docker 映像,会生成相应的其他目录。Docker Hub 上提供了以下 Docker 映像:
|
||||
|
||||
- mgba/3ds
|
||||
- mgba/switch
|
||||
|
@ -146,8 +135,6 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
|
|||
- mgba/windows:w32
|
||||
- mgba/windows:w64
|
||||
|
||||
如果你希望加速编译过程, 可以考虑添加编译选项 `-e MAKEFLAGS=-jN`, 使用 `N` 个 CPU 核心来并行构建 mGBA
|
||||
|
||||
#### *nix 构建
|
||||
|
||||
要在基于 Unix 的系统上使用 CMake 进行构建,推荐执行以下命令:
|
||||
|
@ -160,7 +147,7 @@ mGBA 是一个运行 Game Boy Advance 游戏的模拟器。mGBA 的目标是比
|
|||
|
||||
这些命令将构建 mGBA 并将其安装到 `/usr/bin` 和 `/usr/lib` 中。系统会自动检测已安装的依赖项,如果未找到依赖项,则会在提示找不到依赖项的情况下运行 `cmake` 命令,并显示已被禁用的功能。
|
||||
|
||||
如果您使用的是 MacOS,则步骤略有不同。假设您使用的 homebrew 软件包管理器,建议使用以下命令来获取依赖项并进行构建:
|
||||
如果您使用的是 MacOS,则步骤略有不同。假设您使用的是自制软件包管理器,建议使用以下命令来获取依赖项并进行构建:
|
||||
|
||||
brew install cmake ffmpeg libzip qt5 sdl2 libedit pkg-config
|
||||
mkdir build
|
||||
|
@ -233,12 +220,10 @@ mGBA 没有硬性的依赖项,但是特定功能需要以下可选的依赖项
|
|||
- libzip 或 zlib:载入储存在 ZIP 文件中的 ROM 的所需依赖项。
|
||||
- SQLite3:游戏数据库的所需依赖项
|
||||
- libelf:ELF 载入的所需依赖项
|
||||
- Lua: 脚本支持
|
||||
- json-c: 脚本 `storage` API 支持
|
||||
|
||||
SQLite3、libpng 以及 zlib 已包含在模拟器中,因此不需要先对这些依赖项进行外部编译。
|
||||
|
||||
脚注
|
||||
Footnotes
|
||||
---------
|
||||
|
||||
<a name="missing">[1]</a> 目前缺失的功能有
|
||||
|
@ -247,7 +232,7 @@ SQLite3、libpng 以及 zlib 已包含在模拟器中,因此不需要先对这
|
|||
|
||||
<a name="flashdetect">[2]</a> 闪存大小检测在某些情况下不起作用。 这些可以在运行时中进行配置,但如果遇到此类情况,建议提交错误。
|
||||
|
||||
<a name="osxver">[3]</a> 仅 Qt 移植需要 10.9。应该可以在 10.7 或更早版本上构建或运行 Qt 移植,但这类操作不受官方支持。已知 SDL 移植可以在 10.5 上运行,并且可能能够在旧版本上运行。
|
||||
<a name="osxver">[3]</a> 仅 Qt 端口需要 10.9。应该可以在 10.7 或更早版本上构建或运行 Qt 端口,但这类操作不受官方支持。已知 SDL 端口可以在 10.5 上运行,并且可能能够在旧版本上运行。
|
||||
|
||||
[downloads]: http://mgba.io/downloads.html
|
||||
[source]: https://github.com/mgba-emu/mgba/
|
||||
|
@ -255,11 +240,12 @@ SQLite3、libpng 以及 zlib 已包含在模拟器中,因此不需要先对这
|
|||
版权
|
||||
---------
|
||||
|
||||
mGBA 版权 © 2013 – 2023 Jeffrey Pfau。基于 [Mozilla 公共许可证版本 2.0](https://www.mozilla.org/MPL/2.0/) 许可证分发。分发的 LICENSE 文件中提供了许可证的副本。
|
||||
mGBA 版权 © 2013 – 2020 Jeffrey Pfau。基于 [Mozilla 公共许可证版本 2.0](https://www.mozilla.org/MPL/2.0/) 许可证分发。分发的 LICENSE 文件中提供了许可证的副本。
|
||||
|
||||
mGBA 包含以下第三方库:
|
||||
|
||||
- [inih](https://github.com/benhoyt/inih):版权 © 2009 – 2020 Ben Hoyt,基于 BSD 3-clause 许可证使用。
|
||||
- [blip-buf](https://code.google.com/archive/p/blip-buf):版权 © 2003 – 2009 Shay Green,基于 Lesser GNU 公共许可证使用。
|
||||
- [LZMA SDK](http://www.7-zip.org/sdk.html):属公有领域使用。
|
||||
- [MurmurHash3](https://github.com/aappleby/smhasher):由 Austin Appleby 实施,属公有领域使用。
|
||||
- [getopt for MSVC](https://github.com/skandhurkat/Getopt-for-Visual-Studio/):属公有领域使用。
|
||||
|
|
Before Width: | Height: | Size: 1.3 KiB |
|
@ -1,6 +0,0 @@
|
|||
[testinfo]
|
||||
skip=15
|
||||
frames=1
|
||||
|
||||
[ports.cinema]
|
||||
sgb.borders=0
|
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 703 B After Width: | Height: | Size: 702 B |
After Width: | Height: | Size: 711 B |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
@ -1,44 +0,0 @@
|
|||
; File generated by rgblink
|
||||
00:00ff reboot
|
||||
00:0100 Start
|
||||
00:0150 LCDOff
|
||||
00:0157 LCDOff.LCDOffLoop
|
||||
00:0163 LCDOff.ret
|
||||
00:0165 LCDOn
|
||||
00:016e LoadFont
|
||||
00:0176 LoadFont.loop
|
||||
00:017c LoadFont.loop2
|
||||
00:0185 LoadFont.loop3
|
||||
00:0192 LoadFont.loop4
|
||||
00:01a1 HexDigits
|
||||
00:03a1 Palette
|
||||
00:03b1 LoadObjPalettes
|
||||
00:03b5 LoadBGPalettes
|
||||
00:03b7 LoadPalettes
|
||||
00:03bc LoadPalettes.loop
|
||||
00:03c2 CommonInit
|
||||
00:03d0 CommonInit.clearLogoTilemap
|
||||
00:03e9 ModemSleep
|
||||
00:0401 ModemCh1Freqs
|
||||
00:0411 ModemCh2Freqs
|
||||
00:0421 ModemCh3Freqs
|
||||
00:0431 ModemSendByte
|
||||
00:0485 ModemStart
|
||||
00:04bf ModemStop
|
||||
00:04c3 ModemSendBuffer
|
||||
00:04cb _Start
|
||||
00:04e7 _Start.loop_u16400
|
||||
00:0502 _Start.failed
|
||||
00:0509 _Start.sendSerial
|
||||
00:0521 _Start.loop_u16401
|
||||
00:052a PrintResults
|
||||
00:0533 PrintResults.yLoop
|
||||
00:0557 PrintResults.xLoop
|
||||
00:0569 PrintResults.correct
|
||||
00:057d PrintResults.correct2
|
||||
00:059e SerialSendByte
|
||||
00:05a4 SerialSendByte.loop
|
||||
00:05ab CorrectResults
|
||||
00:05db RunTest
|
||||
00:0b92 StoreResult
|
||||
01:4000 NopSlide
|
Before Width: | Height: | Size: 998 B |
|
@ -1,2 +0,0 @@
|
|||
[testinfo]
|
||||
fail=1
|
|
@ -1,44 +0,0 @@
|
|||
; File generated by rgblink
|
||||
00:00ff reboot
|
||||
00:0100 Start
|
||||
00:0150 LCDOff
|
||||
00:0157 LCDOff.LCDOffLoop
|
||||
00:0163 LCDOff.ret
|
||||
00:0165 LCDOn
|
||||
00:016e LoadFont
|
||||
00:0176 LoadFont.loop
|
||||
00:017c LoadFont.loop2
|
||||
00:0185 LoadFont.loop3
|
||||
00:0192 LoadFont.loop4
|
||||
00:01a1 HexDigits
|
||||
00:03a1 Palette
|
||||
00:03b1 LoadObjPalettes
|
||||
00:03b5 LoadBGPalettes
|
||||
00:03b7 LoadPalettes
|
||||
00:03bc LoadPalettes.loop
|
||||
00:03c2 CommonInit
|
||||
00:03d0 CommonInit.clearLogoTilemap
|
||||
00:03e9 ModemSleep
|
||||
00:0401 ModemCh1Freqs
|
||||
00:0411 ModemCh2Freqs
|
||||
00:0421 ModemCh3Freqs
|
||||
00:0431 ModemSendByte
|
||||
00:0485 ModemStart
|
||||
00:04bf ModemStop
|
||||
00:04c3 ModemSendBuffer
|
||||
00:04cb _Start
|
||||
00:04e7 _Start.loop_u16400
|
||||
00:0502 _Start.failed
|
||||
00:0509 _Start.sendSerial
|
||||
00:0521 _Start.loop_u16401
|
||||
00:052a PrintResults
|
||||
00:0533 PrintResults.yLoop
|
||||
00:0557 PrintResults.xLoop
|
||||
00:0569 PrintResults.correct
|
||||
00:057d PrintResults.correct2
|
||||
00:059e SerialSendByte
|
||||
00:05a4 SerialSendByte.loop
|
||||
00:05ab CorrectResults
|
||||
00:05db RunTest
|
||||
00:0b92 StoreResult
|
||||
01:4000 NopSlide
|
Before Width: | Height: | Size: 1.0 KiB |
|
@ -1,2 +0,0 @@
|
|||
[testinfo]
|
||||
fail=1
|
|
@ -1,44 +0,0 @@
|
|||
; File generated by rgblink
|
||||
00:00ff reboot
|
||||
00:0100 Start
|
||||
00:0150 LCDOff
|
||||
00:0157 LCDOff.LCDOffLoop
|
||||
00:0163 LCDOff.ret
|
||||
00:0165 LCDOn
|
||||
00:016e LoadFont
|
||||
00:0176 LoadFont.loop
|
||||
00:017c LoadFont.loop2
|
||||
00:0185 LoadFont.loop3
|
||||
00:0192 LoadFont.loop4
|
||||
00:01a1 HexDigits
|
||||
00:03a1 Palette
|
||||
00:03b1 LoadObjPalettes
|
||||
00:03b5 LoadBGPalettes
|
||||
00:03b7 LoadPalettes
|
||||
00:03bc LoadPalettes.loop
|
||||
00:03c2 CommonInit
|
||||
00:03d0 CommonInit.clearLogoTilemap
|
||||
00:03e9 ModemSleep
|
||||
00:0401 ModemCh1Freqs
|
||||
00:0411 ModemCh2Freqs
|
||||
00:0421 ModemCh3Freqs
|
||||
00:0431 ModemSendByte
|
||||
00:0485 ModemStart
|
||||
00:04bf ModemStop
|
||||
00:04c3 ModemSendBuffer
|
||||
00:04cb _Start
|
||||
00:04e7 _Start.loop_u16400
|
||||
00:0502 _Start.failed
|
||||
00:0509 _Start.sendSerial
|
||||
00:0521 _Start.loop_u16401
|
||||
00:052a PrintResults
|
||||
00:0533 PrintResults.yLoop
|
||||
00:0557 PrintResults.xLoop
|
||||
00:0569 PrintResults.correct
|
||||
00:057d PrintResults.correct2
|
||||
00:059e SerialSendByte
|
||||
00:05a4 SerialSendByte.loop
|
||||
00:05ab CorrectResults
|
||||
00:05cb RunTest
|
||||
00:09ed StoreResult
|
||||
01:4000 NopSlide
|
Before Width: | Height: | Size: 918 B |
|
@ -1,2 +0,0 @@
|
|||
[testinfo]
|
||||
fail=1
|
|
@ -1,45 +0,0 @@
|
|||
; File generated by rgblink
|
||||
00:00ff reboot
|
||||
00:0100 Start
|
||||
00:0150 LCDOff
|
||||
00:0157 LCDOff.LCDOffLoop
|
||||
00:0163 LCDOff.ret
|
||||
00:0165 LCDOn
|
||||
00:016e LoadFont
|
||||
00:0176 LoadFont.loop
|
||||
00:017c LoadFont.loop2
|
||||
00:0185 LoadFont.loop3
|
||||
00:0192 LoadFont.loop4
|
||||
00:01a1 HexDigits
|
||||
00:03a1 Palette
|
||||
00:03b1 LoadObjPalettes
|
||||
00:03b5 LoadBGPalettes
|
||||
00:03b7 LoadPalettes
|
||||
00:03bc LoadPalettes.loop
|
||||
00:03c2 CommonInit
|
||||
00:03d0 CommonInit.clearLogoTilemap
|
||||
00:03e9 ModemSleep
|
||||
00:0401 ModemCh1Freqs
|
||||
00:0411 ModemCh2Freqs
|
||||
00:0421 ModemCh3Freqs
|
||||
00:0431 ModemSendByte
|
||||
00:0485 ModemStart
|
||||
00:04bf ModemStop
|
||||
00:04c3 ModemSendBuffer
|
||||
00:04cb _Start
|
||||
00:04e7 _Start.loop_u16400
|
||||
00:0502 _Start.failed
|
||||
00:0509 _Start.sendSerial
|
||||
00:0521 _Start.loop_u16401
|
||||
00:052a PrintResults
|
||||
00:0533 PrintResults.yLoop
|
||||
00:0557 PrintResults.xLoop
|
||||
00:0569 PrintResults.correct
|
||||
00:057d PrintResults.correct2
|
||||
00:059e SerialSendByte
|
||||
00:05a4 SerialSendByte.loop
|
||||
00:05ab CorrectResults
|
||||
00:062b RunTest
|
||||
00:0649 TestGroup
|
||||
00:0a39 StoreResult
|
||||
01:4000 NopSlide
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1,2 +0,0 @@
|
|||
[testinfo]
|
||||
fail=1
|
|
@ -1,45 +0,0 @@
|
|||
; File generated by rgblink
|
||||
00:00ff reboot
|
||||
00:0100 Start
|
||||
00:0150 LCDOff
|
||||
00:0157 LCDOff.LCDOffLoop
|
||||
00:0163 LCDOff.ret
|
||||
00:0165 LCDOn
|
||||
00:016e LoadFont
|
||||
00:0176 LoadFont.loop
|
||||
00:017c LoadFont.loop2
|
||||
00:0185 LoadFont.loop3
|
||||
00:0192 LoadFont.loop4
|
||||
00:01a1 HexDigits
|
||||
00:03a1 Palette
|
||||
00:03b1 LoadObjPalettes
|
||||
00:03b5 LoadBGPalettes
|
||||
00:03b7 LoadPalettes
|
||||
00:03bc LoadPalettes.loop
|
||||
00:03c2 CommonInit
|
||||
00:03d0 CommonInit.clearLogoTilemap
|
||||
00:03e9 ModemSleep
|
||||
00:0401 ModemCh1Freqs
|
||||
00:0411 ModemCh2Freqs
|
||||
00:0421 ModemCh3Freqs
|
||||
00:0431 ModemSendByte
|
||||
00:0485 ModemStart
|
||||
00:04bf ModemStop
|
||||
00:04c3 ModemSendBuffer
|
||||
00:04cb _Start
|
||||
00:04e7 _Start.loop_u16400
|
||||
00:0502 _Start.failed
|
||||
00:0509 _Start.sendSerial
|
||||
00:0521 _Start.loop_u16401
|
||||
00:052a PrintResults
|
||||
00:0533 PrintResults.yLoop
|
||||
00:0557 PrintResults.xLoop
|
||||
00:0569 PrintResults.correct
|
||||
00:057d PrintResults.correct2
|
||||
00:059e SerialSendByte
|
||||
00:05a4 SerialSendByte.loop
|
||||
00:05ab CorrectResults
|
||||
00:062b RunTest
|
||||
00:0639 TestGroup
|
||||
00:0ec9 StoreResult
|
||||
01:4000 NopSlide
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1,2 +0,0 @@
|
|||
[testinfo]
|
||||
fail=1
|
|
@ -1,44 +0,0 @@
|
|||
; File generated by rgblink
|
||||
00:00ff reboot
|
||||
00:0100 Start
|
||||
00:0150 LCDOff
|
||||
00:0157 LCDOff.LCDOffLoop
|
||||
00:0163 LCDOff.ret
|
||||
00:0165 LCDOn
|
||||
00:016e LoadFont
|
||||
00:0176 LoadFont.loop
|
||||
00:017c LoadFont.loop2
|
||||
00:0185 LoadFont.loop3
|
||||
00:0192 LoadFont.loop4
|
||||
00:01a1 HexDigits
|
||||
00:03a1 Palette
|
||||
00:03b1 LoadObjPalettes
|
||||
00:03b5 LoadBGPalettes
|
||||
00:03b7 LoadPalettes
|
||||
00:03bc LoadPalettes.loop
|
||||
00:03c2 CommonInit
|
||||
00:03d0 CommonInit.clearLogoTilemap
|
||||
00:03e9 ModemSleep
|
||||
00:0401 ModemCh1Freqs
|
||||
00:0411 ModemCh2Freqs
|
||||
00:0421 ModemCh3Freqs
|
||||
00:0431 ModemSendByte
|
||||
00:0485 ModemStart
|
||||
00:04bf ModemStop
|
||||
00:04c3 ModemSendBuffer
|
||||
00:04cb _Start
|
||||
00:04e7 _Start.loop_u16400
|
||||
00:0502 _Start.failed
|
||||
00:0509 _Start.sendSerial
|
||||
00:0521 _Start.loop_u16401
|
||||
00:052a PrintResults
|
||||
00:0533 PrintResults.yLoop
|
||||
00:0557 PrintResults.xLoop
|
||||
00:0569 PrintResults.correct
|
||||
00:057d PrintResults.correct2
|
||||
00:059e SerialSendByte
|
||||
00:05a4 SerialSendByte.loop
|
||||
00:05ab CorrectResults
|
||||
00:05c3 RunTest
|
||||
00:091d StoreResult
|
||||
01:4000 NopSlide
|
Before Width: | Height: | Size: 751 B |
|
@ -1,2 +0,0 @@
|
|||
[testinfo]
|
||||
fail=1
|
|
@ -1,45 +0,0 @@
|
|||
; File generated by rgblink
|
||||
00:00ff reboot
|
||||
00:0100 Start
|
||||
00:0150 LCDOff
|
||||
00:0157 LCDOff.LCDOffLoop
|
||||
00:0163 LCDOff.ret
|
||||
00:0165 LCDOn
|
||||
00:016e LoadFont
|
||||
00:0176 LoadFont.loop
|
||||
00:017c LoadFont.loop2
|
||||
00:0185 LoadFont.loop3
|
||||
00:0192 LoadFont.loop4
|
||||
00:01a1 HexDigits
|
||||
00:03a1 Palette
|
||||
00:03b1 LoadObjPalettes
|
||||
00:03b5 LoadBGPalettes
|
||||
00:03b7 LoadPalettes
|
||||
00:03bc LoadPalettes.loop
|
||||
00:03c2 CommonInit
|
||||
00:03d0 CommonInit.clearLogoTilemap
|
||||
00:03e9 ModemSleep
|
||||
00:0401 ModemCh1Freqs
|
||||
00:0411 ModemCh2Freqs
|
||||
00:0421 ModemCh3Freqs
|
||||
00:0431 ModemSendByte
|
||||
00:0485 ModemStart
|
||||
00:04bf ModemStop
|
||||
00:04c3 ModemSendBuffer
|
||||
00:04cb _Start
|
||||
00:04e7 _Start.loop_u16400
|
||||
00:0502 _Start.failed
|
||||
00:0509 _Start.sendSerial
|
||||
00:0521 _Start.loop_u16401
|
||||
00:052a PrintResults
|
||||
00:0533 PrintResults.yLoop
|
||||
00:0557 PrintResults.xLoop
|
||||
00:0569 PrintResults.correct
|
||||
00:057d PrintResults.correct2
|
||||
00:059e SerialSendByte
|
||||
00:05a4 SerialSendByte.loop
|
||||
00:05ab CorrectResults
|
||||
00:062b RunTest
|
||||
00:0639 TestGroup
|
||||
00:0ed6 StoreResult
|
||||
01:4000 NopSlide
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1,2 +0,0 @@
|
|||
[testinfo]
|
||||
fail=1
|
|
@ -1,44 +0,0 @@
|
|||
; File generated by rgblink
|
||||
00:00ff reboot
|
||||
00:0100 Start
|
||||
00:0150 LCDOff
|
||||
00:0157 LCDOff.LCDOffLoop
|
||||
00:0163 LCDOff.ret
|
||||
00:0165 LCDOn
|
||||
00:016e LoadFont
|
||||
00:0176 LoadFont.loop
|
||||
00:017c LoadFont.loop2
|
||||
00:0185 LoadFont.loop3
|
||||
00:0192 LoadFont.loop4
|
||||
00:01a1 HexDigits
|
||||
00:03a1 Palette
|
||||
00:03b1 LoadObjPalettes
|
||||
00:03b5 LoadBGPalettes
|
||||
00:03b7 LoadPalettes
|
||||
00:03bc LoadPalettes.loop
|
||||
00:03c2 CommonInit
|
||||
00:03d0 CommonInit.clearLogoTilemap
|
||||
00:03e9 ModemSleep
|
||||
00:0401 ModemCh1Freqs
|
||||
00:0411 ModemCh2Freqs
|
||||
00:0421 ModemCh3Freqs
|
||||
00:0431 ModemSendByte
|
||||
00:0485 ModemStart
|
||||
00:04bf ModemStop
|
||||
00:04c3 ModemSendBuffer
|
||||
00:04cb _Start
|
||||
00:04e7 _Start.loop_u16400
|
||||
00:0502 _Start.failed
|
||||
00:0509 _Start.sendSerial
|
||||
00:0521 _Start.loop_u16401
|
||||
00:052a PrintResults
|
||||
00:0533 PrintResults.yLoop
|
||||
00:0557 PrintResults.xLoop
|
||||
00:0569 PrintResults.correct
|
||||
00:057d PrintResults.correct2
|
||||
00:059e SerialSendByte
|
||||
00:05a4 SerialSendByte.loop
|
||||
00:05ab CorrectResults
|
||||
00:05bb RunTest
|
||||
00:0875 StoreResult
|
||||
01:4000 NopSlide
|
Before Width: | Height: | Size: 679 B |
|
@ -1,2 +0,0 @@
|
|||
[testinfo]
|
||||
fail=1
|
|
@ -1,44 +0,0 @@
|
|||
; File generated by rgblink
|
||||
00:00ff reboot
|
||||
00:0100 Start
|
||||
00:0150 LCDOff
|
||||
00:0157 LCDOff.LCDOffLoop
|
||||
00:0163 LCDOff.ret
|
||||
00:0165 LCDOn
|
||||
00:016e LoadFont
|
||||
00:0176 LoadFont.loop
|
||||
00:017c LoadFont.loop2
|
||||
00:0185 LoadFont.loop3
|
||||
00:0192 LoadFont.loop4
|
||||
00:01a1 HexDigits
|
||||
00:03a1 Palette
|
||||
00:03b1 LoadObjPalettes
|
||||
00:03b5 LoadBGPalettes
|
||||
00:03b7 LoadPalettes
|
||||
00:03bc LoadPalettes.loop
|
||||
00:03c2 CommonInit
|
||||
00:03d0 CommonInit.clearLogoTilemap
|
||||
00:03e9 ModemSleep
|
||||
00:0401 ModemCh1Freqs
|
||||
00:0411 ModemCh2Freqs
|
||||
00:0421 ModemCh3Freqs
|
||||
00:0431 ModemSendByte
|
||||
00:0485 ModemStart
|
||||
00:04bf ModemStop
|
||||
00:04c3 ModemSendBuffer
|
||||
00:04cb _Start
|
||||
00:04e7 _Start.loop_u16400
|
||||
00:0502 _Start.failed
|
||||
00:0509 _Start.sendSerial
|
||||
00:0521 _Start.loop_u16401
|
||||
00:052a PrintResults
|
||||
00:0533 PrintResults.yLoop
|
||||
00:0557 PrintResults.xLoop
|
||||
00:0569 PrintResults.correct
|
||||
00:057d PrintResults.correct2
|
||||
00:059e SerialSendByte
|
||||
00:05a4 SerialSendByte.loop
|
||||
00:05ab CorrectResults
|
||||
00:05bb RunTest
|
||||
00:0875 StoreResult
|
||||
01:4000 NopSlide
|
Before Width: | Height: | Size: 666 B |
|
@ -1,2 +0,0 @@
|
|||
[testinfo]
|
||||
fail=1
|
|
@ -1,44 +0,0 @@
|
|||
; File generated by rgblink
|
||||
00:00ff reboot
|
||||
00:0100 Start
|
||||
00:0150 LCDOff
|
||||
00:0157 LCDOff.LCDOffLoop
|
||||
00:0163 LCDOff.ret
|
||||
00:0165 LCDOn
|
||||
00:016e LoadFont
|
||||
00:0176 LoadFont.loop
|
||||
00:017c LoadFont.loop2
|
||||
00:0185 LoadFont.loop3
|
||||
00:0192 LoadFont.loop4
|
||||
00:01a1 HexDigits
|
||||
00:03a1 Palette
|
||||
00:03b1 LoadObjPalettes
|
||||
00:03b5 LoadBGPalettes
|
||||
00:03b7 LoadPalettes
|
||||
00:03bc LoadPalettes.loop
|
||||
00:03c2 CommonInit
|
||||
00:03d0 CommonInit.clearLogoTilemap
|
||||
00:03e9 ModemSleep
|
||||
00:0401 ModemCh1Freqs
|
||||
00:0411 ModemCh2Freqs
|
||||
00:0421 ModemCh3Freqs
|
||||
00:0431 ModemSendByte
|
||||
00:0485 ModemStart
|
||||
00:04bf ModemStop
|
||||
00:04c3 ModemSendBuffer
|
||||
00:04cb _Start
|
||||
00:04e7 _Start.loop_u16400
|
||||
00:0502 _Start.failed
|
||||
00:0509 _Start.sendSerial
|
||||
00:0521 _Start.loop_u16401
|
||||
00:052a PrintResults
|
||||
00:0533 PrintResults.yLoop
|
||||
00:0557 PrintResults.xLoop
|
||||
00:0569 PrintResults.correct
|
||||
00:057d PrintResults.correct2
|
||||
00:059e SerialSendByte
|
||||
00:05a4 SerialSendByte.loop
|
||||
00:05ab CorrectResults
|
||||
00:05bb RunTest
|
||||
00:0875 StoreResult
|
||||
01:4000 NopSlide
|
Before Width: | Height: | Size: 679 B |
|
@ -1,2 +0,0 @@
|
|||
[testinfo]
|
||||
fail=1
|
|
@ -1,44 +0,0 @@
|
|||
; File generated by rgblink
|
||||
00:00ff reboot
|
||||
00:0100 Start
|
||||
00:0150 LCDOff
|
||||
00:0157 LCDOff.LCDOffLoop
|
||||
00:0163 LCDOff.ret
|
||||
00:0165 LCDOn
|
||||
00:016e LoadFont
|
||||
00:0176 LoadFont.loop
|
||||
00:017c LoadFont.loop2
|
||||
00:0185 LoadFont.loop3
|
||||
00:0192 LoadFont.loop4
|
||||
00:01a1 HexDigits
|
||||
00:03a1 Palette
|
||||
00:03b1 LoadObjPalettes
|
||||
00:03b5 LoadBGPalettes
|
||||
00:03b7 LoadPalettes
|
||||
00:03bc LoadPalettes.loop
|
||||
00:03c2 CommonInit
|
||||
00:03d0 CommonInit.clearLogoTilemap
|
||||
00:03e9 ModemSleep
|
||||
00:0401 ModemCh1Freqs
|
||||
00:0411 ModemCh2Freqs
|
||||
00:0421 ModemCh3Freqs
|
||||
00:0431 ModemSendByte
|
||||
00:0485 ModemStart
|
||||
00:04bf ModemStop
|
||||
00:04c3 ModemSendBuffer
|
||||
00:04cb _Start
|
||||
00:04e7 _Start.loop_u16400
|
||||
00:0502 _Start.failed
|
||||
00:0509 _Start.sendSerial
|
||||
00:0521 _Start.loop_u16401
|
||||
00:052a PrintResults
|
||||
00:0533 PrintResults.yLoop
|
||||
00:0557 PrintResults.xLoop
|
||||
00:0569 PrintResults.correct
|
||||
00:057d PrintResults.correct2
|
||||
00:059e SerialSendByte
|
||||
00:05a4 SerialSendByte.loop
|
||||
00:05ab CorrectResults
|
||||
00:05bb RunTest
|
||||
00:088f StoreResult
|
||||
01:4000 NopSlide
|
Before Width: | Height: | Size: 747 B |
|
@ -1,3 +0,0 @@
|
|||
[testinfo]
|
||||
fail=1
|
||||
skip=180
|
|
@ -1,44 +0,0 @@
|
|||
; File generated by rgblink
|
||||
00:00ff reboot
|
||||
00:0100 Start
|
||||
00:0150 LCDOff
|
||||
00:0157 LCDOff.LCDOffLoop
|
||||
00:0163 LCDOff.ret
|
||||
00:0165 LCDOn
|
||||
00:016e LoadFont
|
||||
00:0176 LoadFont.loop
|
||||
00:017c LoadFont.loop2
|
||||
00:0185 LoadFont.loop3
|
||||
00:0192 LoadFont.loop4
|
||||
00:01a1 HexDigits
|
||||
00:03a1 Palette
|
||||
00:03b1 LoadObjPalettes
|
||||
00:03b5 LoadBGPalettes
|
||||
00:03b7 LoadPalettes
|
||||
00:03bc LoadPalettes.loop
|
||||
00:03c2 CommonInit
|
||||
00:03d0 CommonInit.clearLogoTilemap
|
||||
00:03e9 ModemSleep
|
||||
00:0401 ModemCh1Freqs
|
||||
00:0411 ModemCh2Freqs
|
||||
00:0421 ModemCh3Freqs
|
||||
00:0431 ModemSendByte
|
||||
00:0485 ModemStart
|
||||
00:04bf ModemStop
|
||||
00:04c3 ModemSendBuffer
|
||||
00:04cb _Start
|
||||
00:04e7 _Start.loop_u16400
|
||||
00:0502 _Start.failed
|
||||
00:0509 _Start.sendSerial
|
||||
00:0521 _Start.loop_u16401
|
||||
00:052a PrintResults
|
||||
00:0533 PrintResults.yLoop
|
||||
00:0557 PrintResults.xLoop
|
||||
00:0569 PrintResults.correct
|
||||
00:057d PrintResults.correct2
|
||||
00:059e SerialSendByte
|
||||
00:05a4 SerialSendByte.loop
|
||||
00:05ab CorrectResults
|
||||
00:05f3 RunTest
|
||||
00:1a0f StoreResult
|
||||
01:4000 NopSlide
|
Before Width: | Height: | Size: 1.2 KiB |
|
@ -1,2 +0,0 @@
|
|||
[testinfo]
|
||||
fail=1
|
|
@ -1,44 +0,0 @@
|
|||
; File generated by rgblink
|
||||
00:00ff reboot
|
||||
00:0100 Start
|
||||
00:0150 LCDOff
|
||||
00:0157 LCDOff.LCDOffLoop
|
||||
00:0163 LCDOff.ret
|
||||
00:0165 LCDOn
|
||||
00:016e LoadFont
|
||||
00:0176 LoadFont.loop
|
||||
00:017c LoadFont.loop2
|
||||
00:0185 LoadFont.loop3
|
||||
00:0192 LoadFont.loop4
|
||||
00:01a1 HexDigits
|
||||
00:03a1 Palette
|
||||
00:03b1 LoadObjPalettes
|
||||
00:03b5 LoadBGPalettes
|
||||
00:03b7 LoadPalettes
|
||||
00:03bc LoadPalettes.loop
|
||||
00:03c2 CommonInit
|
||||
00:03d0 CommonInit.clearLogoTilemap
|
||||
00:03e9 ModemSleep
|
||||
00:0401 ModemCh1Freqs
|
||||
00:0411 ModemCh2Freqs
|
||||
00:0421 ModemCh3Freqs
|
||||
00:0431 ModemSendByte
|
||||
00:0485 ModemStart
|
||||
00:04bf ModemStop
|
||||
00:04c3 ModemSendBuffer
|
||||
00:04cb _Start
|
||||
00:04e7 _Start.loop_u16400
|
||||
00:0502 _Start.failed
|
||||
00:0509 _Start.sendSerial
|
||||
00:0521 _Start.loop_u16401
|
||||
00:052a PrintResults
|
||||
00:0533 PrintResults.yLoop
|
||||
00:0557 PrintResults.xLoop
|
||||
00:0569 PrintResults.correct
|
||||
00:057d PrintResults.correct2
|
||||
00:059e SerialSendByte
|
||||
00:05a4 SerialSendByte.loop
|
||||
00:05ab CorrectResults
|
||||
00:063b RunTest
|
||||
00:1a82 StoreResult
|
||||
01:4000 NopSlide
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1,2 +0,0 @@
|
|||
[testinfo]
|
||||
fail=1
|
|
@ -1,44 +0,0 @@
|
|||
; File generated by rgblink
|
||||
00:00ff reboot
|
||||
00:0100 Start
|
||||
00:0150 LCDOff
|
||||
00:0157 LCDOff.LCDOffLoop
|
||||
00:0163 LCDOff.ret
|
||||
00:0165 LCDOn
|
||||
00:016e LoadFont
|
||||
00:0176 LoadFont.loop
|
||||
00:017c LoadFont.loop2
|
||||
00:0185 LoadFont.loop3
|
||||
00:0192 LoadFont.loop4
|
||||
00:01a1 HexDigits
|
||||
00:03a1 Palette
|
||||
00:03b1 LoadObjPalettes
|
||||
00:03b5 LoadBGPalettes
|
||||
00:03b7 LoadPalettes
|
||||
00:03bc LoadPalettes.loop
|
||||
00:03c2 CommonInit
|
||||
00:03d0 CommonInit.clearLogoTilemap
|
||||
00:03e9 ModemSleep
|
||||
00:0401 ModemCh1Freqs
|
||||
00:0411 ModemCh2Freqs
|
||||
00:0421 ModemCh3Freqs
|
||||
00:0431 ModemSendByte
|
||||
00:0485 ModemStart
|
||||
00:04bf ModemStop
|
||||
00:04c3 ModemSendBuffer
|
||||
00:04cb _Start
|
||||
00:04e7 _Start.loop_u16400
|
||||
00:0502 _Start.failed
|
||||
00:0509 _Start.sendSerial
|
||||
00:0521 _Start.loop_u16401
|
||||
00:052a PrintResults
|
||||
00:0533 PrintResults.yLoop
|
||||
00:0557 PrintResults.xLoop
|
||||
00:0569 PrintResults.correct
|
||||
00:057d PrintResults.correct2
|
||||
00:059e SerialSendByte
|
||||
00:05a4 SerialSendByte.loop
|
||||
00:05ab CorrectResults
|
||||
00:05bb RunTest
|
||||
00:085e StoreResult
|
||||
01:4000 NopSlide
|
Before Width: | Height: | Size: 682 B |
|
@ -1,2 +0,0 @@
|
|||
[testinfo]
|
||||
fail=1
|
|
@ -1,46 +0,0 @@
|
|||
; File generated by rgblink
|
||||
00:00ff reboot
|
||||
00:0100 Start
|
||||
00:0150 LCDOff
|
||||
00:0157 LCDOff.LCDOffLoop
|
||||
00:0163 LCDOff.ret
|
||||
00:0165 LCDOn
|
||||
00:016e LoadFont
|
||||
00:0176 LoadFont.loop
|
||||
00:017c LoadFont.loop2
|
||||
00:0185 LoadFont.loop3
|
||||
00:0192 LoadFont.loop4
|
||||
00:01a1 HexDigits
|
||||
00:03a1 Palette
|
||||
00:03b1 LoadObjPalettes
|
||||
00:03b5 LoadBGPalettes
|
||||
00:03b7 LoadPalettes
|
||||
00:03bc LoadPalettes.loop
|
||||
00:03c2 CommonInit
|
||||
00:03d0 CommonInit.clearLogoTilemap
|
||||
00:03e9 ModemSleep
|
||||
00:0401 ModemCh1Freqs
|
||||
00:0411 ModemCh2Freqs
|
||||
00:0421 ModemCh3Freqs
|
||||
00:0431 ModemSendByte
|
||||
00:0485 ModemStart
|
||||
00:04bf ModemStop
|
||||
00:04c3 ModemSendBuffer
|
||||
00:04cb _Start
|
||||
00:04e7 _Start.loop_u16400
|
||||
00:0502 _Start.failed
|
||||
00:0509 _Start.sendSerial
|
||||
00:0521 _Start.loop_u16401
|
||||
00:052a PrintResults
|
||||
00:0533 PrintResults.yLoop
|
||||
00:0557 PrintResults.xLoop
|
||||
00:0569 PrintResults.correct
|
||||
00:057d PrintResults.correct2
|
||||
00:059e SerialSendByte
|
||||
00:05a4 SerialSendByte.loop
|
||||
00:05ab CorrectResults
|
||||
00:05e3 RunTest
|
||||
00:05f9 TestGroup
|
||||
00:0801 ShortTestGroup
|
||||
00:0912 StoreResult
|
||||
01:4000 NopSlide
|
Before Width: | Height: | Size: 1.1 KiB |
|
@ -1,2 +0,0 @@
|
|||
[testinfo]
|
||||
fail=1
|
|
@ -1,44 +0,0 @@
|
|||
; File generated by rgblink
|
||||
00:00ff reboot
|
||||
00:0100 Start
|
||||
00:0150 LCDOff
|
||||
00:0157 LCDOff.LCDOffLoop
|
||||
00:0163 LCDOff.ret
|
||||
00:0165 LCDOn
|
||||
00:016e LoadFont
|
||||
00:0176 LoadFont.loop
|
||||
00:017c LoadFont.loop2
|
||||
00:0185 LoadFont.loop3
|
||||
00:0192 LoadFont.loop4
|
||||
00:01a1 HexDigits
|
||||
00:03a1 Palette
|
||||
00:03b1 LoadObjPalettes
|
||||
00:03b5 LoadBGPalettes
|
||||
00:03b7 LoadPalettes
|
||||
00:03bc LoadPalettes.loop
|
||||
00:03c2 CommonInit
|
||||
00:03d0 CommonInit.clearLogoTilemap
|
||||
00:03e9 ModemSleep
|
||||
00:0401 ModemCh1Freqs
|
||||
00:0411 ModemCh2Freqs
|
||||
00:0421 ModemCh3Freqs
|
||||
00:0431 ModemSendByte
|
||||
00:0485 ModemStart
|
||||
00:04bf ModemStop
|
||||
00:04c3 ModemSendBuffer
|
||||
00:04cb _Start
|
||||
00:04e7 _Start.loop_u16400
|
||||
00:0502 _Start.failed
|
||||
00:0509 _Start.sendSerial
|
||||
00:0521 _Start.loop_u16401
|
||||
00:052a PrintResults
|
||||
00:0533 PrintResults.yLoop
|
||||
00:0557 PrintResults.xLoop
|
||||
00:0569 PrintResults.correct
|
||||
00:057d PrintResults.correct2
|
||||
00:059e SerialSendByte
|
||||
00:05a4 SerialSendByte.loop
|
||||
00:05ab CorrectResults
|
||||
00:063b RunTest
|
||||
00:1f92 StoreResult
|
||||
01:4000 NopSlide
|
Before Width: | Height: | Size: 2.0 KiB |
|
@ -1,2 +0,0 @@
|
|||
[testinfo]
|
||||
fail=1
|
|
@ -1,44 +0,0 @@
|
|||
; File generated by rgblink
|
||||
00:00ff reboot
|
||||
00:0100 Start
|
||||
00:0150 LCDOff
|
||||
00:0157 LCDOff.LCDOffLoop
|
||||
00:0163 LCDOff.ret
|
||||
00:0165 LCDOn
|
||||
00:016e LoadFont
|
||||
00:0176 LoadFont.loop
|
||||
00:017c LoadFont.loop2
|
||||
00:0185 LoadFont.loop3
|
||||
00:0192 LoadFont.loop4
|
||||
00:01a1 HexDigits
|
||||
00:03a1 Palette
|
||||
00:03b1 LoadObjPalettes
|
||||
00:03b5 LoadBGPalettes
|
||||
00:03b7 LoadPalettes
|
||||
00:03bc LoadPalettes.loop
|
||||
00:03c2 CommonInit
|
||||
00:03d0 CommonInit.clearLogoTilemap
|
||||
00:03e9 ModemSleep
|
||||
00:0401 ModemCh1Freqs
|
||||
00:0411 ModemCh2Freqs
|
||||
00:0421 ModemCh3Freqs
|
||||
00:0431 ModemSendByte
|
||||
00:0485 ModemStart
|
||||
00:04bf ModemStop
|
||||
00:04c3 ModemSendBuffer
|
||||
00:04cb _Start
|
||||
00:04e7 _Start.loop_u16400
|
||||
00:0502 _Start.failed
|
||||
00:0509 _Start.sendSerial
|
||||
00:0521 _Start.loop_u16401
|
||||
00:052a PrintResults
|
||||
00:0533 PrintResults.yLoop
|
||||
00:0557 PrintResults.xLoop
|
||||
00:0569 PrintResults.correct
|
||||
00:057d PrintResults.correct2
|
||||
00:059e SerialSendByte
|
||||
00:05a4 SerialSendByte.loop
|
||||
00:05ab CorrectResults
|
||||
00:063b RunTest
|
||||
00:1cce StoreResult
|
||||
01:4000 NopSlide
|
Before Width: | Height: | Size: 2.0 KiB |
|
@ -1,2 +0,0 @@
|
|||
[testinfo]
|
||||
fail=1
|
|
@ -1,45 +0,0 @@
|
|||
; File generated by rgblink
|
||||
00:00ff reboot
|
||||
00:0100 Start
|
||||
00:0150 LCDOff
|
||||
00:0157 LCDOff.LCDOffLoop
|
||||
00:0163 LCDOff.ret
|
||||
00:0165 LCDOn
|
||||
00:016e LoadFont
|
||||
00:0176 LoadFont.loop
|
||||
00:017c LoadFont.loop2
|
||||
00:0185 LoadFont.loop3
|
||||
00:0192 LoadFont.loop4
|
||||
00:01a1 HexDigits
|
||||
00:03a1 Palette
|
||||
00:03b1 LoadObjPalettes
|
||||
00:03b5 LoadBGPalettes
|
||||
00:03b7 LoadPalettes
|
||||
00:03bc LoadPalettes.loop
|
||||
00:03c2 CommonInit
|
||||
00:03d0 CommonInit.clearLogoTilemap
|
||||
00:03e9 ModemSleep
|
||||
00:0401 ModemCh1Freqs
|
||||
00:0411 ModemCh2Freqs
|
||||
00:0421 ModemCh3Freqs
|
||||
00:0431 ModemSendByte
|
||||
00:0485 ModemStart
|
||||
00:04bf ModemStop
|
||||
00:04c3 ModemSendBuffer
|
||||
00:04cb _Start
|
||||
00:04e7 _Start.loop_u16400
|
||||
00:0502 _Start.failed
|
||||
00:0509 _Start.sendSerial
|
||||
00:0521 _Start.loop_u16401
|
||||
00:052a PrintResults
|
||||
00:0533 PrintResults.yLoop
|
||||
00:0557 PrintResults.xLoop
|
||||
00:0569 PrintResults.correct
|
||||
00:057d PrintResults.correct2
|
||||
00:059e SerialSendByte
|
||||
00:05a4 SerialSendByte.loop
|
||||
00:05ab CorrectResults
|
||||
00:063b RunTest
|
||||
00:0940 RunTest.round_6
|
||||
00:1545 StoreResult
|
||||
01:4000 NopSlide
|
Before Width: | Height: | Size: 1.8 KiB |
|
@ -1,2 +0,0 @@
|
|||
[testinfo]
|
||||
fail=1
|
|
@ -1,44 +0,0 @@
|
|||
; File generated by rgblink
|
||||
00:00ff reboot
|
||||
00:0100 Start
|
||||
00:0150 LCDOff
|
||||
00:0157 LCDOff.LCDOffLoop
|
||||
00:0163 LCDOff.ret
|
||||
00:0165 LCDOn
|
||||
00:016e LoadFont
|
||||
00:0176 LoadFont.loop
|
||||
00:017c LoadFont.loop2
|
||||
00:0185 LoadFont.loop3
|
||||
00:0192 LoadFont.loop4
|
||||
00:01a1 HexDigits
|
||||
00:03a1 Palette
|
||||
00:03b1 LoadObjPalettes
|
||||
00:03b5 LoadBGPalettes
|
||||
00:03b7 LoadPalettes
|
||||
00:03bc LoadPalettes.loop
|
||||
00:03c2 CommonInit
|
||||
00:03d0 CommonInit.clearLogoTilemap
|
||||
00:03e9 ModemSleep
|
||||
00:0401 ModemCh1Freqs
|
||||
00:0411 ModemCh2Freqs
|
||||
00:0421 ModemCh3Freqs
|
||||
00:0431 ModemSendByte
|
||||
00:0485 ModemStart
|
||||
00:04bf ModemStop
|
||||
00:04c3 ModemSendBuffer
|
||||
00:04cb _Start
|
||||
00:04e7 _Start.loop_u16400
|
||||
00:0502 _Start.failed
|
||||
00:0509 _Start.sendSerial
|
||||
00:0521 _Start.loop_u16401
|
||||
00:052a PrintResults
|
||||
00:0533 PrintResults.yLoop
|
||||
00:0557 PrintResults.xLoop
|
||||
00:0569 PrintResults.correct
|
||||
00:057d PrintResults.correct2
|
||||
00:059e SerialSendByte
|
||||
00:05a4 SerialSendByte.loop
|
||||
00:05ab CorrectResults
|
||||
00:062b RunTest
|
||||
00:1e2a StoreResult
|
||||
01:4000 NopSlide
|
Before Width: | Height: | Size: 1.3 KiB |
|
@ -1,2 +0,0 @@
|
|||
[testinfo]
|
||||
fail=1
|
|
@ -1,45 +0,0 @@
|
|||
; File generated by rgblink
|
||||
00:00ff reboot
|
||||
00:0100 Start
|
||||
00:0150 LCDOff
|
||||
00:0157 LCDOff.LCDOffLoop
|
||||
00:0163 LCDOff.ret
|
||||
00:0165 LCDOn
|
||||
00:016e LoadFont
|
||||
00:0176 LoadFont.loop
|
||||
00:017c LoadFont.loop2
|
||||
00:0185 LoadFont.loop3
|
||||
00:0192 LoadFont.loop4
|
||||
00:01a1 HexDigits
|
||||
00:03a1 Palette
|
||||
00:03b1 LoadObjPalettes
|
||||
00:03b5 LoadBGPalettes
|
||||
00:03b7 LoadPalettes
|
||||
00:03bc LoadPalettes.loop
|
||||
00:03c2 CommonInit
|
||||
00:03d0 CommonInit.clearLogoTilemap
|
||||
00:03e9 ModemSleep
|
||||
00:0401 ModemCh1Freqs
|
||||
00:0411 ModemCh2Freqs
|
||||
00:0421 ModemCh3Freqs
|
||||
00:0431 ModemSendByte
|
||||
00:0485 ModemStart
|
||||
00:04bf ModemStop
|
||||
00:04c3 ModemSendBuffer
|
||||
00:04cb _Start
|
||||
00:04e7 _Start.loop_u16400
|
||||
00:0502 _Start.failed
|
||||
00:0509 _Start.sendSerial
|
||||
00:0521 _Start.loop_u16401
|
||||
00:052a PrintResults
|
||||
00:0533 PrintResults.yLoop
|
||||
00:0557 PrintResults.xLoop
|
||||
00:0569 PrintResults.correct
|
||||
00:057d PrintResults.correct2
|
||||
00:059e SerialSendByte
|
||||
00:05a4 SerialSendByte.loop
|
||||
00:05ab CorrectResults
|
||||
00:062b RunTest
|
||||
00:0643 SubTestGroup
|
||||
00:0ac4 StoreResult
|
||||
01:4000 NopSlide
|
Before Width: | Height: | Size: 2.5 KiB |
|
@ -1,3 +0,0 @@
|
|||
[testinfo]
|
||||
fail=1
|
||||
skip=120
|
|
@ -1,45 +0,0 @@
|
|||
; File generated by rgblink
|
||||
00:00ff reboot
|
||||
00:0100 Start
|
||||
00:0150 LCDOff
|
||||
00:0157 LCDOff.LCDOffLoop
|
||||
00:0163 LCDOff.ret
|
||||
00:0165 LCDOn
|
||||
00:016e LoadFont
|
||||
00:0176 LoadFont.loop
|
||||
00:017c LoadFont.loop2
|
||||
00:0185 LoadFont.loop3
|
||||
00:0192 LoadFont.loop4
|
||||
00:01a1 HexDigits
|
||||
00:03a1 Palette
|
||||
00:03b1 LoadObjPalettes
|
||||
00:03b5 LoadBGPalettes
|
||||
00:03b7 LoadPalettes
|
||||
00:03bc LoadPalettes.loop
|
||||
00:03c2 CommonInit
|
||||
00:03d0 CommonInit.clearLogoTilemap
|
||||
00:03e9 ModemSleep
|
||||
00:0401 ModemCh1Freqs
|
||||
00:0411 ModemCh2Freqs
|
||||
00:0421 ModemCh3Freqs
|
||||
00:0431 ModemSendByte
|
||||
00:0485 ModemStart
|
||||
00:04bf ModemStop
|
||||
00:04c3 ModemSendBuffer
|
||||
00:04cb _Start
|
||||
00:04e7 _Start.loop_u16400
|
||||
00:0502 _Start.failed
|
||||
00:0509 _Start.sendSerial
|
||||
00:0521 _Start.loop_u16401
|
||||
00:052a PrintResults
|
||||
00:0533 PrintResults.yLoop
|
||||
00:0557 PrintResults.xLoop
|
||||
00:0569 PrintResults.correct
|
||||
00:057d PrintResults.correct2
|
||||
00:059e SerialSendByte
|
||||
00:05a4 SerialSendByte.loop
|
||||
00:05ab CorrectResults
|
||||
00:05eb RunTest
|
||||
00:05fb TestGroup
|
||||
00:0a7c StoreResult
|
||||
01:4000 NopSlide
|