You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+36-28Lines changed: 36 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -104,7 +104,7 @@ Optional arguments:
104
104
SSH server
105
105
----------
106
106
107
-
It is possible to serve the emulation though SSH, although clients won't be able to send input to the emulator without an X server and the `ssh -X` option. Use `gambaterm-ssh --help` for more information.
107
+
It is possible to serve the emulation through SSH. Clients with terminals supporting the [kitty keyboard protocol](https://sw.kovidgoyal.net/kitty/keyboard-protocol/) can send input directly without X11 forwarding. Otherwise, X11 forwarding (`ssh -X`) can be used as a fallback. Use `gambaterm-ssh --help` for more information. 24-bit color is always true over ssh.
108
108
109
109
110
110
Terminal support
@@ -132,7 +132,7 @@ Not all terminals will actually offer a pleasant experience. The main criteria a
132
132
Terminal.app, and can be adjusted by vertical and horizontal spacing of font preferences.
133
133
134
134
-**Support for the [kitty keyboard protocol](https://sw.kovidgoyal.net/kitty/keyboard-protocol/)**
135
-
This is mandatory if you're using Wayland, and recomended on every other platforms.
135
+
This is mandatory if you're using Wayland, and recommended on every other platforms.
136
136
In the case where the kitty keyboard protocol is not detected by `gambaterm`, the following fallbacks are implemented:
137
137
* Linux: uses X11 through `python-xlib`
138
138
* Macos: uses `pynput` (it requires granting specific authorizations to the terminal app)
@@ -143,36 +143,44 @@ Not all terminals will actually offer a pleasant experience. The main criteria a
143
143
The terminal has to be able to process about 500KB of requests per seconds for a smooth rendering of "intense" frames.
144
144
Typically, the most intense bursts happen during screen transitions of two detailed scenes.
145
145
146
-
The table below sums up my findings when I tried a the most common terminal emulators. Here's about linux:
147
-
148
-
| Linux | Status | Colors | Unicode rendering | Kitty keyboard protocol | Performance | Comments |
| Command prompt | Bad | 24-bit colors | Good | No | 1 FPS | Slow/Unresponsive |
180
+
| Git bash (mingw64) | Ok | 24-bit colors | Good | No | N/A ||
181
+
182
+
183
+
Terminals without Kitty keyboard protocol require X11 to play locally, or X11 forwarding to use over SSH.
176
184
177
185
Terminal size
178
186
-------------
@@ -232,7 +240,7 @@ It is also possible to use a bizhawk BK2 input file to play tool-assisted speedr
232
240
Motivation
233
241
----------
234
242
235
-
To be honest there is no actual reason to use this gameboy emulator, other than you might find it fun or interesting. The motivation behind this project is simply to push the idea of running a video game console emulator in a terminal as far as possible. It seems like there has been a [similar attempt](https://github.com/gabrielrcouto/php-terminal-gameboy-emulator) that used a different approach for displaying the video stream. In any case I'm quite satisfied with this project, and also a bit surprised that I could push it to the point where playing games is actually enjoyable. In particular, I've been able to complete [The Bouncing Ball](https://gbhh.avivace.com/game/The-Bouncing-Ball) at 60 FPS in XTerm, and I'm now looking forward to playing more homebrew games :)
243
+
To be honest there is no actual reason to use this gameboy emulator, other than you might find it fun or interesting. The motivation behind this project is simply to push the idea of running a video game console emulator in a terminal as far as possible. It seems like there has been a [similar attempt](https://github.com/gabrielrcouto/php-terminal-gameboy-emulator) that used a different approach for displaying the video stream. In any case I'm quite satisfied with this project, and also a bit surprised that I could push it to the point where playing games is actually enjoyable. In particular, I've been able to complete [The Bouncing Ball](https://hh.gbdev.io/game/the-bouncing-ball) at 60 FPS in XTerm, and I'm now looking forward to playing more homebrew games :)
236
244
237
245
238
246
@@ -243,7 +251,7 @@ Here is the list of the dependencies used in this project, all great open source
0 commit comments