Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    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.
    emard
    @emard
    different bitstreams are for USB, PS2, USB-serial and USB-eth. 1920x1080 is HARD overclock so you are lucky, not all boards/monitors can do. Normal is 800x600 what everywhere works :)
    Lawrie Griffiths
    @lawrie
    Tried it with another monitor. It was running at 800x600 but my small monitor reported 1920x1200, which was what was confusing me.
    emard
    @emard
    yea default is 800x600 and only top portion of 800x480 is used so some small displays 5" inch size will just fit the picture there
    compile it with
            constant C_mouse_ps2    : boolean := false;  -- PS/2 or USB+PS/2 mouse
            constant C_mouse_usb    : boolean := false; -- USB  or USB+PS/2 mouse
            constant C_mouse_usb_speed: std_logic := '0'; -- '0':Low Speed, '1':Full Speed
            constant C_mouse_host   : boolean := true; -- serial port for host mouse instead of standard RGTR control
    
            constant C_origserial   : boolean := false; -- use Miguel's uart receiver (RXD line)
            constant C_extserial    : boolean := true;  -- use Emard's uart receiver (RXD line)
            constant C_usbserial    : boolean := false; -- USB-CDC Serial (D+/D- lines)
            constant C_usbethernet  : boolean := false; -- USB-CDC Ethernet (D+/D- lines)
            constant C_rmiiethernet : boolean := false; -- RMII (LAN8720) Ethernet GPN9-13
            constant C_istream_bits : natural := 8;     -- default 8, for RMII 2
    and you can use hostmouse.py script to pass linux mouse events to serial port in a format that scopeio will accept - thats before you get supported mouse
    Lawrie Griffiths
    @lawrie
    Tried hostmouse.py. I am running in VirtualBox. It detects button clicks on the mouse and sends them, but is doesn't detect mouse movement.
    emard
    @emard
    hmmmm is it normal mouse or touchpad? Generally we need RELative mouse events while touchpad sends ABSolute stuff and that may not work well or if virtualbox converts them to ABS again same issue
    Lawrie Griffiths
    @lawrie
    It detects button presses on a normal mouse and the touchpad, but movement on neither.
    /dev/input/event4
       bustype : BUS_I8042
       vendor  : 0x2
       product : 0x6
       version : 0
       name    : "ImExPS/2 Generic Explorer Mouse"
       phys    : "isa0060/serio1/input0"
       bits ev : (null) (null) (null)
    
    /dev/input/event5
       bustype : BUS_USB
       vendor  : 0x80ee
       product : 0x21
       version : 272
       name    : "VirtualBox USB Tablet"
       phys    : "usb-0000:00:06.0-1/input0"
       uniq    : ""
       bits ev : (null) (null) (null) (null) (null)
    
    /dev/input/event6
       bustype : BUS_PCI
       vendor  : 0x80ee
       product : 0xcafe
       version : 1536
       name    : "VirtualBox mouse integration"
       bits ev : (null) (null) (null)
    emard
    @emard
    try evtest and move mouse you should get this, or hostmouse has some touchpad untested support so if you cant get REL events try to convince hostmouse.py to detect device as touchpad and handle ABS somehow
    root@ssd:/tmp# evtest /dev/input/event7
    Input driver version is 1.0.1
    Input device ID: bus 0x3 vendor 0x46d product 0xc016 version 0x110
    Input device name: "Logitech Optical USB Mouse"
    Supported events:
      Event type 0 (EV_SYN)
      Event type 1 (EV_KEY)
        Event code 272 (BTN_LEFT)
        Event code 273 (BTN_RIGHT)
        Event code 274 (BTN_MIDDLE)
      Event type 2 (EV_REL)
        Event code 0 (REL_X)
        Event code 1 (REL_Y)
        Event code 8 (REL_WHEEL)
        Event code 11 (REL_WHEEL_HI_RES)
      Event type 4 (EV_MSC)
        Event code 4 (MSC_SCAN)
    Properties:
    Testing ... (interrupt to exit)
    Event: time 1576755391.702276, type 2 (EV_REL), code 0 (REL_X), value 1
    Event: time 1576755391.702276, -------------- SYN_REPORT ------------
    Event: time 1576755391.710274, type 2 (EV_REL), code 0 (REL_X), value 1
    Event: time 1576755391.710274, -------------- SYN_REPORT ------------
    Event: time 1576755391.718275, type 2 (EV_REL), code 0 (REL_X), value 1
    Event: time 1576755391.718275, -------------- SYN_REPORT ------------
    Goran Mahovlic
    @goran-mahovlic
    @lawrie we have also some games here - maybe we will make some of them work :) https://github.com/ligurio/awesome-ttygames
    I did try to compile color tetris but it still missing some dependencies - so we will try to fix those today on meetup!
    Lawrie Griffiths
    @lawrie
    @emard When I try:
        mouse_input_name = 'dont use'
        touchpad_input_name = 'mouse integration'
    emard
    @emard
    yes that to force accepting it as ABS device
    Lawrie Griffiths
    @lawrie
    It sends the mouse movement and the leds flash, but I don't see anything change on the monitor.
    emard
    @emard
    Hm, can you install "evtest" executable in "evtest" package to actually see what events do you get from mouse. ABS is early support in hostmouse and only REL is verified to correctly work.
    offtopic: I copied /boot/* from 12F sdimage to 85F sdimage and 12F booted now I have bash too here :)
    Lawrie Griffiths
    @lawrie
    Yes I ran evtest which showed I only got mouse clicks on event4 but I got movement events on event6.
    emard
    @emard
    Ahhh split device is theoretically possible to support but you have to modify hostmouse.py to open them both and somehow thread or whatever to mix click and event streams together
    Lawrie Griffiths
    @lawrie
    @emard not sure what you did with those images. The only one that has bash support is imagefb64. I am not overwriting the previous working images with experimental things at the moment - hence the multiple versions.
    And I am testing on the 85 device at the moment.
    On hostmouse: do I need mouse clicks as well as movement?
    I confirmed that event4 gives just mouse clicks, and event6 gives just ABS movement.
    Lawrie Griffiths
    @lawrie
    Can't make much sense of the display:
    scopeio
    Goran Mahovlic
    @goran-mahovlic
    :)
    emard
    @emard
    here I have uploaded latest *.bit.gz bitstreams for 12F https://github.com/emard/ulx3s-bin your waveforms look great, Note that ADC is running in differential mode so you should either drive both + and - or have one of them set to intermediate voltage 1-2V with resistor divider and blocking C. there's crosstalk between channels so you have also signal on unconnected pins
    Lawrie Griffiths
    @lawrie
    Not sure what all those NaN values are, or what the 0.00 values are. I was hoping to see something like frequency and duty. But currently I have no way or controlling anything.
    emard
    @emard
    NaN value will change to normal when you select channel. Cursor placed on lower left edge, intersecton of hzscale and vtscale numbers and mouse wheel rotated will change color of vtscale. However no freq/duty calculation yet :). Things should change when you get supported mouse.
    Lawrie Griffiths
    @lawrie
    I see that you have some documentation in the ulx3s-bin repository.
    My ice40 oscilloscope calculated frequency and duty - https://hackaday.com/2018/08/04/gameduino-mystorm-oscilloscope/
    emard
    @emard
    some "bad documentation" is also in comments in the source handing GUI events, pipeline stage 1 https://github.com/hdl4fpga/hdl4fpga/blob/master/library/scope/scopeio_mouse2rgtr.vhd#L480 but something userfriendlier should be written.... On this BB3 power supply box we plan to integrate f32c and scopeio so then freq calculation I hope should be easier. scopeio is hardware-only - no CPU, it's aim is fast response and LUT-style minimalistic computing.
    Lawrie Griffiths
    @lawrie
    The BB3 box looks interesting. Should I sign up for one on crowdsupply? They are a bit expensive and there are lots of options.
    emard
    @emard
    maybe if you need benchtop universal supply. But ULX3S scope integrattion will happen later, next year I expect. PCBs will be different. Currently STM32 is driving menus and LCD
    Lawrie Griffiths
    @lawrie
    I will wait then. I don't have much of a benchtop power supply, but I am more interested in the integration with all the ECP5 stuff.
    emard
    @emard
    Yes we must inform you on progress and optionally send some prototype boards for rewiev, if you dont find any bugs, noone else will :))
    emard
    @emard
    https://github.com/emard/apple2fpga I got disk and SD interface to compile, I see disk activity LED and changing floppy tracks but loading supplied floppy image never ends. At reset prompt is displayed. Mayybe SD is not compatible if anyone will check....
    kost
    @kost
    So, you can say something like:
    webreplcmd --host 192.168.4.1 --password ulx3s cmd 'import ecp5; ecp.prog("http://my.fpga.dir/bitstream.bit)'
    Lawrie Griffiths
    @lawrie
    @emard When I try to build it, it does not find spi_controller_MIST.vhd