Aaron Culliney
75edac3ace
First cut at implementing conformant video scanner
2018-07-29 18:33:17 -07:00
Aaron Culliney
aa41c89e68
Lite refactor video timing
2018-05-06 10:14:47 -07:00
Aaron Culliney
234caa8c9c
Consolidate hires page write handlers
2018-04-22 08:43:53 -07:00
Aaron Culliney
1de71d1ff4
monocolor mode for LORES
2018-03-31 12:27:50 -07:00
Aaron Culliney
3c04e12db0
Add proper monocolor mode for HIRES80
2018-03-11 16:30:17 -07:00
Aaron Culliney
cedf7b9d0e
Minor clean-up deadc0de in HGR40 generation
2018-03-11 16:28:07 -07:00
Aaron Culliney
dd42645c4c
Silence some Xcode compiler warnings
2018-01-22 07:33:06 -08:00
Aaron Culliney
e4e0c941d3
Refactor CPU assembly for simplicity and efficiency
...
- Variables needed in assembly now accessible in a struct pointer that avoids __PIC__ nastiness
- Reduces code size and execution time for CPU thread
2018-01-15 16:19:21 -08:00
Aaron Culliney
7a99b72f20
Allow different colorschemes with HUD devices
2017-11-11 16:02:38 -08:00
Aaron Culliney
53459c9e78
Clean up a number of Xcode build warnings
2017-09-28 16:27:12 -07:00
Aaron Culliney
b5b79faf1d
First cut at CLI ncurses video renderer
...
- Currently supports 40/80col TEXT modes
- TODO : graphics scaling
2017-09-09 18:06:43 -10:00
Aaron Culliney
ae76537a19
Name colormap indices
2017-09-09 16:53:10 -10:00
Aaron Culliney
861cb3320c
Display further refactored for text mode callbacks
2017-08-15 18:44:49 -10:00
Aaron Culliney
f8b4602fca
Beginning to refactor display and backend video
...
- Futher disentangle display, interface, and video backends
- Backend video owns the staging/intermediate framebuffer for now
- Add the beginnings of display update callbacks
2017-08-06 12:12:12 -10:00
Aaron Culliney
98aecedd65
Null renderer build can now execute tests
2017-07-30 12:42:31 -10:00
Aaron Culliney
3b1c72e872
Excise RELEASE_LOG() and RELEASE_BREAK() macros
...
- LOG() and assert() work just fine ;)
2017-07-15 14:19:31 -10:00
Aaron Culliney
3c1dcd4a69
Refactor to enable loading multiple AV backends
...
- Includes default 'null' backends with lowest priority
2017-07-15 13:25:00 -10:00
Aaron Culliney
31aca92ffd
video flags are unsigned long
2017-05-28 08:47:59 -10:00
Aaron Culliney
b62f5e9e7f
Hackishly enforce determinism to trace testing
2016-07-15 20:28:23 -07:00
Aaron Culliney
76f29d0865
Allow emulator shutdown state to be queried as needed
2016-04-17 12:18:48 -07:00
Aaron Culliney
db816ad502
Refactor Android variant to use common shared JSON preferences
...
- Eliminates a whole bunch of boilerplate setter/getter code in various places
- Accesses preferences directly from JSON data through custom json_parse.h API
- Improves code locality for Java menus/settings
2016-04-11 22:01:30 -07:00
Aaron Culliney
b065da9f4b
Various test suite improvements
...
- Possibly breaking changes for mobile ... #willunbreaklater
2016-03-26 14:56:34 -07:00
Aaron Culliney
74a5b74ae3
Refactor prefs into JSON publish/subscribe API
...
- Breaking changes currently only tested on Linux desktop build =P
- Goal is to eventually eliminate most/many of the disparate getter/setter functions to allow better
modularity/scaling and platform portability
2016-03-26 13:44:13 -07:00
Aaron Culliney
3120b75e00
Enforce module ctor priorities
2016-02-22 22:41:37 -08:00
Aaron Culliney
7ef70e7943
Make use of the video memory dirty bit
2016-02-15 13:30:35 -08:00
Aaron Culliney
829291feba
Refactor all drawing to run on video thread in one scanner pass
...
- Moves extra work off CPU/audio thread
- Prepares the way to possibly remove the vestigal intermediate indexed framebuffer and do direct RGBA_8888 writes
to XImage or OpenGL texture
- Prepares the ground for possible better emulation of video scanner hardware
Conflicts:
src/display.c
src/video/glvideo.c
src/video/video.h
2016-02-15 13:29:58 -08:00
Aaron Culliney
5354b0cfd5
First cut at allowing portrait mode (on mobile devices)
2016-02-14 20:18:07 -08:00
Aaron Culliney
261ae2efae
Refactor to not use video_backend in so many places
2016-02-07 14:42:32 -08:00
Aaron Culliney
5fec80a33a
Refactor video_shutdown() to appease Valgrind
...
- This likely breaks Darwin ports ... will fix soon[ish]
2016-02-07 14:42:28 -08:00
Aaron Culliney
edaae0bc89
Refactor glvideo to be the root glnode, begin to privatize video_backend APIs
2016-02-07 14:42:16 -08:00
Aaron Culliney
f8e4ba3551
FLASHing text is handled by CPU timing and not render loop
2016-01-20 23:17:39 -08:00
Aaron Culliney
edfd5243ff
First cut at LORES80 graphics
...
- This comes with the caveat that all video modes will need to be refactored to take into account proper timing
2016-01-20 23:16:42 -08:00
Aaron Culliney
090f5f4db4
Don't actually draw unless byte written to active page or page was swapped
...
- Avoids "flicker" in 80's apps that use double buffering
- Possibly improves performance since we only take the render hit in page swap (or direct render to visible page)
2016-01-20 23:16:34 -08:00
Aaron Culliney
a8e6f4fc92
Refactor : coalesced text/mixed drawing codepath
2016-01-16 22:05:28 -08:00
Aaron Culliney
8626215205
Silence a number of spurious compiler warnings
...
- Existing warnings are now a good proxy for areas of code smell ;-)
2016-01-10 12:09:04 -08:00
Aaron Culliney
4436b9b7ca
Fix semi-opaque glyph shading with scales > 2
...
- Also add defensive coding in debug builds
2016-01-05 23:04:27 -08:00
Aaron Culliney
b9d6d38b17
First cut at save/restore emulator state feature
...
- This adds to overall UX ... (you can finally finish some very difficult arcade games by strategically leveraging
this feature)
- Currently enabled for Android, but not Android-specific
2015-11-22 18:22:01 -10:00
Aaron Culliney
616428a03f
Slightly improved DHIRES colors
2015-10-26 23:11:29 -07:00
Aaron Culliney
2cc23cf35d
Upgrade to GPLv3 "or later" and update copyrights
2015-10-22 21:09:13 -07:00
Aaron Culliney
ed60b2ea73
Refactor VM initialization and shutdown
2015-09-11 23:03:17 -07:00
Aaron Culliney
2c97f7af19
Excise HEADLESS ... it was only being used by testcpu
2015-09-06 17:14:38 -07:00
Aaron Culliney
7d4b63e12d
Refactor : move reinitialize() to timing module and make static (mostly)
2015-09-06 14:05:18 -07:00
Aaron Culliney
a031a23999
Add a video_clear() routine
2015-08-20 22:12:54 -07:00
Aaron Culliney
7ca4a2646d
Optimize video drawing and API cleanup
...
- Enforces synchronized access to video dirty bit
2015-07-12 14:13:13 -07:00
Aaron Culliney
6a453c3973
Don't exit in video_shutdown()
2015-05-31 11:25:23 -07:00
Aaron Culliney
bcb36a4801
add codepath for RGBA_4444 textures
2015-05-30 18:58:34 -07:00
Aaron Culliney
cb72d483c0
Refactor INTERPOLATED_PIXEL_ADJUSTMENT calculations just to codepaths actually touching the internal framebuffers
2015-05-29 21:47:49 -07:00
Aaron Culliney
aee1111cb0
Better derivation of framebuffer macros
2015-05-29 21:46:37 -07:00
Aaron Culliney
1ca1e7d2cc
Use parens around SCANSTEP macro
2015-05-29 21:46:14 -07:00
Aaron Culliney
1506aba551
Refactor: rename to video_reset() for clarity
2015-05-29 21:46:07 -07:00