Skip to content

Commit 0ea7a8c

Browse files
committed
Fix CI and remove unused files
1 parent ef971cf commit 0ea7a8c

303 files changed

Lines changed: 146861 additions & 25 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,12 @@ trace.log
88
imgui.ini
99
settings.ini
1010

11+
# Ignore test source files
12+
src/test_runner.cpp
13+
src/test_quiz_key.cpp
14+
src/test_doraemon.cpp
15+
src/dump_hram.cpp
16+
1117
# Ignore ROM files but keep the directory structure
1218
src/rom/*
1319
!src/rom/.gitkeep

CMakeLists.txt

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -51,16 +51,6 @@ include_directories(
5151
# Core Library
5252
add_library(gb_core STATIC ${CORE_SOURCES})
5353

54-
# Headless Test Runner Executable
55-
add_executable(gb_test_runner src/test_runner.cpp)
56-
target_link_libraries(gb_test_runner PRIVATE gb_core)
57-
58-
add_executable(test_quiz_key src/test_quiz_key.cpp)
59-
target_link_libraries(test_quiz_key PRIVATE gb_core)
60-
61-
add_executable(test_doraemon src/test_doraemon.cpp)
62-
target_link_libraries(test_doraemon PRIVATE gb_core)
63-
6454
# Main GUI Application Executable
6555
add_executable(gb_emulator
6656
src/main.cpp

README.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@
22

33
A complete GameBoy emulator written in C++ with SDL2, OpenGL, and ImGui.
44

5-
## Các chức năng
6-
- Full CPU instruction set emulation (Mô phỏng đầy đủ tập lệnh CPU)
7-
- PPU (Graphics) hỗ trợ scale màn hình linh hoạt và palette màu tùy chọn
8-
- APU (Audio) có đồng bộ hóa âm thanh và tùy chỉnh âm lượng
9-
- Hỗ trợ các thẻ băng MBC1, MBC2, MBC3, MBC5
10-
- Chế độ Debugger mạnh mẽ với Memory Editor (MMU) và theo dõi trạng thái CPU Registers
11-
- Hỗ trợ Save state / Battery save
12-
- Giao diện người dùng ImGui, cho phép kéo thả trực tiếp file ROM vào cửa sổ để chơi ngay
13-
- Hỗ trợ chế độ chạy chậm (Slow-motion)
5+
## Features
6+
- Full CPU instruction set emulation
7+
- PPU (Graphics) with flexible screen scaling and optional palette forcing
8+
- APU (Audio) with audio synchronization and volume control
9+
- Memory Bank Controller support (MBC1, MBC2, MBC3, MBC5)
10+
- Powerful Debugger mode with Memory Editor (MMU) and CPU Registers tracking
11+
- Save state / Battery save support
12+
- ImGui user interface, allowing drag-and-drop of ROM files directly into the window to play immediately
13+
- Slow-motion support
1414

15-
## Link tải file test (Github test)
16-
Nếu bạn muốn tìm các file ROM test để kiểm tra độ chính xác của emulator, bạn có thể tải tại đây:
17-
- [Blargg's GameBoy Hardware Tests](https://github.com/retrio/gb-test-roms)
18-
- [Mooneye GB Test Suite](https://github.com/Gekkio/mooneye-test-suite)
15+
## ROMs
16+
You can download test ROMs and game ROMs to play from the links below:
17+
- **Test ROMs:** [c-sp/game-boy-test-roms](https://github.com/c-sp/game-boy-test-roms)
18+
- **Game ROMs:** [Google Drive Collection](https://drive.google.com/drive/folders/1JgnLjNZpI0l10GN4OGHr47ceT9yhh4UT)
1919

2020
## Tech Stack
2121
- **C++20**

src/vendor/imgui

Lines changed: 0 additions & 1 deletion
This file was deleted.

src/vendor/imgui/.editorconfig

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# See http://editorconfig.org to read about the EditorConfig format.
2+
# - In theory automatically supported by VS2017+ and most common IDE or text editors.
3+
# - In practice VS2019-VS2022 stills don't trim trailing whitespaces correctly :(
4+
# - Suggest installing this to trim whitespaces:
5+
# GitHub https://github.com/madskristensen/TrailingWhitespace
6+
# VS2019 https://marketplace.visualstudio.com/items?itemName=MadsKristensen.TrailingWhitespaceVisualizer
7+
# VS2022 https://marketplace.visualstudio.com/items?itemName=MadsKristensen.TrailingWhitespace64
8+
# (in spite of its name doesn't only visualize but also trims)
9+
# - Alternative for older VS2010 to VS2015: https://marketplace.visualstudio.com/items?itemName=EditorConfigTeam.EditorConfig
10+
11+
# top-most EditorConfig file
12+
root = true
13+
14+
# Default settings:
15+
# Use 4 spaces as indentation
16+
[*]
17+
indent_style = space
18+
indent_size = 4
19+
insert_final_newline = true
20+
trim_trailing_whitespace = true
21+
22+
[imstb_*]
23+
indent_size = 3
24+
trim_trailing_whitespace = false
25+
26+
[Makefile]
27+
indent_style = tab
28+
indent_size = 4

src/vendor/imgui/.gitattributes

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
* text=auto
2+
3+
*.c text
4+
*.cpp text
5+
*.h text
6+
*.m text
7+
*.mm text
8+
*.md text
9+
*.txt text
10+
*.html text
11+
*.bat text
12+
*.frag text
13+
*.vert text
14+
*.mkb text
15+
*.icf text
16+
17+
*.sln text eol=crlf
18+
*.vcxproj text eol=crlf
19+
*.vcxproj.filters text eol=crlf
20+
*.natvis text eol=crlf
21+
22+
Makefile text eol=lf
23+
*.sh text eol=lf
24+
*.pbxproj text eol=lf
25+
*.storyboard text eol=lf
26+
*.plist text eol=lf
27+
28+
*.png binary
29+
*.ttf binary
30+
*.lib binary
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
custom: ['https://github.com/ocornut/imgui/wiki/Funding']
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
blank_issues_enabled: false
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
name: "Ask a question, report a bug, request a feature, etc."
2+
description: "Ask any question, discuss best practices, report a bug, request a feature."
3+
body:
4+
- type: markdown
5+
attributes:
6+
value: |
7+
FOR FIRST-TIME USERS ISSUES COMPILING/LINKING/RUNNING, please use [GitHub Discussions](https://github.com/ocornut/imgui/discussions)
8+
For anything else: **we are happy to use 'GitHub Issues' for many types of open-ended questions**. We are encouraging 'Issues' becoming a large, centralized, tagged, cross-referenced database of Dear ImGui contents.
9+
10+
Be mindful that messages are being sent to the e-mail box of "Watching" users. Try to proof-read your messages before sending them. Edits are not seen by those users.
11+
12+
**If you are using Dear ImGui as part of a job that you are being well-paid for** and your company is not a sponsor. Please be mindful that this is a Free Software and you might be about to ask volunteers to help you doing your job. Please put extra effort describing your issue or question properly. If your company is wealthy, please read [Funding](https://github.com/ocornut/imgui/wiki/Funding) and consider getting in touch.
13+
- type: markdown
14+
attributes:
15+
value: |
16+
**Prerequisites:**
17+
- I have read [Frequently Asked Questions](https://github.com/ocornut/imgui/blob/master/docs/FAQ.md).
18+
- I have read [Contributing Guidelines -> General Advices](https://github.com/ocornut/imgui/blob/master/docs/CONTRIBUTING.md#getting-started--general-advice).
19+
- I have read [Contributing Guidelines -> How to open an Issue](https://github.com/ocornut/imgui/blob/master/docs/CONTRIBUTING.md#how-to-open-an-issue).
20+
- I have searched [Github Issues and PR](https://github.com/ocornut/imgui/issues?q=) for discussion of similar topics.
21+
22+
----
23+
- type: input
24+
id: specs_version
25+
attributes:
26+
label: "Version/Branch of Dear ImGui:"
27+
description: "(please specify if you have made substantial modifications to your copy)"
28+
value: "Version 1.XX, Branch: XXX (master/docking/etc.)"
29+
placeholder: "Version 1.XX, Branch: XXX (master/docking/etc.)"
30+
validations:
31+
required: true
32+
- type: input
33+
id: specs_backend
34+
attributes:
35+
label: "Back-ends:"
36+
description: (or specify when using custom engine/back-ends)
37+
value: "imgui_impl_XXX.cpp + imgui_impl_XXX.cpp"
38+
placeholder: "imgui_impl_XXX.cpp + imgui_impl_XXX.cpp or n/a"
39+
validations:
40+
required: true
41+
- type: input
42+
id: specs_compiler_os
43+
attributes:
44+
label: "Compiler, OS:"
45+
placeholder: "e.g. Windows 11 + MSVC 2022, macOS + Clang 12, Linux + GCC etc."
46+
validations:
47+
required: true
48+
- type: textarea
49+
id: specs_full
50+
attributes:
51+
label: "Full config/build information:"
52+
placeholder: |
53+
(If you can run, you may go to 'Demo->Tools->About Dear ImGui->Config/Build Info' to obtain detailed information that you can paste here)
54+
validations:
55+
required: false
56+
- type: textarea
57+
id: issue_description
58+
attributes:
59+
label: "Details:"
60+
description: "Try to be explicit with your goals, your expectations and what you have tried. Be mindful of [The XY Problem](https://xyproblem.info). What you have in mind or in your code is not obvious to other people. People frequently discuss problems and suggest incorrect solutions without first clarifying their goals. When requesting a new feature, please describe the usage context (how you intend to use it, why you need it, etc.). If you tried something and it failed, show us what you tried. If you are reporting a bug, explain what's the bug, how does it occur, etc. If you are reporting a crash, please include a debugger callstack."
61+
value: |
62+
**My Issue/Question:**
63+
64+
XXX _(please provide as much context as possible)_
65+
validations:
66+
required: true
67+
- type: textarea
68+
id: screenshots
69+
attributes:
70+
label: "Screenshots/Video:"
71+
description: "Attach screenshots or gif/videos to clarify the context. They often convey useful information that is omitted by the description."
72+
placeholder: "(You can drag files here)"
73+
validations:
74+
required: false
75+
- type: textarea
76+
id: repro_code
77+
attributes:
78+
label: "Minimal, Complete and Verifiable Example code:"
79+
description: "Provide an [MCVE](https://stackoverflow.com/help/mcve) to demonstrate your problem. An ideal submission includes a small piece of code that anyone can paste into one of the examples applications (examples/*/main.cpp) or the demo (imgui_demo.cpp) to understand and reproduce it. Narrowing your problem to its shortest and purest form is the easiest way to understand it, explain it and fix it. Please test your shortened code to ensure it exhibits the problem. Often while creating the MCVE you will solve the problem! Many questions that are missing a standalone verifiable example are missing the actual cause of their issue in the description, which ends up wasting everyone's time."
80+
value: |
81+
```cpp
82+
// Here's some code anyone can copy and paste to reproduce your issue
83+
ImGui::Begin("Example Bug");
84+
MoreCodeToExplainMyIssue();
85+
ImGui::End();
86+
```
87+
validations:
88+
required: false
89+
- type: markdown
90+
attributes:
91+
value: |
92+
Thank you for taking the time to read prerequisites, filling this template and double-checking your message and your code!
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
(Click "Preview" to turn any http URL into a clickable link)
2+
3+
1. PLEASE CAREFULLY READ: [Contributing Guidelines](https://github.com/ocornut/imgui/blob/master/docs/CONTRIBUTING.md)
4+
5+
2. **Make sure you're using a special branch just for this pull request**. (In git, 1 PR = 1 branch. If you update the branch the PR will be updated.)
6+
7+
3. Consider running the [imgui_test_suite](https://github.com/ocornut/imgui_test_engine) or adding new tests to test for expected behaviors.
8+
9+
4. Clear this template before submitting your PR.
10+

0 commit comments

Comments
 (0)