Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Lawrie Griffiths
    @lawrie
    The colors are quite a bit different on the LCD. In moon patrol, the ground is orange rather than pink. Looks nice, though.
    emard
    @emard
    Colors on LCD look slightly washed out. It can be LCD matrix/backlight weak contrast (too much light going thru). I can check does it have some color temperature presets or gamma correction to put in init sequence.
    sajattack
    @sajattack:matrix.org
    [m]
    anyone here familiar with gigatron?
    I'm porting this to MiSTer and wondering if anyone would want to port to ulx3s https://github.com/menloparkinnovation/menlo_gigatron
    emard
    @emard
    @sajattack:matrix.org if you port to mister and take care of regular rules to separate registered logic from combinatorial (avoid variables and sequential assigments to same register), I can easily port your work to ulx3s
    Lawrie Griffiths
    @lawrie
    @sajattack:matrix.org Yes, it would be good to have the Gigatron on the Ulx3s.
    Lawrie Griffiths
    @lawrie
    I see you have quite a bit of the Mister port done - https://github.com/sajattack/Gigatron_MiSTer
    emard
    @emard
    @lawrie @Speccery I got ti99/4a display video on st7789. Complete text mode is visible, a bit of color stripes from title screen are cropped. For eventual pull I don't know is the implementation following style, as st7789 support is pulled out of sys module to toplevel https://github.com/emard/icy99
    emard
    @emard
    @Speccery can you see what's going on with invaders? Game runs but player ship doesn't appear
    emard
    @emard
    sajattack
    @sajattack:matrix.org
    [m]
    Cool
    emard
    @emard
    @lawrie https://github.com/emard/ulx3s_vic_20 here's updated vic20 that supports ST7789 LCD
    Lawrie Griffiths
    @lawrie
    I will try it out.
    Lawrie Griffiths
    @lawrie
    My Z80 template project is starting to work - https://github.com/lawrie/ulx3s_z80_template
    Here it is running Microsoft Basic:
    Z80 SBC By Grant Searle
    
    Cold or warm start (C or W)? C
    
    Memory top? 
    Z80 BASIC Ver 4.7b
    Copyright (C) 1978 by Microsoft
    32382 Bytes free
    Ok
    10 print "hello"
    run
    hello
    Ok
    It is an attempt to redo my Z80 retro computers with a common code base, starting with a template, and then adding the specifics for each computer or game console.
    Lawrie Griffiths
    @lawrie
    I am using @pnru_gitlab's 6850 ACIA implementation as the uart, as that is compatible with computers such as the RC2014
    So I can run the roms from that project - https://github.com/RC2014Z80/RC2014/tree/master/ROMs/Factory
    emard
    @emard
    @lawrie ohoohoohoho it's working!! If this is u$0ft basic, we can expect basic program structure in RAM could be similar to loading PRG to c64/vic20
    splinedrive
    @splinedrive
    Hi, I have not found any pictures using external JTAG with ulx3s. What is the benefit for using external JTAG?
    Goran Mahovlic
    @goran-mahovlic
    we have it just in case everything else fails
    splinedrive
    @splinedrive
    @goran-mahovlic It is not faster?
    Goran Mahovlic
    @goran-mahovlic
    and probably using directly in diamond with supported JTAG
    @emard would know that he tried
    I think currently fastest way is using ESP32 to program it
    splinedrive
    @splinedrive
    @emard Do you mean over Wifi?
    splinedrive
    @splinedrive
    @goran-mahovlic Thanks! I was confused about that. I found no pictures with 2nd JTAG channel.
    emard
    @emard
    @splinedrive external JTAG pins are there to connect external JTAG programmer. it can be much faster if fast software is used. I tried FT2232 with diamond, it works as native programmer but diamond programs FPGA slowly compared to other programmers using same FT2232 hardware... Goran uses ext JTAG during prototype troubleshooting when only FPGA is soldered onboard without any other parts onboard. Ext JTAG can be used if USB-FTDI and WIFI methods are not working or supported. I wanted that user never runs out of options to program ULX3S :)
    splinedrive
    @splinedrive
    :)
    Goran Mahovlic
    @goran-mahovlic
    You can also use one ULX3S with FTDI to program other without FTDI :)
    splinedrive
    @splinedrive
    :)
    Goran Mahovlic
    @goran-mahovlic
    and yes with bootloader you can program it over US2
    Lawrie Griffiths
    @lawrie
    I have written a commentary on the top-level module for my Z80 template - https://github.com/lawrie/ulx3s_z80_template/blob/main/top.md
    The idea now is to recreate my Z80 retro computers using this template and to add some new ones.
    I will probably start with recreating the TRS-80 Model 1 as that is about the simplest of the Z80 retro computers.
    emard
    @emard
    Ahaaa so our trs80 will be done again, I remember video chars had some spacing between columns what I think should not be spaced as looking at videos of green terminals, but maybe I could be wrong
    Lawrie Griffiths
    @lawrie
    I plan to redo all the Z80 ones and perhaps get the ZX80 and ZX81 working as they never worked correctly.
    Lawrie Griffiths
    @lawrie
    The redone trs80 is really working - https://github.com/lawrie/ulx3s_z80_trs80
    There are some problems with the keyboard
    @emard With the old version I got ecppll to generate a 25MHz clock for the VGA (plus 125MHz for HDMI) and a 28MHz clock, which I then divide to produce the CPU clock. Your ecp5pll gives an error when I try to generate the 28MHz clock, so I am currently using the 25MHz clock divided by 8 for the CPU. I don't know if that is causing the keyboard problem.
    Lawrie Griffiths
    @lawrie
    The keyboard problem is that backspace and shift are not working consistently.
    emard
    @emard
    @lawrie If you need 28MHz, you can generater near-28MHz with single PLL. Maybe exact 28 with 2-stage PLL. First set 28 and Extend tolerance it will generate something nearest. Then use nearest to 28.something and 28.something*5 exactly with tolerance 0 or few Hz to fit rounding error.
    With 2-stage PLL, you need to create some 28-multplider-divider frequency first and then in second stage take that as input and get 28 exactly. For this you need some try and error, experiment with 2nd stage first to find out which input frequency will provide 28 as output. besides 28 maybe 282, 283/2 and similar inputs will. For example to create 32.0 MHz at 2nd stage I need 40MHz input which can be exactly generated by 1st stage from 25MHz input
    Lawrie Griffiths
    @lawrie
    The 28.409MHz clock is now working, the same as the other version. My problem was the same as you had on the C64. ps2_key[9] inverted.
    splinedrive
    @splinedrive
    Hi, Do you know a pmod for hdmi/dvi (no vga to hdmi)? I found only an article https://hackaday.io/page/5702-dvi-hdmi-pmod-for-an-ice40-fpga. I want to arm my ice40s with hdmi or arm my ecpix-5 with it. The ecpix has a hdmi controller on board :(. Maybe a pmod with and without levelshifters. Or it would be also cool to have more hdmi ports on our ulx3s.
    Lawrie Griffiths
    @lawrie
    There is this - https://1bitsquared.com/products/pmod-digital-video-interface, which I have used on the icebreaker.
    The Pmod by Dan O'Shea in that Hackaday article was never sold as far as I know. I am one of the few people to have one as I asked Dan for one. I used in briefly on a Blackice board. You needed to use a short HDMI cable with it.
    splinedrive
    @splinedrive
    @lawrie I have it :), but I like to run tmds generated by the fpga. Today I got a ecpix-5 and it uses a hdmi controler and you have not to generate yourself tmds.
    It would be nice if you have the feature to generate tmds to pmod.