Commit graph

48 commits

Author SHA1 Message Date
JetSetIlly
b4b6d9c9c1 new default CRT options
1) shadow mask disabled
2) rounded corners enabled
3) shine enabled
2023-05-19 22:00:04 +01:00
JetSetIlly
96a389e9ab improved VSYNC counting
number of scanlines of VSYNC is now part of the FramInfo type. it is
used in the screen implementation to help decide whether to
desynchronise the screen

added sync sensitivity preference and additional control in the
preferences window
2022-10-20 21:37:55 +01:00
JetSetIlly
d3982529fc implmented simple TV bevel and screen shine effect 2022-08-28 21:34:51 +01:00
JetSetIlly
ca9b0e60d3 rounded screen edges in CRT shader
scaled black level values by +5%
2022-08-18 18:50:29 +01:00
JetSetIlly
43dcc085f0 screen roll now connected to VSYNC rather than change of Hz
clearer policy for setting of refresh rate

FPS display in playmode displays icon to indicate no VSYNC. removed
"atari safe" message (nice idea but requires work)
2022-08-03 22:51:21 +01:00
JetSetIlly
02ee0d61b5 added IntegerScaling CRT option 2022-05-08 19:08:09 +01:00
JetSetIlly
720f59c64b nil point dereference in cartridge loading fixed
this would be happen when supercharger failed to load due to a missing BIOS file
2022-01-29 18:39:17 +00:00
JetSetIlly
15f50964dd corrected how playscreen draws unstable frame
added Sync On Power option to CRT preferences. this causes the screen
roll during the ROM startup sequence
2022-01-27 20:32:24 +00:00
JetSetIlly
89191d9a5a clarified some preferences concepts
set defaults for revisions, rewind and ARM tabs of the prefs window (in
addition to the CRT tab). set defaults button labelled appropriately

fixes some race conditions caused by pre/post hooks on prefs values -
prefs values are generally goroutine safe, except when pre/post hook is
defined
2021-12-05 20:17:43 +00:00
JetSetIlly
c01da89970 increased range in GUI for scanline sync speed
updated prefs label to clarify the intent of the value
2021-11-20 15:21:24 +00:00
JetSetIlly
c7df494261 added scanline / shadow mask intensity. removed "brightness" setting.
reduced intensity of the interference effect
2021-10-23 15:57:10 +01:00
JetSetIlly
18749dcc93 CRT interference effect
added Interference CRT preference including preferences window

CRT tab now has a set defaults button
2021-10-08 20:00:56 +01:00
JetSetIlly
81ff2a4b15 added CRT black-level preference 2021-10-04 06:11:42 +01:00
JetSetIlly
e5bd938b41 renamed paths package to resources package
ResourcePath() is now called JoinPath()

UniqueFilename() moved to a new package named unique and renamed to
Filename()
2021-10-03 13:32:08 +01:00
JetSetIlly
0025d2ee3a refined how ResourcePath in paths package works
now works more like the standard filepath.Join() function
2021-10-03 13:32:08 +01:00
JetSetIlly
c6a859d1c6 renamed bilinear filter to ghosting filter
ghosting filter is now only applied horizontally

added ghosting options to CRT preferences
2021-07-20 22:17:46 +01:00
JetSetIlly
e60e8f2767 default unsync tolerance is now 2 frames 2021-07-03 10:58:11 +01:00
JetSetIlly
c3d9cc6b0b Screen Roll/Unsync tolerance definable in CRT Prefs window 2021-06-27 18:20:35 +01:00
JetSetIlly
be7396458f added scanlines/shadowmask fine controls
altered limits in GUI for scanlines/shadowmask brightness
2021-06-14 09:54:39 +01:00
JetSetIlly
9ac1a7cf50 CRT image sharpness control
update CRT prefs screenshot for README
2021-06-07 09:50:06 +01:00
JetSetIlly
df7180bc25 phosphor bloom now editable in prefs window
definable fade when CRT effects are disabled
2021-05-01 19:53:20 +01:00
JetSetIlly
9181205399 phosphor will work even without CRT effects
more work to make the preferences surrounding this more logical
2021-05-01 19:53:20 +01:00
JetSetIlly
07240c6082 curve amount adjustable
color aberration effected by curve

blur textures clamped
2021-05-01 19:53:20 +01:00
JetSetIlly
157784e101 CRT effect refinement
bluring renamed to fringing (more accurate)

scanlines and fringing are now curve sensitive

some preferences are now working correctly - not complete
2021-05-01 19:53:19 +01:00
JetSetIlly
fbe4ba5bd8 added flicker CRT preference 2021-05-01 19:53:19 +01:00
JetSetIlly
96b4fc7da9 readded dbgscr shaders. including overlay shader.
elements texture is now drawn (debugcolours) instead of the main dbgscr,
rather than overlaying it.
2021-05-01 19:53:19 +01:00
JetSetIlly
67a1f43104 shaders are now imported using the Go embed system
rather than pass configuration details to the shader, different shaders
will be run depending on the configuration. this will make for simpler
shaders and less room for error.

