Commit Graph

21 Commits (master)

Author SHA1 Message Date
Nabile Rahmani 0753fbce9b - Blank the screen on invalid video state.
- Name the CPU thread.
2018-12-24 17:13:27 +01:00
Nabile Rahmani 68f65d01b8 Refactored the windowing code.
- Don't clear the render target since we're fully overwriting it anyways.
- Pass null pointers instead of filling out full regions for the texture and render target.
This achieves the same effect.
- Create the renderer in the constructor, since we're doing everything in the same thread anyways.
That gets rid of the check on every frame.
2018-12-21 23:53:47 +01:00
Nabile Rahmani e9af937d4d Don't assume the runtime's endianness. 2018-12-19 16:00:30 +01:00
Nabile Rahmani 3cadb9a179 Updater: Complete Windows update even in case of unhandled exceptions. 2018-12-11 21:19:13 +01:00
Nabile Rahmani 719107d459 Renames. 2018-12-11 20:47:19 +01:00
Nabile Rahmani 6c5a34eaa6 Updater: Delay executable file replace on Windows using the ProcessExit event.
This should match the Linux behaviour where the process can keep running after updating.
2018-12-10 19:46:30 +01:00
Nabile Rahmani ed96d4af96 Changed wording in update list to avoid confusion. 2018-12-01 04:05:53 +01:00
Nabile Rahmani 3b0792dfab Fixed RGBA16 output being pixel swapped.
Cartridge (big-endian): 1234
RAM (little-endian): 4321
Source 16-bit image: 12-34 (2 pixels)
Emulated image should be 21-43 (big => little), but the word swap made it 43-21 (pixel swapped)
Output: 4321 => 2143
2018-12-01 04:04:00 +01:00
Nabile Rahmani b28862e5f7 Fixed updater not working when missing DotN64.dll. 2018-11-29 06:26:33 +01:00
Nabile Rahmani 585645d791 Somewhat fixed the SDL implementation (frame buffer scaling, hanged on Windows, did not gracefully quit everywhere).
- Blitting the frame buffer works for 240p and 480p, though due to the usage of the scale-up values, some lines don't make it through in 480p. Additionally, something is wrong with 16-bit buffers.
- Running the window thread on the main thread since the main thread created the window. Windows isn't able to poll SDL events on a different thread.
- Disposing the SDL window on the thread which created it instead of relying on the finaliser to destroy it. Not doing so triggers a segfault as DestroyRenderer gets called. No need to destroy textures when disposing of the renderer as it does it.
- Display string for Point struct.
2018-11-29 04:17:35 +01:00
Nabile Rahmani 84f14de487 Fixed ROM header fields, and added an option to display headers.
MediaFormat values were guesses from various games (i.e. SM64 is a regular cartridge, OoT was to be expanded, and 64dd.org disk ID listings).
2018-11-21 16:05:28 +01:00
Nabile Rahmani 10470e40b1 - Read zipped ROM images.
- Change window title on cartridge swap.
2018-10-27 08:06:24 +02:00
Nabile Rahmani 58a454f112 First pass on video output.
- Added SDL video output.
- Send VI interrupts when the currently scanned line hits the interrupt register's.
- Added some program options related to video.
2018-06-27 16:12:46 +02:00
Nabile Rahmani bf58d40556 Added an IDE command for deploy. 2018-06-27 15:46:09 +02:00
Nabile Rahmani e17c4c1c4e Fixed Win64 not able to load 64-bit libs (msbuild needs the solution context).
Also, restore packages for posterity.
2018-06-17 14:16:14 +02:00
Nabile Rahmani 71500b5c68 Updates: don't auto-restart on Windows. 2018-06-17 13:18:05 +02:00
Nabile Rahmani 55382b2c14 Make sure the target directory exists. 2018-06-15 07:36:44 +02:00
Nabile Rahmani 0f00baae39 - Do not check versions when switching streams.
- Manually restore execute bit on Unix.
- Use full paths everywhere instead of relying on current working directory.
- Less early returns on update operations.
- Formatting.
2018-06-15 05:28:09 +02:00
Nabile Rahmani 6a15c0ddb8 Added deploy script. 2018-06-15 00:57:38 +02:00
Nabile Rahmani 22e54a2333 Basic update system, help message. 2018-06-12 04:23:49 +02:00
Nabile Rahmani 4d594a6637 Turn DotN64 into a library, reference it and SDL2 for the desktop project. 2018-06-11 19:51:06 +02:00