Commit Graph

80 Commits

Author SHA1 Message Date
marqs e1fbd4ad36 more fixes to settings import/export 2022-02-20 11:38:49 +02:00
marqs 101a23bdb5 Export settings fixes and improvements
* fix compatibility with Windows
* add RAW export option
2022-01-08 15:26:08 +02:00
marqs cbe2611471 fix OSD size in interlace passthru mode 2021-07-31 18:13:22 +03:00
Ari Sundholm 760be1738e Userdata export (FAT16): Optimize code size.
Reorganize the and optimize the code to avoid redundant code and thus
reduce code size, while making sure to zero-initialize the used areas
on the SD card. These are the "clean" part of this change.

The "dirty" part:
Optimize the FAT16 export code further by introducing small deviations
from the FAT16 specification. These deviations should not be harmful
at all, unless the SD card is used for something requiring the jump
instruction and/or boot code in the boot sector to be valid. This is
typically only required when booting off the filesystem.

After these changes, a considerable reduction in code size can be
observed for sys_controller.elf and sys_onchip_memory2_0.bin:

sys_controller.elf:
   text	   data	    bss	    dec	    hex	filename
  32392	   2936	   2652	  37980	   945c	sys_controller.elf

sys_onchip_memory2_0.bin:
size: 35328 bytes

This reduces the cost of the FAT16 export feature to 446 bytes.
2020-11-24 23:50:05 +02:00
Ari Sundholm 12436a3d3f Userdata export: Fix remaining regressions in FAT generation. 2020-11-24 23:50:05 +02:00
Ari Sundholm c5c3d28b48 Userdata export: Fix regression in generating FAT in multiple steps. 2020-11-24 23:50:05 +02:00
Ari Sundholm 67a64693c1 Userdata export: Zero out whole FAT area and handle SD write errors. 2020-11-24 23:50:05 +02:00
Ari Sundholm 8068542da1 Userdata export: export settings on a FAT16 filesystem. 2020-11-24 23:50:05 +02:00
marqs 015f63ddff display profile name on infoscreen 2020-11-10 20:09:18 +02:00
marqs 6666db3ea2 Merge branch 'megari-release_userdata_export' into release 2020-11-10 19:56:19 +02:00
marqs 238cf0b285 update epcq_controller_mod to epcq_controller2 2020-11-10 19:46:07 +02:00
Ari Sundholm 89bc3f35e7 Userdata export: Reduce image size by 20 bytes.
Replace an array of const char* literals with a single const char*
literal containing all the messages in the rotating prompt and an
array of alt_u8 containing the offsets of each message within the
literal.

This ends up yielding a larger size reduction than expected, a
healthy 20 bytes, despite a meager 8-byte difference in the size
of local variables and slightly more complex pointer math in
calculating the address of the current message within the string
literal.
2020-11-09 19:12:41 +02:00
Ari Sundholm 32bbc49bf0 Userdata export: Fix menu behavior, particularly with the OSD.
The behavior of the menu option was all over the place, and would
easily leave the OSD in a weird state, requiring the user to blindly
do something that completely redraws the OSD.

