Commit Graph

289 Commits

Author SHA1 Message Date
marqs de1b441167 fix SD profile import and use default 480p preset for TP 2023-04-18 23:14:30 +03:00
marqs c5f7483410 fix H.backporch range 2023-03-30 00:55:16 +03:00
marqs 3a17642d5b update generated files for v1.01 2023-03-13 21:51:40 +02:00
marqs d57a44131a update menu and avconfig structures 2023-03-13 21:49:24 +02:00
marqs 0839e118ad update video mode selection and processing
Updated mode detection to be based on new TVP7002 frontend, and integrated Pure-LM functionality and processing from OSSC Pro.
2023-03-11 12:45:19 +02:00
marqs 86c3f744ed update programming files / scripts
* do not generate .map file for .jic
* wait for USB Blaster if needed when reprogramming SW
* set correct bit to halt pulpino core before writing image
2023-03-11 12:36:18 +02:00
marqs df643ec742 improve TVP7002 frontend sync detection
Store csync leading edge position so that field change timing can be calculated accurately upon VSYNC detection
2023-03-11 12:32:26 +02:00
marqs a825bb048c pcm1862: add mono mode support 2023-02-28 19:41:11 +02:00
marqs 804642bd98 integrate RTL from ossc_pro project 2023-02-28 19:39:59 +02:00
marqs 94c0526265 update project configuration and IP files 2023-02-13 18:55:14 +02:00
marqs a8a3142071 add sync activity detection on tvp7002 frontend 2023-02-13 18:53:20 +02:00
marqs 02b2495221 update tvp7002 driver for external sync processing 2023-02-13 18:51:39 +02:00
marqs 76da437125 integrate new tvp7002 frontend 2023-01-31 20:51:06 +02:00
marqs aa4beec957 bump sys_ctrl register to 32bit 2023-01-31 20:50:33 +02:00
marqs db1cf5922f tvp7002 related robustness improvements
* bypass VSYNC processing
* enable raw SOG/HSYNC output
* add frontend RTL to read status from unprocessed signals
2023-01-31 20:49:08 +02:00
marqs fd37e4275b update to Quartus 21.1 2022-12-27 14:59:47 +02:00
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
marqs 20a5696977 rename "256x240 aspect" option values 2021-07-31 18:12:07 +03:00
marqs dfedb850a3 pcm1862: support PCM1864/1865 as potential alternatives 2021-07-31 18:10:53 +03:00
marqs 8b7258fa9e update Codelite workspace config 2021-07-31 18:08:16 +03:00
marqs f37f0e706e enable bitstream compression within .jic 2021-07-31 18:07:11 +03:00
marqs 73dd1963b9 update to Quartus 20.1.1 2021-07-31 18:06:21 +03:00
marqs 20ac572baf Merge branch 'megari-release_userdata_export_fat16' into release 2020-11-27 23:33:44 +02:00
marqs 1ab1636619 Merge branch 'release_userdata_export_fat16' of git://github.com/megari/ossc into megari-release_userdata_export_fat16 2020-11-27 23:09:46 +02:00
Ari Sundholm 0abb7e9bb3 menu.c: Fix a typo in a Japanese translation.
This looks like a simple case of mistyping the ヲ particle, denoting
the object in the menu title.
2020-11-26 01:24:49 +02:00
Ari Sundholm 58d81cbc5f menu.c: Translate name of Settings opt menu to Japanese. 2020-11-26 01:24:49 +02:00
Ari Sundholm 6542ecaae1 Userdata export: Translate status and error messages to Japanese. 2020-11-26 01:24:49 +02:00
Ari Sundholm 709187bb43 Userdata export: provide Japanese translations for prompt.
Checked with a native speaker working in the software industry.
2020-11-26 01:24:49 +02: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 2e7141c3b2 update 384p preset params to avoid conflict with PC88/98 modes 2020-11-17 17:40:23 +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 b68b586ec8 Userdata export: Shrink the warning message code a bit. 2020-11-08 23:09:58 +02:00
Ari Sundholm 8df33bb364 Show warning message before exporting to SD card. 2020-11-08 17:39:26 +02:00
marqs 2a24eb8dd7 Merge branch 'megari-release_userdata_export' into release 2020-11-08 16:02:28 +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
Ari Sundholm 53eedc9d08 sys_controller/Makefile: Add -flto to compiler/linker flags.
This can (and does) considerably reduce the size of the resulting
binary, and as a bonus, the binary also does work. ;)
2020-11-06 15:04:21 +02:00
Ari Sundholm 0b495b234c altera_epcq_controller_mod.c: Fix faulty read/write end address check.
In the Flash info structure, the field containing the end address of
the Flash storage is documented to be non-inclusive.

However, when this field is compared to the end address of a read or
write, which is also non-inclusive, it is considered an error that
these two values match, which is incorrect, as this would error out
on an attempt to fully read/write the last page.

Fix this by simply changing the >= comparison into a > one.
2020-11-06 14:55:56 +02:00
Ari Sundholm af1f8a20d4 ulibSD/sd_io.c: Fix line endings to be consistently CRLF. 2020-11-05 19:11:04 +02:00
Ari Sundholm 598705c7fa ulibSD/sd_io.c: Fix writing to SD card.
There were a few things wrong with the SD card write implementation:
1. The protocol change regarding the interpretation of offsets
   introduced with SDHC cards was not taken into account in the write
   path, unlike in the read path.
2. All SPI writes involved in the process were actually issued as reads
   due to the use of the SPI_RW() function, the implementation of which
   seems to have gone through some churn. Likely just an instance of
   bit-rot.
2020-11-05 19:11:04 +02:00
Ari Sundholm 556140dd62 i2c_opencores.[ch], spi_io.[ch]: Improve const correctness. 2020-11-05 19:11:04 +02:00