Commit graph

118 commits

Author SHA1 Message Date
devinacker
56e46914ae ensure proper encoding when printing to debugger 2018-06-21 00:45:16 -04:00
devinacker
2200b08506 merge new tile viewer window (closes #145, #62) 2018-05-09 22:01:02 -04:00
Marcus Rowe
0752089351 Add more sources to the Tile Viewer 2018-05-07 20:13:42 +10:00
Marcus Rowe
3baf50c689 Fix form not updating when cartridge is not loaded 2018-05-07 18:33:12 +10:00
Marcus Rowe
8c66734c11 Add Mode 7 EXTBG format to the PPU Debugger 2018-05-07 18:21:53 +10:00
Marcus Rowe
6acb760664 Fix missing size check on selectedFiles list
(selectedFiles should always contain one element, but it is better to be
safe then sorry)
2017-11-02 15:00:45 +10:00
Marcus Rowe
e121885aea Add next/prev address buttons to Tile Viewer 2017-10-30 23:49:52 +10:00
Marcus Rowe
7e70c87487 Add address offset to VRAM source in the Tile Viewer 2017-10-30 23:03:38 +10:00
Marcus Rowe
d4a3dba81e Tile Viewer goto buttons now set bit depth
The goto buttons do not set the Bit Depth in mode 7 as the game could be
changing the screen modes mid frame.
2017-10-30 22:08:34 +10:00
Marcus Rowe
a0ad336236 Optimize Tile/Tilemap Viewer sidebar signals
This commit reduces the number of times the refresh() slot is called in
the Tile Viewer and the Tilemap Viewer.

The `inUpdateFormCall` flag is still required because the QSpinBox and
CgramWidget does not have any "user edited value" signals.
2017-10-30 21:56:43 +10:00
Marcus Rowe
003e54e113 Disable refresh when the export dialog is open 2017-10-30 20:46:01 +10:00
Marcus Rowe
cc38bdf81a Add CPU Bus to the Tile Viewer 2017-10-30 14:36:41 +10:00
Marcus Rowe
d937289a1c Add Tile Viewer Window 2017-10-29 21:22:42 +10:00
Marcus Rowe
47cb9d9b29 Move low-level functions from TilemapRenderer into a base class 2017-10-29 19:23:23 +10:00
Marcus Rowe
bdd9db21c8 Override the background color in the Tilemap Viewer 2017-10-29 16:06:25 +10:00
Marcus Rowe
76938fecbe Add export tilemap button to TilemapViewer 2017-10-28 15:14:54 +10:00
Marcus Rowe
ee89171d53 Keep QImage in TilemapRenderer when drawing tilemap
This commit will allow the image created by drawTilemap() to be
accessed multiple times.

It will also save a memory allocation if the image size does not change
in-between two drawTilemap() calls.

The low-level tile drawing functions keep wordsPerScanline as a function
argument in order to save 1024 function calls per map drawn (16K calls
for a mode7 map).
2017-10-28 14:53:17 +10:00
Marcus Rowe
5a5b3db110 Use QRgb instead of uint32_t for rgb color data 2017-10-28 14:30:50 +10:00
devinacker
2713cfbaa0 fix superfx trace logging
(and also fix a boneheaded copy/paste mistake with the superfx trace
mask)
2017-09-30 03:45:55 -04:00
devinacker
e99e45fdbf formatting cleanup 2017-08-29 19:40:00 -04:00
Marcus Rowe
9271b7f2e7 Fix CgramWidget selected outline
Previously the CgramWidget would render the selected color outline as a
17% white, 83% black dashed line on Qt5 with a QT_SCALE_FACTOR of 2.

This commit changes the CgramWidget so that the selected color outline
is drawn as a 50% white, 50% black dashed line, independent of the
device pixel ratio.
2017-06-06 17:57:43 +10:00
Marcus Rowe
75bfb8ba7f Correctly draw selected cell border in ImageGridWidget
This commit also fixes a glitch in Qt5 where the outline of some
selected TilemapViewer cells were not rendered correctly if the zoom was
set to a prime number.
2017-06-06 17:44:32 +10:00
Marcus Rowe
9965d45a4e Use cosmetic QPen in ImageGridWidget
This is the proper method of drawing lines with a constant width that is
independent of the QPainter transformation.
2017-06-06 17:43:27 +10:00
devinacker
88217f4c6c fix buggy/unsafe breakpoint string split when loading 2017-05-14 03:16:48 -04:00
devinacker
90026a5103 force debug window visible on debugger events 2017-04-24 23:56:31 -04:00
devinacker
e4c125b1c8 allow saving/reloading breakpoints between sessions 2017-04-24 23:53:53 -04:00
devinacker
28a0bed5d1 tweaking command line breakpoint syntax
(allows specifying a data value as well as an empty mode string for
disabled breakpoints)
2017-04-23 15:58:47 -04:00
Marcus Rowe
0351da7b31 Fix grid pen width in ImageGridWidget for Qt5
Qt5's default pen width is 1.0 and therefore the grid line thickness
increases when zooming in.

This commit changes the grid pen width to the inverse of zoom so it is
rendered same thickness independent of the zoom setting.
2017-03-18 18:21:35 +10:00
Marcus Rowe
6faffa76f6 Fix drawSelectedCell for hi-dpi displays
Optiroc has mentioned that the selected tile box's position and size is
multiplied by two on his Mac. This is caused by either
`painter->combinedTransform()` returning the wrong value for hi-dpi
displays or `painter->resetTransform()` not working as expected on
hi-dpi displays.

The new code does not call `painter->resetTransform()` but instead sets
the pen width and cell adjust to the inverse of the zoom, which cancels
out the transform and should render as one pixel to the user.
2017-03-17 23:30:46 +10:00
Marcus Rowe
62b4b4aff9 Add tile properties for selected tile in Tilemap Viewer 2017-03-16 21:42:56 +10:00
Marcus Rowe
9b146b4235 Add grid cell selection to ImageGridWidget 2017-03-16 20:41:47 +10:00
Marcus Rowe
f13c9a894f Add optional grid to Tilemap Viewer 2017-03-16 20:16:52 +10:00
Marcus Rowe
485669e73d Disable TilemapViewer addr/size textboxes when in Mode 7 2017-03-16 19:02:06 +10:00
Marcus Rowe
113da8ea29 Simplify code for TilemapViewer sidebar 2017-03-16 19:00:40 +10:00
ARM9
1575fc0303 Fix cgram-viewer RGB display values
Used to display color values shifted right by 3, now displays the correct
5-bit values.
2017-01-08 19:14:35 +01:00
devinacker
8cead80154 don't mistakenly enable trace mask automatically 2016-12-14 21:01:11 -05:00
devinacker
e35e2509f2 make SA1/superfx trace masks the correct size
fixes #91; i'm shocked it took two years for this copy/paste mistake to
get noticed by anyone
2016-12-13 00:14:46 -05:00
devinacker
68ada568c3 fix funky wrapping bug in memory search
fixes #56
2016-11-20 01:33:56 -05:00
devinacker
f8b36f4e55 reset emulation speed when breakpoints occur 2016-11-19 22:22:02 -05:00
devinacker
58e8474fa8 show instruction when a PPU breakpoint occurs 2016-11-19 16:07:36 -05:00
devinacker
758363b890 small cleanup 2016-11-19 00:04:53 -05:00
Marcus Rowe
9eabab41ac Add Mode0 palette offset to TilemapRenderer 2016-11-17 23:35:55 -05:00
Marcus Rowe
baa6721a70 Load data from PPU interface into TilemapRenderer 2016-11-17 23:35:55 -05:00
Marcus Rowe
f1e7f42ac3 Add Mode 7 to Tilemap Viewer 2016-11-17 23:35:55 -05:00
Marcus Rowe
d2e6efd105 Fix 16px tile bug in TilemapRenderer 2016-11-17 23:35:54 -05:00
devinacker
b63f50f3cd Revert "get tilemap viewer info from PPU interface"
This reverts commit c50526eb66.
2016-11-17 23:35:54 -05:00
devinacker
c50526eb66 get tilemap viewer info from PPU interface 2016-11-16 23:54:31 -05:00
Marcus Rowe
71976a62f7 Rewrite TilemapRenderer to draw one tile at a time 2016-11-17 04:05:06 +10:00
Marcus Rowe
2afe07b663 Add Tilemap Viewer Window 2016-11-16 17:39:11 +10:00
Devin Acker
2db8f57542 Merge pull request #79 from undisbeliever/update-debugger
Fix typo that prevented OamCanvas from auto-updating
2016-11-15 08:39:34 -05:00