Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Goran Mahovlic
    @goran-mahovlic
    I think 60 is standard
    the thing is that if you are input device you need to provide EDID info over I2C to device that will then send picture on resolutions you are supporting
    in the code I ave send you edid.rom will "offer" 640x480x60
    you can also use for example raspberry to some other resolution and disable EDID check
    that way you can maybe get bigger resolutions, but main thing is to somehow get sync
    Andrew E Wilson
    @AEW2015
    Yea I played around with edid files to get weird resolutions and framerate.
    Goran Mahovlic
    @goran-mahovlic
    great, that will be useful :)
    headkaze
    @headkaze
    hey @goran-mahovlic any update on the MIDI pmod?
    kost
    @kost
    it is basically bugfix release which we identified in this period.
    kost
    @kost
    @pnru_gitlab I have also updated README for Mac and fixed kext handling that it removes kext properly (it was bug in uid detection)
    thanks on your suggestions!
    emard
    @emard
    @lawrie can struct termios, timespec go to system include, I want same source of tetris be compiled with gcc and lcc and work. I may use timespec ns in lowest 32-bits, and wish if this can be source level compatibe between lcc and gcc
    Goran Mahovlic
    @goran-mahovlic
    @headkaze TX did not work with my cheap USB to midi, so I ordered different resistors that should make it work as we are using 3.3V - and resistors arrived few days ago - so will try to test soon if it works now...
    Goran Mahovlic
    @goran-mahovlic
    @headkaze I did change resistor, but still no luck
    connection.png
    that is current output from PMOD
    and if I pass input to output - and assign leds to both - on ULX3S TX and RX leds are blinking
    when I play some sample on computer that has cheap USB MIDI connected
    And IN led on this adapter never starts to blink
    Lawrie Griffiths
    @lawrie
    @emard there is a new version in Smp/images/riscv32_lcc.tar.gz. I have not tried for completeness, just included the things we have used so far.
    Goran Mahovlic
    @goran-mahovlic
    @headkaze found it! on board I have inverted 3.3V and OUT line
    now it it blinking - will check how I can fix this
    emard
    @emard
    @lawrie I will also need tv_nsec to wraparound at 1s because at linux its used as fractional ns, representing fixed-precision decimal number
    Lawrie Griffiths
    @lawrie
    @emard Not sure what you mean. What function are you referring to?
    Goran Mahovlic
    @goran-mahovlic
    sxpert
    @sxpert
    I read about very simple code to use the ram ?
    headkaze
    @headkaze
    Thanks for looking into it @goran-mahovlic
    Goran Mahovlic
    @goran-mahovlic
    @headkaze updated
    @headkaze I did manage to get MIDI PMOD to work - but do not have any time this week to make a new one - I do have all parts so next week I could probably send to you for detailed inspection :)
    emard
    @emard
    @lawrie so far all functions I used on PC linux work the same on saxonsoc. I will take latest lcc release and check is everything ok still
    mara
    @vmedea
    is saxonsoc what most people here use for RISC-V Linux on the ULX3S board?
    emard
    @emard
    @vmedea yes yes, I'm working on tetris application :)
    @lawrie greal, lcc has termios and timespec in the includes!!!
    mara
    @vmedea
    neat :)
    Lawrie Griffiths
    @lawrie
    @vmedea There is also Vexriscv LiteX Linux, which uses the same Riscv CPU (written by @Dolu1990 in SpinalHDL), but uses a Wishbone bus and the Litex peripherals, written in the python-based migen language. I think the issue with the Litex version is that not as much work has been done to support the Ulx3s board and all its hardware. It did not support the SD card and flash memory, the last time I looked. And it was much slower to load.
    But I am sure the Litex version could be made to work much better on the Ulx3s board. I have not seen users of it on the gitter for a long time.
    SaxonSoc is written by @Dolu1990 and is written entirely in SpinalHDL. Litex used to support more peripherals (but not all on the Ulx3s board), but SaxonSoc has caught up and overtaken it in a lot of areas.
    Lawrie Griffiths
    @lawrie
    Another issue with Litex is that it is written in migen, and there is now the superior nmigen. I am not too keen on learning migen as it has been overtaken by nmigen.
    See my tweet thread on what SaxonSoc supports - https://twitter.com/lawriegriffiths/status/1312360783028903937
    (Perhaps I should add that you can now run Tetris).
    Lawrie Griffiths
    @lawrie
    There is a Risc-V implementation in nmigen, called minerva, but I don't believe that is Linux-capable.
    mara
    @vmedea
    thanks ! that's good to know, at this point i'm really trying to find an entry point, where to get started with Linux RISC-V on the ULX3S, there's so many options and that's kind of overwhelming ! so yes, sounds like Saxon is what people are working on here mostly, and has the most support from the kernel side
    emard
    @emard
    saxonsoc linux is light, boots fast, has native C compiler and supports many things ulx3s has. I don't think other riscv linuxes reached so far on our board.
    Paul Ruiz
    @pnru_gitlab

    I read about very simple code to use the ram ?

    I am not sure if you are referring to the sdram controllers I did two months ago. I think they are simple, 150-170 lines of verilog. There is a 68K controller that is free running versus the CPU clock and a 99K controller that is synced to the CPU machine cycle. Both are variations on the same theme (and derivatives of a controller that Lawrie suggested).
    https://gitlab.com/pnru/ulx3s-misc/-/blob/master/M68K/sdram.v
    https://gitlab.com/pnru/cortex/-/blob/master/sdram.v
    Happy to help if you have any questions. If you referred to something else, no harm done.

    emard
    @emard
    @lawrie latest lcc is good and I made cleanup (timespec and termios now included), same code compiles gcc and lcc. Done lot of improvement while still keeping it short, light, minmal CPU usage. Many invisible important details are supported now, fair randomizer, drop-and-move, sync to real time clock.
    phdussud
    @phdussud
    @emard Can you summarize the HW changes from V3.12 back to V3.08 which is the version I got with my crowdsupply order? Thanks a bunch!
    Also where can I find the schematics for the PMOD modules that shipped as part of the pmod set on scrowdsupply? Thanks!
    I am particularly interested in the Dual USB PMOD which looks very sophisticated (a lot of diodes!)
    phdussud
    @phdussud
    I am all set for the PMOD set, I found the post from Goran!