Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Lawrie Griffiths
    @lawrie
    It could be driven by a double Pmod. If it could be mounted in such a way that the buttons were accessible, it could make a self-contained portable gaming device .
    We used the 8080 8-bit interface and no touch screen option.
    Lawrie Griffiths
    @lawrie
    I believe @daveshah1 produced an LCD Pmod. Has that been used with the Ulx3s?
    Goran Mahovlic
    @goran-mahovlic
    yes, we have @daveshah1 LCD supported and next one should be https://www.tme.eu/hr/details/rfe43bh-aiw-dns/displeji-tft/raystar-optronics/
    That is used in envox BB3
    Lawrie Griffiths
    @lawrie
    I have Verilog and SpinalHDL drivers for that 320x240 8-bit interface LCD. We used it with PicoSoC on the TinyFPGA BX, but I have also used it from SaxonSoc (but not SaxonSoc Linux).
    Goran Mahovlic
    @goran-mahovlic
    would be so cool to have SaxonSoc Linux display
    Lawrie Griffiths
    @lawrie
    Yes, In was looking into what would be involved with that when I thought about supporting that 320x240 display.
    There is a @daveshah1 tweet (about the LiteX Linux version) that said that supporting a 320x240 display using a frame buffer console driver should not be too hard. That could either drive HDMI or use an LCD display. Not on our immediate roadmap, but I was interested in seeing what it would involve doing.
    emard
    @emard
    @daveshah1 made a double PMOD PCB for this I think 320x240 display, it is directly pluggable to ULX3S, it has VGA compatible timing and signals so core effort is very small. For a good framebuffer burst capable read of SDRAM is required. Tiled text graphics would be much faster than framebuffer. If we have linux-side developer then my c2 acceleation 2D video can be supported used also....
    Lawrie Griffiths
    @lawrie
    Yes, I have seen @daveshah1's PMOD and I saw Matt Venn's version of it he used on the iCEBreaker board - https://github.com/daveshah1/pmods
    I am not too keen on making one myself as my surface mount soldering skills are not very good, and I am not sure which LCD to use , or how to mount it. I have not seen anywhere where an assembled one can be bought.
    Lawrie Griffiths
    @lawrie
    I used tiled based graphics on the driver I wrote for the ili9341 8080 interface LCD I mentioned above - https://github.com/SpinalHDL/SaxonSoc/blob/dev/hardware/scala/saxon/board/blackice/peripheral/Ili9341.scala.
    Goran Mahovlic
    @goran-mahovlic
    emard
    @emard
    https://www.adafruit.com/product/1601 thy also have some SPI display maybe it's same as yours but it has a lot of other PINs, I didn't go into details if it has VGA signaling or some parallel bus so some ready-made cores like f32c driver for david's lcd35 can be used
    Baj its ili 3941 :(
    emard
    @emard
    Yea I made this example :)
    Trellis compiles this example in 5s on my celeron
    Goran Mahovlic
    @goran-mahovlic
    @emard would this be ok?
    PMOD.png
    Lawrie Griffiths
    @lawrie
    The Adafruit display looks similar, but the buydisplay version has solder jumpers that allow them to be programmed using various interfaces (and is much cheaper). It is the 8-bit 8080 mode that I use rather than SPI. That is also used on some cheap Arduino shield TFTLCD displays, which I have also used with ice40 fpgas. It drives it fast enough to use tiled graphics or a framebuffer.
    The buydisplay ones also also ili9341.
    Goran Mahovlic
    @goran-mahovlic
    David PMOD is using LQ035NC111
    emard
    @emard
    @goran-mahovlic Yes exactly, in the plastic box are placeholders for the screws, you can use 2.5 mm holes on PCB. Screws are 2.2 mm going into plastic.
    @lawrie 8080 is parallel so I guess it should be fast enough with some 15-20 MHz same thing as David's PMOD that has pixel rate of 19.2 MHz
    @goran-mahovlic I'm not sure will we have space on topmost hole because of the box edge but screw is small so perhaps it's possible too but we must try first
    Goran Mahovlic
    @goran-mahovlic
    well bottom is then also problematic
    Lawrie Griffiths
    @lawrie
    The 8-bit LQ035NC111 is more sensible for use with FPGAs and gives 24-bit RGB, whereas the ili9341 8080 one is 16-bit 565 RGB. But the ili9341 interface does give some flexibility.
    Really, I would like an LCD that I can attach to the Ulx3s and I don't mind which of those interfaces it uses.
    Goran Mahovlic
    @goran-mahovlic
    yes, we will work on that :)
    we need to have few options so people can decide what is best for them
    did not check what display is on hackaday badge?
    Probably LQ035NC111
    Lawrie Griffiths
    @lawrie
    Yes, I believe that was based on Matt Venn's version of Dave's Pmod.
    Goran Mahovlic
    @goran-mahovlic
    So we just need to produce and solder David boards
    That is best option
    with connector and all parts soldered
    emard
    @emard
    David's LCD has to be glued to PCB but it detaches so I made 3D printable holder to hold them together. And maybe PCB size could be reduced to make everything smaller. Apart from that, display works great. At 19 MHz rate byte is delivered so every 3 bytes makes a 24-bit pixel and 60 HZ refresh rate. No initialization. ILI9341 has more timing flexibility but I guess needs small initialization
    Lawrie Griffiths
    @lawrie
    Lawrie Griffiths
    @lawrie
    The cheap Arduino shield TFTLCDs from ebay are ili9320 with an 8080 interface. I currently have an even longer initialization sequence for those - https://github.com/lawrie/slabboy/blob/master/src/main/scala/slabboy/Ili9320.scala#L160-L436
    That is part of a Gameboy emulation in SpinalHDL that I started writing but have not worked on for a while (based on a SpinalHDL Z80 implementation that Craig Bishop started). My version got as far as running a simple Hello World Gameboy rom. I would like to get that going on the Ulx3s sometime.
    emard
    @emard
    similar length of initialization I also have for 96x64 SPI color OLED :( and it's the hardest part to make it compact enough when done in the soft-core. Something what is easy done in C makes LUT programmer big trouble :)
    Lawrie Griffiths
    @lawrie
    I think I was wrong about the interface used by the Hackaday badge. It seems to use an 18-bit data interface - https://github.com/Spritetm/hadbadge2019_fpgasoc/blob/master/soc/lcdiface.v
    I was confusing it with the ice40 based badge that Matt Venn took to the same event, which did Use David Shah's Pmod.
    Goran Mahovlic
    @goran-mahovlic
    Rangel Ivanov
    @ironsteel
    @emard you got the apple 2 running on the ulx3s?
    emard
    @emard
    Yes video and ps2 keyboard work, prompt and basic works but disk_ii.vhd compile starts printing many dots and fails, so if you can take a look or even fix, please help :)
    Rangel Ivanov
    @ironsteel
    Not sure if I'm capable.... right now I'm trying to figure out how to make the NES work on a 640x480 resolution for the ulx3s and then add the GPDI output