Lior Halphon
|
22d3510dde
|
Added LCD command to the debugger
|
2017-04-22 14:55:17 +03:00 |
Lior Halphon
|
c766704267
|
More accurate FPS capping that tracks time correctly even when the screen is off. Should also support restarting the LCD during blank to increase FPS to 63.
|
2017-04-21 16:00:53 +03:00 |
Lior Halphon
|
fb55c35f87
|
New APIs, Document.m no longer requires GB_INTERNAL, fixed a bug where the sprite viewer showed incorrect sprites for some CGB exclusive games.
|
2017-04-19 23:26:39 +03:00 |
Lior Halphon
|
3feaeb153e
|
New turbo related APIs, Quick Look no longer requires GB_INTERNAL
|
2017-04-19 21:55:58 +03:00 |
Lior Halphon
|
a925ef130d
|
Stabilizing API: New joypad, debugger and reset APIs; internal APIs and direct struct access are no longer available without defining GB_INTERNAL. The SDL port uses the new “public” APIs, as well as most of the non-debug Cocoa code.
|
2017-04-17 20:16:17 +03:00 |
Lior Halphon
|
0b1e2784cd
|
Fixed saves and save states not working correctly on Windows
|
2017-03-24 14:39:39 +03:00 |
Lior Halphon
|
4bf391b1c8
|
SCX now effects Mode 3’s length. Fixes hblank_ly_scx_timing-GS
|
2017-02-25 23:30:31 +02:00 |
Lior Halphon
|
55e54d9499
|
Refinements to DMG STAT write interrupt bug. Fixes stat_irq_blocking on DMG.
|
2017-02-25 21:56:46 +02:00 |
Lior Halphon
|
dbd04f09e8
|
HBlank HDMA should start instantly when starting during HBlank. Fixes 3-D Ultra Pinball.
|
2017-02-25 15:42:59 +02:00 |
Lior Halphon
|
724153e5ef
|
Minimal attempt to be compatible with ROMs without correct headers
|
2017-02-24 15:14:47 +02:00 |
Lior Halphon
|
3d99773ddb
|
Changed how the Cocoa port initializes GB_gameboy_t
|
2017-02-24 15:14:00 +02:00 |
Lior Halphon
|
319857db89
|
Fixed window behavior
|
2017-02-24 00:59:07 +02:00 |
Lior Halphon
|
a420cfd798
|
HUC1’s RAM Enable only controls writing
|
2017-02-23 00:27:08 +02:00 |
Lior Halphon
|
c5ce14dad1
|
Prevent Hblank HDMAs when the LCD is off
|
2017-02-21 22:33:09 +02:00 |
Lior Halphon
|
f4a364c3db
|
It seems like STAT’s LYC flag should be on while the screen is off.
|
2017-02-21 21:31:52 +02:00 |
Lior Halphon
|
fed3b4f9cd
|
Symbolicate LDH instructions
|
2017-02-21 21:31:22 +02:00 |
Lior Halphon
|
aca7687edd
|
Fixed a bug where LYC would be compared to the wrong value in the first cycle of a frame
|
2017-02-20 22:52:34 +02:00 |
Lior Halphon
|
91513ced22
|
Minor adjustment to LCD timing after enabling it.
|
2017-02-20 14:20:45 +02:00 |
Lior Halphon
|
399e88d5fe
|
STAT timing and LCD interrupts rewritten, should be more accurate.
|
2017-02-19 02:22:50 +02:00 |
Lior Halphon
|
74d00b84b7
|
Treat STOP as a 2-byte instruction
|
2017-02-17 00:21:02 +02:00 |
Lior Halphon
|
6b1363e96e
|
Fixed: Writing to 3XXX in MBC5 before writing to 2XXX no longer switches to the wrong bank.
|
2017-02-16 23:13:55 +02:00 |
Lior Halphon
|
421d3b27f5
|
Correct emulation of HUC1 banks higher than 0x1F
|
2017-02-16 21:07:35 +02:00 |
Lior Halphon
|
10ab2b4fe0
|
Fixed typo in the disassembler.
|
2017-02-16 20:51:32 +02:00 |
Lior Halphon
|
3fbc2c5716
|
DI should not be delayed.
|
2017-02-15 19:04:53 +02:00 |
Lior Halphon
|
4b6fda0cb6
|
Simplified HDMA and fixed the reading of the HDMA5 register
|
2017-02-08 21:58:15 +02:00 |
Lior Halphon
|
d5c9a52337
|
Fixed: HDMA registers were not being updated during transfer
|
2017-02-07 00:24:26 +02:00 |
Lior Halphon
|
eed8a06fc0
|
Several fixes to the help command
|
2017-02-04 19:00:31 +02:00 |
Lior Halphon
|
57c73c8a51
|
Fixed the help command for the disassemble command
|
2017-02-04 17:49:22 +02:00 |
Lior Halphon
|
517e72f92b
|
Printer compression support
|
2017-01-20 23:00:02 +02:00 |
Lior Halphon
|
527ae01e0e
|
Printer API, compression not supported yet
|
2017-01-13 22:20:11 +02:00 |
Lior Halphon
|
cd382ef236
|
Fixed: Conditional read watchpoints crashed if the expression referred to the 'new' variable. Breakpoint and watchpoint conditions no longer trigger watchpoints.
|
2017-01-12 23:11:26 +02:00 |
Lior Halphon
|
8c14ec3268
|
An interrupt should also occur when using external clock.
|
2016-11-13 00:42:05 +02:00 |
Lior Halphon
|
22c34e1095
|
Serial API
|
2016-11-12 01:58:53 +02:00 |
Lior Halphon
|
388fb600de
|
Added VRAM-debugging APIs, added VRAM viewer to Cocoa Port, fixed uninitialized VRAM, fixed memory viewer crash
|
2016-10-27 00:23:24 +03:00 |
Lior Halphon
|
47aaf44017
|
Rumble API
|
2016-10-22 15:37:03 +03:00 |
Lior Halphon
|
2d51d13479
|
Various optimizations
|
2016-10-22 02:18:29 +03:00 |
Lior Halphon
|
1b8832a7ff
|
Added disassemble command
|
2016-10-19 23:55:23 +03:00 |
Lior Halphon
|
ee51dec20e
|
Added modifier syntax to debugger: Changed watch's syntax, added format modifier to print/eval, added count option to examine command.
|
2016-10-19 23:48:46 +03:00 |
Lior Halphon
|
edf93abff1
|
According to Mooneye's test ROMs, this behavior does not happen on a CGB
|
2016-10-18 00:31:07 +03:00 |
Lior Halphon
|
11f8c41305
|
Basic HUC3 support
|
2016-10-17 18:51:43 +03:00 |
Lior Halphon
|
9ca7540c69
|
Fixed dereferencing a non-banked address in the debugger
|
2016-10-14 01:19:39 +03:00 |
Lior Halphon
|
fa35869bc4
|
Implemented DMG STAT-write interrupt bug, fixed Road Rash and Zero no Densetsu (These game do not work on CGBs)
|
2016-10-11 13:37:43 +03:00 |
Lior Halphon
|
76c795a966
|
Whoops.
|
2016-10-04 04:01:06 +03:00 |
Lior Halphon
|
90b7383df7
|
The camera's get pixel callback must return the same value for every coordinate until a new photo is taken.
|
2016-10-03 23:05:47 +03:00 |
Lior Halphon
|
2d06599a85
|
Edge enhancement support
|
2016-10-03 19:39:20 +03:00 |
Lior Halphon
|
8941504863
|
Refinements to camera support according to AntonioND's docs
|
2016-10-03 18:24:15 +03:00 |
Lior Halphon
|
dd23fffcc0
|
Proper (I believe) emulation of most GameBoy Camera registers
|
2016-10-03 14:22:54 +03:00 |
Lior Halphon
|
2a84d62187
|
Forbid reading the image while the camera is busy
|
2016-10-03 01:29:54 +03:00 |
Lior Halphon
|
479a64dca6
|
Dither using a pattern, closer to actual GameBoy Camera
|
2016-10-02 23:36:20 +03:00 |
Lior Halphon
|
de7c15fc68
|
Another camera API bugfix
|
2016-10-02 18:33:33 +03:00 |
Lior Halphon
|
9c68ac1419
|
Camera API bugfix
|
2016-10-02 18:14:05 +03:00 |
Lior Halphon
|
ab5f66795a
|
Gameboy Camera API
|
2016-10-02 17:14:58 +03:00 |
Lior Halphon
|
b3b041a151
|
Basic GB Camera support (Emulate only MBC, enough for the ROM to boot).
|
2016-10-02 03:40:11 +03:00 |
Lior Halphon
|
9b71454f07
|
Basic HUC1 support (Emulated as MBC1)
|
2016-10-02 02:15:03 +03:00 |
Lior Halphon
|
4904277f0d
|
Corrected behavior of palette registers in DMG mode. This affected a broken Game & Watch Gallery 2 ROM that was previously used in the automation test.
|
2016-10-01 22:10:44 +03:00 |
Lior Halphon
|
80a1b12ae7
|
Added palette command to the debugger
|
2016-10-01 22:08:34 +03:00 |
Lior Halphon
|
4a2bec239a
|
MBC2 RAM support was completely broken.
|
2016-09-30 23:34:06 +03:00 |
Lior Halphon
|
5565c096c7
|
Misc optimizations, especially for the tester
|
2016-09-30 01:09:44 +03:00 |
Lior Halphon
|
3ac3eccebb
|
Bugfix: Multiple watchpoints did not work correctly and conflicted with breakpoints
|
2016-09-30 01:09:17 +03:00 |
Lior Halphon
|
258500bda3
|
Merge branch 'master' into rateless_apu
|
2016-09-23 18:53:38 +03:00 |
Lior Halphon
|
52ed2ca55e
|
Corrected BG enable's behavior (Fixes visual glitch with Krusty's Funhouse)
|
2016-09-23 18:30:07 +03:00 |
Lior Halphon
|
42c01a21b2
|
Fixed crash when accessing MBC RAM on a cartridge that "has RAM", but it's 0-sized.
|
2016-09-22 01:52:40 +03:00 |
Lior Halphon
|
0991705379
|
Refined HALT bug behavior, fixed Robocop
|
2016-09-22 01:51:09 +03:00 |
Lior Halphon
|
bc3cab7dfa
|
Forbid pressing two opposing direction keys. Fixes Pocket Bomberman (U).
|
2016-09-21 02:15:02 +03:00 |
Lior Halphon
|
252439c1af
|
Fixed a deadlocking race condition that might happen when reading APU memory in the hex viewer
|
2016-09-21 01:59:43 +03:00 |
Lior Halphon
|
c40b86d4a4
|
Merge branch 'master' into rateless_apu
|
2016-09-21 00:23:59 +03:00 |
Lior Halphon
|
6f2b36cacb
|
The HALT bug also happens on CGBs, regardless of DMG mode.
|
2016-09-20 22:59:25 +03:00 |
Lior Halphon
|
f88c9d299b
|
Merge branch 'master' into rateless_apu
|
2016-09-20 20:05:03 +03:00 |
Lior Halphon
|
f46414b7b1
|
Updated struct version :(
|
2016-09-20 20:04:38 +03:00 |
Lior Halphon
|
37e895352f
|
Volumes no longer doubles
|
2016-09-20 19:58:30 +03:00 |
Lior Halphon
|
f049284324
|
Emulate the HALT bug on a DMG
|
2016-09-20 01:22:21 +03:00 |
Lior Halphon
|
1a3a96762b
|
CPU cleanup
|
2016-09-18 23:50:04 +03:00 |
Lior Halphon
|
ed31358934
|
Forgot to emulate LCDC bit 0!
|
2016-09-18 21:00:05 +03:00 |
Lior Halphon
|
fe51805ed7
|
Incorrect constant name
|
2016-09-16 18:24:38 +03:00 |
Lior Halphon
|
f4c5cf20bc
|
Cleanup of ret_cc
|
2016-09-16 13:27:32 +03:00 |
Lior Halphon
|
71d4ba21f2
|
Added a tick-counting debugger command
|
2016-09-16 11:58:31 +03:00 |
Lior Halphon
|
4beb946468
|
Slight APU optimization
|
2016-09-14 22:49:35 +03:00 |
Lior Halphon
|
f274cbc2ec
|
Read wave form while playing
|
2016-09-13 17:40:10 +03:00 |
Lior Halphon
|
594aea2d5a
|
APU is now being run lazily
|
2016-09-13 17:33:48 +03:00 |
Lior Halphon
|
eefc998e43
|
Removed for loop in APU
|
2016-09-13 17:06:35 +03:00 |
Lior Halphon
|
ff7b8a6854
|
Removed doubles, reorganized code a bit
|
2016-09-13 16:57:16 +03:00 |
Lior Halphon
|
b95860c034
|
Making the APU independent of sample rate
|
2016-09-13 16:55:26 +03:00 |
Lior Halphon
|
43be91f032
|
Slightly more readable code.
|
2016-09-13 01:20:18 +03:00 |
Lior Halphon
|
95cfb114a2
|
Properly setting MBC RAM
|
2016-09-10 13:25:18 +03:00 |
Lior Halphon
|
6d836b9f48
|
Fixed APU bug that prevented some games from working
|
2016-09-10 02:20:44 +03:00 |
Lior Halphon
|
62ecadeb57
|
Fixed another reset-while-debugging deadlock in Cocoa
|
2016-09-07 00:37:11 +03:00 |
Lior Halphon
|
01fc137256
|
Fixed an APU issue that might occur when having more than one GB_gameboy_t object
|
2016-09-06 22:36:16 +03:00 |
Lior Halphon
|
603b8969ab
|
Correct (disconnected) serial emulation.
|
2016-09-06 13:13:14 +03:00 |
Lior Halphon
|
a6c5a8fdaa
|
Fixed a bug that caused the Cocoa port to freeze sometimes if the emulator was reset while debugging.
|
2016-09-03 13:34:49 +03:00 |
Lior Halphon
|
a2d77b1754
|
Warn about unsupported cartridges/MBCs
|
2016-09-03 04:00:37 +03:00 |
Lior Halphon
|
a746c726ee
|
Added basic automatic ROM tester
|
2016-09-03 03:39:32 +03:00 |
Lior Halphon
|
ee4907949b
|
Support for RTC latching. Fixes #4.
|
2016-08-21 22:33:57 +03:00 |
Lior Halphon
|
e7626535a8
|
Initial Windows support
|
2016-08-20 17:51:17 +03:00 |
Lior Halphon
|
0734e990b3
|
Memory viewer now has a Goto command, different memory space modes, and allows viewing/editing specific banks
|
2016-08-19 14:54:54 +03:00 |
Lior Halphon
|
f9236d12bf
|
Improvements to the help command and general debugger usability.
|
2016-08-13 22:52:41 +03:00 |
Lior Halphon
|
806d0775a4
|
Added backtrace command to debugger
|
2016-08-09 22:48:53 +03:00 |
Lior Halphon
|
bebb5c7a41
|
Correctly emulating the unused OAM memory in DMG mode
|
2016-08-06 18:58:44 +03:00 |
Lior Halphon
|
cc8664b0a8
|
Correctly emulating a disconnected serial cable
|
2016-08-06 18:57:33 +03:00 |
Lior Halphon
|
af10e07ed7
|
Initing OBP0/1 correctly
|
2016-08-06 18:57:13 +03:00 |
Lior Halphon
|
e95d2c4abe
|
Fixed DI instruction on CGB
|
2016-08-06 17:16:38 +03:00 |
Lior Halphon
|
d03a1fbd16
|
Fixed TMA writing while reloading.
|
2016-08-06 14:36:33 +03:00 |
Lior Halphon
|
85a33ed8ef
|
Emulating DMA delay correctly
|
2016-08-06 14:24:43 +03:00 |
Lior Halphon
|
4a50000e83
|
Corrected timing for many instructions
|
2016-08-06 14:00:35 +03:00 |
Lior Halphon
|
8dd5462525
|
Correct DMA timing
|
2016-08-06 13:57:38 +03:00 |
Lior Halphon
|
0f98ac5ff9
|
Emulate TIMA reloading
|
2016-08-06 13:56:29 +03:00 |
Lior Halphon
|
55cbe5d4d0
|
Accuracy improvements to timers
|
2016-08-06 00:24:12 +03:00 |
Lior Halphon
|
d098458ee4
|
Major improvements to accuracy: Fixed instruction timing, DMA timing, and IO reg masking. Passes most of mooneye-gb acceptance tests.
|
2016-08-05 16:36:38 +03:00 |
Lior Halphon
|
47e3300b66
|
Improved DMA accuracy, mooneyegb test ROMs no longer crash miserably. (but still fail)
|
2016-08-03 23:31:10 +03:00 |
Lior Halphon
|
fad1007427
|
Merge branch 'master' of https://github.com/LIJI32/SameBoy
|
2016-08-03 22:28:28 +03:00 |
Lior Halphon
|
e6d4cac00e
|
Fix logical bug when changing watchpoint flags
|
2016-07-21 15:20:25 +03:00 |
Lior Halphon
|
185e71fe12
|
Improvements to IR API, since timing is VERY important
|
2016-07-21 01:03:13 +03:00 |
Lior Halphon
|
1d35c04ab1
|
Infrared API
|
2016-07-18 22:11:18 +03:00 |
Lior Halphon
|
da0911d69b
|
Fixed SDL crash
|
2016-07-18 14:30:21 +03:00 |
Lior Halphon
|
b30822fd0b
|
Async commands in SDL port, better handling of ^C and ^D
|
2016-07-18 13:10:19 +03:00 |
Lior Halphon
|
aa6438fa06
|
Async debugger commands
|
2016-07-18 00:46:45 +03:00 |
Lior Halphon
|
a68b06226a
|
Fixed crash on free
|
2016-07-15 23:20:14 +03:00 |
Lior Halphon
|
eaca0634aa
|
Reading and writing absolute addresses in the expression evaluator.
|
2016-07-15 17:06:46 +03:00 |
Lior Halphon
|
e20e81befd
|
Symbol support in the expression evaluator
|
2016-07-15 14:31:27 +03:00 |
Lior Halphon
|
c3a831db7d
|
Debugger's pc "variable" now returns a full address
|
2016-07-14 23:27:48 +03:00 |
Lior Halphon
|
909f3ba75e
|
Bank-specific breakpoints and watchpoints
|
2016-07-14 23:25:16 +03:00 |
Lior Halphon
|
ce837b3727
|
Bank-specific examine support
|
2016-07-14 21:15:24 +03:00 |
Lior Halphon
|
65f37bccbd
|
Initial 25-bit debugger values support
|
2016-07-14 21:01:45 +03:00 |
Lior Halphon
|
ea082b777d
|
...And another crash
|
2016-07-14 01:46:55 +03:00 |
Lior Halphon
|
f6b10ed439
|
Operators priorities were inverted!
|
2016-07-13 23:51:46 +03:00 |
Lior Halphon
|
46714108ac
|
...And a crash.
|
2016-07-13 23:46:18 +03:00 |
Lior Halphon
|
c3f1eb26b1
|
Fixed potential overflow
|
2016-07-13 23:07:36 +03:00 |
Lior Halphon
|
d49404d248
|
Debugger can now read .sym files, and display them. (No expression support yet)
|
2016-07-13 23:00:50 +03:00 |
Lior Halphon
|
e9b3a38171
|
Uniform syntax for debugger input and output
|
2016-07-12 23:30:18 +03:00 |
Lior Halphon
|
bd7f8f2555
|
Support for an alternative MBC1 wiring, should solve most N-in-1 carts (Issue #3)
|
2016-07-09 19:25:25 +03:00 |
Lior Halphon
|
c6bafe3fc3
|
Rewrote MBC support
|
2016-07-09 17:34:55 +03:00 |
Lior Halphon
|
78a809795e
|
Renaming MBC constants
|
2016-07-09 14:45:25 +03:00 |
Lior Halphon
|
b4208be4f4
|
Multiple watchpoints were broken
|
2016-07-09 14:37:11 +03:00 |
Lior Halphon
|
de4983099a
|
Added (conditional) r/w watchpoints. Fixed a bug where breakpoint condition syntax is not checked. Added != operator.
|
2016-07-07 00:29:25 +03:00 |
Lior Halphon
|
19aea4096b
|
Added condition breakpoint. Fixed a possible crash when deleting a breakpoint.
|
2016-07-01 18:24:21 +03:00 |
Lior Halphon
|
8eee70aed9
|
Fixed disassembler bugs
|
2016-07-01 18:04:25 +03:00 |
Lior Halphon
|
79fd9ed6ad
|
Added boolean operators to the debugger
|
2016-07-01 13:12:04 +03:00 |
Lior Halphon
|
70bd90740a
|
Mass name and type changes. Save states are now compatible between 32- and 64-bit systems. Maybe.
|
2016-06-18 20:29:11 +03:00 |
Lior Halphon
|
64832e0e9e
|
HDMA accuracy improvement
|
2016-06-18 16:51:25 +03:00 |
Lior Halphon
|
d58ddef07b
|
Proper initial value for the Joypad register
|
2016-06-18 15:01:51 +03:00 |
Lior Halphon
|
5723b82293
|
Fixed graphical glitches caused by the last change to LCDC emulation
|
2016-06-17 02:27:32 +03:00 |
Lior Halphon
|
e6c4b4d1b2
|
Seems like I forgot to finish implementing the stop instruction!
|
2016-06-14 14:12:13 +03:00 |
Lior Halphon
|
8153b765a2
|
General cleanup. Minor fixes to LCD Controller accuracy.
|
2016-06-12 19:39:05 +03:00 |
Lior Halphon
|
d7d8da3fa9
|
More accurate emulation of the SCX register
|
2016-06-11 17:58:00 +03:00 |
Lior Halphon
|
b7e999b242
|
Modified saved data to be more future-compatible.
|
2016-06-11 17:49:42 +03:00 |
Lior Halphon
|
6c7dd761e2
|
Fixed a crash related to adding and deleting breakpoints
|
2016-06-10 18:03:12 +03:00 |
Lior Halphon
|
ee7e58e44b
|
Fixed a bug introduced by the last STAT fix. This restores GBVideoPlayer support.
|
2016-06-10 17:29:49 +03:00 |
Lior Halphon
|
759b497c07
|
Fixed bug introduced by the stereo support
|
2016-06-10 16:38:20 +03:00 |
Lior Halphon
|
aca5873de2
|
More accurate STAT interrupt. This fixes Altered Space and partially fixes Pinball Deluxe. It breaks GBVideoPlayer, however.
|
2016-06-10 16:31:57 +03:00 |
Lior Halphon
|
6bc64a9902
|
Added stereo support. Correct some PCM register behavior.
|
2016-06-10 15:28:50 +03:00 |
Lior Halphon
|
79e4c22c6b
|
Fixed string in MBC command
|
2016-04-16 15:18:40 +03:00 |