Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    emard
    @emard
    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
    emard
    @emard
    Can you get NES produce pixel rate >=25 MHz? then it's easy. HDMI monitors have to refuse lower clock rates by standard otherwise it would of course work
    I can help you get the picture if you make doublescan or something to reach above 25 MHz
    Rangel Ivanov
    @ironsteel
    I'm trying to get it to produce pixels at 25Mhz but my hardware design skills are not as good as my software ones :D
    I'll ping you when I get to the HDMI part, thanks!
    I've setup a simple testbench simulating the two clocks (21.477 and 25) and modifying little by little until I get the idea right.
    emard
    @emard
    Get any of simple similar projects that does doublescan - basically it is a BRAM that buffers one scanline and outputs it 2x to double the PAL/NTSC pixel rate
    On many projects that have simple video generator, it is possible to directly modify video generation core to work at higher pixel rate and then doublescan buffer is not needed.
    Rangel Ivanov
    @ironsteel
    Yes, I was going to ask if my understanding of the scan doubler is correct. thanks for the heads up. Im having some trouble figuring out how to generate the read addresses for the block ram but I think I'm on the right direction
    Have some home chores to do, will get back to it later
    emard
    @emard
    BRAM can have 2 ports and 2 different clocks so with one clock scanline is filled by NES pixel rate (slow) to bram port A and bram port B and higher clock is used for DVI pixel rate, usually dumping same content twice. Some video generations that use interlace make buffering complicated and you must resort to deliver each half-frame at full rate so screen details may flicker usualy by a pixel or so but generally game is still playable
    Lawrie Griffiths
    @lawrie
    @goran-mahovlic I had to add bash to saxonsoc linux to make those games work.
    Lawrie Griffiths
    @lawrie
    @emard I tried scopeio (hdl4fpga). It displayed a waveform generated by my pocket oscilloscope (3 tiimes is multiple colors), but I am not sure what I can do with it.
    It did not work with my Logitech mouse (B100), so I ordered one that is supposed to work in PS2 mode from ebay.
    emard
    @emard
    @lawrie scopeio supports hotplug mouse USB or PS2 so collect many and try. If all fails over USB-serial or USB-ethernet you can use "hostmouse.py" script so linux mouse will be provided remotely to scopeio
    Lawrie Griffiths
    @lawrie
    It seemed to display is 1920x1080 mode, whatever make file I used.