OSSC Pro firmware v0.80

Viewing 15 posts - 1 through 15 (of 17 total)
  • Author
    Posts
  • #67388
    marqs
    Participant

      Firmware version 0.80 has been released:

      * 384p and 768i CRT output presets added
      * Legacy AV options expanded
      * minor fixes related to audio metadata refresh and picture position adjustment

      Download link
      Update instructions

      Note: The following settings have been updated, thus their changes saved using previous firmware versions are not loaded from existing profiles:

      * Output and sampling presets (due to added modes)
      * 240p/288p and 480i/576i mode options  (due to added new presets)
      * CRT output mode and Test pattern mode (due to added new presets)
      * Legacy AV settings except RF options (due to new options)

      #67394
      Steve
      Participant

        Thank you for the update Marqs!

        Saving profiles to SD card seems to hard lock the interface.

        • This reply was modified 2 weeks, 6 days ago by Steve.
        #67412
        Jamie Shaw
        Participant

          Whilst it pleases me that the OSSC Pro is getting ongoing firmware updates, the lack of profile editor like the OSSC has is a bit of a kicker.

          Having spent a good few hours into fine tuning the 20+ profiles for the consoles I have, it’s a pain having to walk them all for the updates. I completely understand why from a binary point of view, but the ability to convert to and from JSON was an absolute life saver—and great for version control of the directory of profiles I have.

          I mean, I’m happy to take a look myself if someone could point me in the right direction.  Building web apps I’m familiar with, but encoding/decoding binaries without some assistance puts me at a non-starter. 😅

          #67415
          Zacabeb
          Participant

            I wholeheartedly agree with Jamie that being able to import/export and convert profiles is becoming a necessity to port settings over from a previous firmware. I’ve resorted to HEX editing in combination with a spreadsheet to import and export timings, but it’s not everyone’s cup of tea.

            From one thing to another:
            After updating to version 0.80, I got the same error as when updating to 0.79 (and it’s probably related to the problem Steve encountered.) After the update, the FAT on the SD card gets corrupted and it becomes impossible to save or load profiles. The SD card then appears unreadable in Windows, or having nonsense files and/or folders.

            I could replicate it with both a 32 GB SanDisk Ultra card and a 64 GB Kingston CANVAS Select Plus card, both fully formatted with the official SD tool. Both were tested both before and after adding back profiles, resulting in the same behavior.

            Removing power to the OSSC Pro and then inserting a freshly formatted SD card seems to fix the issue.

            My guess is that when the SD card IP in the OSSC Pro deletes the firmware source file from the FAT, it affects other data too.

            #67416
            Jamie Shaw
            Participant

              I’ve resorted to HEX editing in combination with a spreadsheet to import and export timings, but it’s not everyone’s cup of tea.

              After I ended up re-doing them all after 0.78, I ended up keeping a spreadsheet too 😅

              It’s a good failsafe, but certainly wouldn’t be as easy as a profile editor, or at least conversion to JSON.

              #67417
              marqs
              Participant

                Those SD issues sound strange. Before each release I run update function several times in series without removing the card and it has never corrupted it (and it’s not supposed to delete the firmware file either). I suppose I need to try some other cards / formatting tools to be able to reproduce the issue.

                #67425
                Zacabeb
                Participant

                  What’s strange is that when it happened with 0.79, after reverting to 0.78 and giving things another go, things started working again and kept working.

                  Now under 0.80, my OSSC Pro consistently fails to write profiles to the SD card without corrupting it while having no problems at all under 0.79. It also doesn’t matter if the card is formatted using FAT32 or exFAT. The FAT can get corrupted so that the card is seen as being unformatted when mounted in Windows or get a nonsensical volume name (e.g. “1A” instead of the initial “OSSC PRO” I give it.) It’s weird.

                  #67426
                  marqs
                  Participant

                    I managed to reproduce the freezing issue, and it seems that it is caused by IO timing changes. There are no functional changes for FPGA bitstream between 0.79 and 0.80 aside added USB timing constraints. However, any change on RTL / constraints makes the implementation tool do full placement & routing, potentially resulting to completely different IO timing. It should still be within defined functional range as no related violations were reported, but it wouldn’t be the first time calculated IO timings differ from reality.

                    I also noticed some issues on the SD card drivers (e.g. data transfer watchdog was not set), but fixing these did not resolve the issue. Unfortunately debugging such timing issues is quite challenging due to the random nature of placement & routing engine.

                    #67438
                    marqs
                    Participant

                      I made some changes on the SD interface which should improve robustness, but these will need to be tested with several Pro units, SD cards and firmware recompilations until conclusion can be made. So far it seems the issues have been caused by hold violations despite timing analyzer always reporting sufficient slack on relevant timing paths.

                      #67444
                      Leminur
                      Participant

                        For the record, I tried using different Kingston and Samsung SD cards with FAT32 and (I tried at least once) exFAT. They all crash OSSC the moment I press a button to save the profile.

                        Nonetheless, I’ve only tested PS2 and it works like a charm. I feel like the picture adjusts faster than before, but only slightly. I use a 3.5mm audio jack, but I haven’t checked for a change yet.

                        I will wait for the changes to be included in the next update for SD card profile management.

                        Nice work! Thank you so much!

                        #67445
                        Leminur
                        Participant

                          I am a web dev myself. I would love to team up to bring a website for easy profile editing for the OSSC Pro. However, I have no idea how the binary code works, so we would need a bit of insight to translate the JSON to something that the OSSC Pro can read.

                          #67458
                          marqs
                          Participant

                            The internal C structs for mode_data_t (used for P-LM presets and A-LM/SCL output presets) and smp_preset_t (used for A-LM/SCL sampling presets) are defined here. The mode_data_t/smp_preset_t arrays are stored in the profile binary after common header and respective item-specific header.

                            When mapping previously saved modes into the preset list of new FW version, one has to assume that mode_data_t/smp_preset_t structure has not changed across versions (so far it has been quite stable) and compare name of each source preset with ones in destination, and only do replacement if they match. That’s something that could also perhaps be done in future firmware version by prompting if user wants to integrate old presets when a version mismatch between firmware default preset list and the one stored into flash/SD is identified.

                            #67459
                            Hojo_Norem
                            Participant

                              I’ve taken a glance at the RISC-V firmware source and it looks like the code that deals with loading / saving to the SD card could be re-written to work with text-based files in addition to the binary ones.

                               

                              I’d take a shot at it myself but my attempts so far at setting up a build environment have failed.  That and I don’t have the licence to build for the de-interlacing IP for the core.  If there was a way to load the RISC-V firmware from SD card and maybe a simple UART, that may reduce the barrier of entry for some people wanting to experiment and contribute to the UI.

                              #67461
                              marqs
                              Participant

                                There are 2 ways to build the firmware without Intel VIP license (will add this info also on README):

                                1. Building it as instructed, in which case the bitstream will be generated for evaluation mode. It can be then programmed with USB Blaster and it is fully operational as long as the programmer is connected.

                                2. Building the image without VIP support. In this case VIP IP blocks need to be disabled on Quartus Platform Designer, and “`define VIP” commented out from rtl/ossc_pro.v and “#define VIP” from software/sys_controller/config/sysconfig.h.

                                It would be relatively easy to add UART on Platform Designer and redirect stdout to it instead of JTAG_UART, but I’d still highly recommend getting USB Blaster (Terasic one) for any development activities. There’s also #ossc-dev channel on Classic Gaming on Discord for in-depth development discussion.

                                #67484
                                tyro_2004_2004
                                Participant

                                  <p style=”text-align: left;”>Thank you Marqs For the .80 Update. But only Works when I take my Micro SD out and keep it out. If I put it back in, my OSSC Pro freezes up. Just thought you should know, thank you for all your hard work sir!</p>

                                Viewing 15 posts - 1 through 15 (of 17 total)
                                • You must be logged in to reply to this topic.