CRT shaders not currently active while we figure out how to do this
properly by chaining fragment shaders.
2021-05-01 19:53:19 +01:00
JetSetIlly
e1ed563ea9 overlay selection is now in a popup
added colour key. potential for much more information.
2021-02-26 14:22:19 +00:00
JetSetIlly
d6463e0dae lint errors 2021-02-24 06:59:30 +00:00
JetSetIlly
84372f6bc5 crop guides in debug screen refined
more pleasing colour and are now drawn on the outside of the boundary
and not the inside of the bounday. as it was, the guide could obscure
pixels drawn on the very edge of the screen.
2021-01-19 17:34:43 +00:00
JetSetIlly
ce7d724a02 fixed lint errors 2021-01-19 10:03:27 +00:00
JetSetIlly
e3bb2b023e television resizing less aggressive
resizer counts N frames (currently 5) before committing to a resize.
this gives the ROM change to expand the screen slowly without any visual
side-effect. the supercharger BIOS expands noticeably without this
mechanism.

fixed off by one error for Ladybug and Hack'Em Pacman (and probably
others)

missing doc files for crt and crt/shaders packages
2021-01-18 23:37:57 +00:00
JetSetIlly
a3c0fca9f9 fixed blur in playmode
broken in 364fef5228

tweaked phosphor strength in fragment shader
2021-01-18 13:47:48 +00:00
JetSetIlly
7060d09603 phosphor now appears in CRT preferences preview image
preview image in CRT prefs window is now draggable

reworked glsl and fragment shader to clarify some concepts
2021-01-12 23:34:58 +00:00
JetSetIlly
7b7f046342 crt prefs shows descriptive values instead of numeric values
tweaked default values for crt
2021-01-11 17:40:52 +00:00
JetSetIlly
ae9bc23836 fixed fragment shader for MacOS
shaders are no self contained and compilable with glslangValidator

glsl constants extracted from shader source by go generator
2021-01-11 06:42:44 +00:00
JetSetIlly
7b6fc85959 added phosphor effect to CRT emulation
removed imput/output gamma preferences

removed scanline/shadowmask scaling preference
2021-01-10 21:03:50 +00:00
JetSetIlly
b16b59291a television pauses rendering on rewind
replacement for GuiStateRewinding request removed in previous commit

particularly effective when rewind snapshot frequency is greater than
one frame

colorterm should now work correctly with RawEvents and RawEventImm (I
don't really use colorterm anymore but this corrects an oversight)
2021-01-03 11:39:27 +00:00
JetSetIlly
c22caf852b CRT blur (very basic chromatic aberration)
blur options added to CRT prefs window

CRT prefs now accessible from playmode (F10)
2021-01-01 14:29:46 +00:00
JetSetIlly
c25f7aec4d removed "animated" screen cursor effect from debugger
it does not play nice with the new delay procedure in the service loop
2020-12-30 20:45:07 +00:00
JetSetIlly
2b75a50b8d shader generator outputs constants in sorted order
stops "go generate" from producing an altered file when in fact nothing
has changed.
2020-12-30 20:45:07 +00:00
JetSetIlly
2c5cf7f79a CDF format. support for all versions except CDFJ+
DPC+ updated to support changes to ARM package

PlusROM host/path detection size limited
2020-12-30 20:45:07 +00:00
JetSetIlly
17d743632d updated README
added CRT prefs screenshot
2020-11-28 19:17:29 +00:00
JetSetIlly
cbe351c33d go constants inserted into generated glsl
makes code clearer and less likely to be wrong
2020-11-28 12:50:30 +00:00
JetSetIlly
0e4737b326 rework of sdlimgui package
removed options related to setting scale of debug/play window
    - can be done more effectively window controls

preference initialisation for debug and play modes is more clear
    - removed errant playmode setting (terminalOnError - not applicable)

simplified window management

nicer feedback on rewind slider
2020-11-27 18:31:23 +00:00
JetSetIlly
38f5a77df9 crt preferences window shows scaled image of CRT
added mask/scanlines scaling option

default noise level reduced

reduced noise level range in preferences window
2020-11-20 15:11:11 +00:00
JetSetIlly
d110a08a64 logging of rewind boundary events
result of changing rewind maxentries value displayed correctly in win_control

timer randomised on startup (if preference selected)

changing symbols preference updates disasm window vertical alignment

file selector:
    - scrolls to top on directory change
    - centres on current ROM when first opened

help note for the -state flags (REGRESS ADD)

changed default window position for timer window
2020-11-19 08:21:28 +00:00
JetSetIlly
65c149c934 added crt preferences 2020-11-18 23:01:06 +00:00