Fix this by making the behavior similar to that of the userdata import
feature, with the difference of giving a more specific error message
when something goes wrong.
2020-11-07 01:39:06 +02:00
Ari Sundholm b890446e3d Implement userdata export.
A very simple implementation, as we are very short on remaining
block RAM. Simply blindly copies the entire userdata area to the
SD card. This may subject the SD card to some extra wear, as well
as potentially read-disturb some Flash memory pages, but this would
require more code.
2020-11-06 15:06:29 +02:00
marqs 124bcc8df8 Fix profile import 2020-11-01 14:32:28 +02:00
marqs 9c5e7b5b83 advanced OSD implementation 2020-10-05 23:05:43 +03:00
marqs 4b179d2077 Revert "Add a 2x by 3x line3x mode for the PSP's 480x272."
This reverts commit 2995f43728.
2020-06-17 02:25:31 +03:00
marqs aa7a92e130 use dash to represent total line count, e.g. 262-p 2020-06-17 02:22:24 +03:00
Russell Harmon 2995f43728 Add a 2x by 3x line3x mode for the PSP's 480x272.
Temporary commit, I don't want people to use this mode until I can
implement 3x by 3x line3x.
2020-06-14 09:54:14 +00:00
marqs b1892079d8 select 576p / 800x600 preset based on refresh rate 2020-04-28 22:31:57 +03:00
marqs a076c6d2db update quartus to 19.1 2020-02-09 21:28:24 +02:00
marqs aeb164dd2f increase OSD width in line4x and 5x modes 2019-10-15 20:18:44 +03:00
marqs 85c295c5e2 make pll_reconfig more robust 2019-10-12 22:56:10 +03:00
marqs 8e7236dc00 timing optimizations 2019-10-10 01:00:48 +03:00
marqs 3771d5cb14 fix OSD size in certain modes 2019-10-08 01:08:18 +03:00
marqs 9d496383c3 optimize clock network
* replace all clock muxes with a single cycloneive_clkctrl to minimize skew
* use a single dynamically configured PLL to comply with cycloneive_clkctrl
2019-10-06 23:54:32 +03:00
marqs 6266976114 first OSD implementation 2019-10-03 02:03:43 +03:00
marqs aa43991534 add mask color option 2019-09-30 19:31:05 +03:00
marqs 1d7f512172 add 384x240 optimized mode 2019-08-30 00:29:30 +03:00
marqs 52e8493873 fix audio infoframe content to comply with HDMI spec 2019-08-24 10:54:13 +03:00
marqs 4a686da462 improve 400p support
* 400p in sampler option
* 1600x400 preset for line3x
2019-08-03 01:29:24 +03:00
marqs 5e0277fb48 add Panasonic hack for improving line count tolerance with line2x 2019-07-01 19:15:57 +03:00
marqs f0a14679d9 make H. samplerate fine-tuning more intuitive 2019-06-25 00:23:45 +03:00
marqs 3d49b74667 add auto YPbPr CSC option 2019-05-11 13:51:29 +03:00
marqs 125814225f make sampling phase mode-specific 2019-05-08 00:05:16 +03:00
marqs 9e81fb5922 Scanline updates and fixes
* Enable overlay pattern customization
* Fix non-alternating mode with line4x interlace sources
* Add alternate interval option for pre-linedoubled sources
2019-03-23 00:09:46 +02:00
marqs 2bac00fd82 TX improvements
* tweak audio parameters
* set AFE level based on PCLK
2019-01-11 00:26:40 +02:00
marqs 978ac04a43 add name to profile struct 2018-11-03 18:28:30 +02:00
marqs 76d69d19bf switch to RV32E 2018-10-30 01:31:40 +02:00
marqs 525c08a777 fix debug mode printf 2018-10-21 00:04:46 +03:00
marqs 055a794b5e move bitswap inside epcq_controller driver 2018-10-09 23:16:37 +03:00
marqs 7914a2ee83 clean up and update README 2018-10-08 00:37:42 +03:00
marqs 4676cbd2f0 integrate zero-riscy 2018-10-06 13:19:12 +03:00
marqs 22e49300df fix line2x reverse LPF trigger 2018-04-18 23:14:24 +03:00
marqs 37650ca22b misc improvements
* add character LCD backlight timeout option
* increase h.mask range
* show accurate (fpga-calculated) timings on infoscreen
2018-03-28 20:09:40 +03:00
marqs 9ad696dbc3 optimize away one pp stage and unify code formatting 2018-03-12 01:25:23 +02:00
paulb-nl 990bc1563e Add Scanline contrast
Reduce scanline strength for bright pixels
2018-02-24 21:56:18 +01:00
marqs bee64c6fbc allow profile link (to each logical input) via a menu option 2017-12-11 00:51:50 +02:00
marqs a24d6b0e3a Update latency tester
* Enable operation with all sources
* Measure strobe length on low-persistence displays
2017-10-28 12:10:54 +03:00
marqs 1bf279b2a7 Initial latency tester implementation 2017-10-22 22:45:29 +03:00