All Activity

This stream auto-updates     

  1. Last week
  2. silvestru

    Video inversion for Invaders

    Can anybody help please? How do you generate a memory core? (u_invert) thanks
  3. alex

    Boo

    I know what you mean. I have an Arty board that I bought two years ago but haven’t used it yet. The closest I’ve been to Örebro is Eskilstuna which is where my sambo’s mom lives. PS the 1942 arcade game is now complete, works on Pipistrello. You can get if from my GitHub in link above.
  4. Earlier
  5. mkarlsson

    Boo

    Well, I do have a github account but have been bad at updating it. The opl3 code for pipistrello can be downloaded here: http://www.saanlima.com/download/pipistrello-v2.0/opl3_pipistrello_lx45.zip The latest doom bitfile for pipistrello is here: http://www.saanlima.com/download/pipistrello-v2.0/doom.bit The latest doom c source code is here: http://www.saanlima.com/download/pipistrello-v2.0/mb_doom_sound3.zip Without support for Spartan6 in Vivado and no more updates for ISE, the old Spartan6 boards are unfortunately getting obsolete, and with the subsidized pricing of the Digilent Arty boards etc. there is very little incentive for me to develop Artix7-based replacement boards Kalmar is a nice place with a castle and all. We have an apartment in Örebro that we use as a home base in Sweden.
  6. alex

    Boo

    Wow that sounds like a lot of work, well done. Do you publish your sources for these kind of projects (do you have a repository somewhere, like I do on github) ? I see the Pipistrello 2.0 has been discontinued, too bad, I think it was a great dev board and I still use mine due to the size of the LX45 and the built in sound/HDMI connectors. Have fun in Sweden, I live in Kalmar but I work in Mönsterås.
  7. Awesome. I will check it in the next days.
  8. mkarlsson

    SoundBlaster FM HDL

    I think I nuked too many files in the ipcore_dir folder for it to compile so I just downloaded the whole project again, this time with all the files. If you have problems building it just re-download the zip file. Magnus
  9. TAG

    SoundBlaster FM HDL

    Awesome! Thanks for sharing, I'll have to give it a try.
  10. mkarlsson

    SoundBlaster FM HDL

    Here is a video of it running on a Pepino LX9 board: http://www.saanlima.com/videos/IMG_4882.mov If you have a Pepino LX9 board and want to try it, here is how: Download the zip file opl2_pepino_lx9.zip and unzip it somewhere Place the files in the dro directory on a micro-sd card and put it in the sd-card socket on Pepino Open up a terminal (like Putty) at 115200 baud connected to the Pepino board Load or flash the bitfile opl2player.bit in the opl2player director At the promt on the terminal, enter the name of the dro-file you want to play (it will loop forever). Stop it by entering S. BTW, the code should work on a Papilio Pro by modifying the .ucf file to match the pins for the sd-card and audio wings and re-synthesize. Magnus
  11. mkarlsson

    SoundBlaster FM HDL

    Bringing this old thread back to life... In my quest to get a fully working version of Doom (including music) running on Pipistrello I found Greg's OPL3 project and decided to port it to Verilog as he mentioned above, and got it running on Pipistrello, as well as an OPL2 version running on Pepino LX9 (100% of slices occupied!). It uses a Microblaze_mcs processor with 32K ram to play .dro files. Here is a link to a zip file with the Pepino_lx9 project (including Verilog sources and a simple dro-file player): http://www.saanlima.com/download/pepino-v1.1/opl2_pepino_lx9.zip Video of it running on Pipistrello: http://www.saanlima.com/videos/IMG_4880.mov Cheers, Magnus
  12. mkarlsson

    Boo

    Hi Alex, long time no hear.. I made the opposite trip some 30 years ago (Sweden to US) but still have my roots there and go back several times a year (actually going there this coming Wednesday). I finally got around to work on one of my old projects that I left unfinished - Doom running on Pipistrello. The project was based on a port of Chocolate Doom to the NIOS soft processor by two guys from Finland and I got it to sort of work but had not realized how much they had sacrificed to get it to work on NIOS. The sound system was completely hacked up (8 channel stereo sound effects cut down to a single mono channel with no volume control) and the game crashed at the end of the first level due to non-implemented stuff. So I put back the original code from Chocolate Doom so the game worked and got the full sound system working by porting over the sound mixing from the Linux version of doom. I also added mouse support so the game is now really playable. The only thing really missing now is to play the music tracks. They were implemented in a format similar to MIDI and played on DOS via an OPL2 or OPL3 chip found on some sound cards. I looked around I found that Greg Taylor had done a clone of OPL3 using systemVerilog running on a ZYBO board so I decided to try a port of that code to plain Verilog (since ISE do not support systemVerilog). After some stuggle (systemVerilog has some powerful features that are hard to replicate in Verilog) I got it to work - both the full OPL3 and cut-down version that only support the OPL2 features (Doom only use the OPL2 subset). The OPL2 version fits in an LX9 together with a Microblaze_mcs system. Here is a link to a video showing it running: http://www.saanlima.com/videos/IMG_4880.mov Next thing is to incorporate it into the doom version. Cheers, Magnus
  13. DrTrigon

    login / sign in issues

    Sorry I mixed up GadgetBox with Gadget Factory thus this post is on a wrong discussion board, I moved it to the correct one:
  14. DrTrigon

    Forum login / sign in issues

    Hello I have really weird login issues for days now. Basically I cannot login to this forum and my account. Whenever I logout I have to reset my password in order to be able to login again. I even tried copy-n-paste my password from a text-editor, does not work either. I have thus to assume that my password does not get stored properly, may be it's a coding issue - honestly I have no clue... I need help here!! Thanks and Greetings
  15. Dockerfile including DesignLab: https://github.com/drtrigon/docker-papilio-environment-ise/blob/master/Dockerfile.DesignLab Build it using: docker build -f Dockerfile.DesignLab -t test:latest . Run it using: docker run -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -v $(pwd):/workspace test:latest bash -c "/opt/Xilinx/14.7/ISE_DS/common/bin/lin64/xlcm; DesignLab-1.0.8/DesignLab;"
  16. In order to provide your license file the License Configuration Manager (xlcm) has to be run. To make this work the package libqt4-network and a symlink are needed. I created a docker image providing these modifications. This enables to run ISE with correct license. To run ISE you need to have Docker installed and working first, then: xhost local:root docker run -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -v $(pwd):/workspace drtrigon/papilio-environment-ise bash -c "/opt/Xilinx/14.7/ISE_DS/common/bin/lin64/xlcm; ise;" This will first start the License Configuration Manager allowing you to add your Xilinx.lic license file (load it from /workspace directory). After you close that dialog it finally starts ISE in a window. Further info can be found in: https://github.com/drtrigon/docker-papilio-environment-ise or https://hub.docker.com/r/drtrigon/papilio-environment-ise/ Hope that helps someone else too. Incredible to me is the fact that the whole build environment suits into a 2 GB docker image (5.88GB on the local machine) while the download of ISE is around 6 GB and the installations needs something around 20 GB. That's very cool IMHO! Thanks Jack for starting this! What are your future plans for this docker environment?
  17. Ok, I figured out how to run ISE from this docker image (tested on ubuntu 14.04): Install docker: wget -qO- https://get.docker.com/ | sh Set user and group permissions (might need logout and new login to take effect): sudo usermod -aG docker osboxes (Re)start docker service: sudo service docker restart Now you can run the command given by Jack before: Enable access to X server: xhost local:root or may better since a bit more restrictive: xhost local:docker Finally run ISE: docker run --entrypoint "ise" -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -v $(pwd):/workspace gassettj/papilio-environment-cloud9 as you can see you have to modify the entrypoint, set the DISPLAY env variable and bind /tmp/.X11-unix - by the way it also works with gassettj/papilio_environment: docker run --entrypoint "ise" -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -v $(pwd):/workspace gassettj/papilio_environment This will start ISE in a window and ask for the license file. [1] https://docs.docker.com/engine/reference/run/#foreground (-it param) [2] https://forums.docker.com/t/docker-run-cannot-be-killed-with-ctrl-c/13108 (docker stop) [3] https://medium.com/@oprearocks/how-to-properly-override-the-entrypoint-using-docker-run-2e081e5feb9d (entrypoint) [4] https://github.com/jessfraz/dockerfiles/issues/6 (xhost) You can also run a bash shell in the docker container for testing and debugging with: docker run -it --entrypoint "/bin/bash" -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -v $(pwd):/workspace gassettj/papilio-environment-cloud9 in order to stop the docker containers (especially with the original entrypoint as Jack set it) use ps to get the container id and then stop it: docker ps docker stop <container> In order to get more info on how the docker image was created, run: docker history gassettj/papilio-environment-cloud9 --no-trunc
  18. silvestru

    Video inversion for Invaders

    Can any one explain this step by step please as I cannot get it to work. I am new here and can't figure it out.
  19. vlait

    Boo

    Congrats! That's a huge change in life... people, weather, culture all very nice but probably quite a bit different to NZ We're practically neighbours now, gimme a shout whenever you're visiting Finland (or Estonia for that matter, it's only a 2 hour ferry from here) The game after 1942 might require more than 1 small fpga
  20. alex

    Boo

    Hi Vlait! Big things mate, I met someone special and about two years ago I decided to move to the other side of the planet to be with her. So I quit my job, sold my house and everything I owned and moved to Sweden with nothing but a suitcase I've been living in Sweden ever since with my amazing Swedish woman who speaks perfect English (so yeah, not a catfish after all). Took a bit of time to get accustomed to the Swedish language, get a job, get a drivers licence all over again from scratch because the Swedes won't convert a NZ drivers licence to Swedish but they will quite happily convert a Japanese one... pretty loopy. The best think about Sweden is IKEA 😱, no no I joke, It's the meatballs. But seriously, best thing about Sweden is the people, they're pretty great and the country has some great culture. The worst thing about Sweden is the goddamned ads for gambling. You can't watch TV or listen to radio without having 3 to 4 stupid ads in every ad break about the same 5 or 6 shitty online casinos that promise you easy money. It's so infuriating. So anyway, family life can be pretty hectic but lately I've had some time to get back into the hobby and drifted back to FPGA stuff. Our apartment isn't such that I can have my man cave full of equipment like I used to, but with FPGA stuff all I need is a small corner with a laptop. I'm just now putting the finishing touches on the 1942 arcade game which is what I've been working on lately. Sorting out some sprite issues and will do a final push to github in the next few days, then that game is done. Then I have another project in mind which is something I've wanted to do for a while but I've been scared to touch it because it's a bit of a monster compared to the games I've done so far and likely a very long term project. Lots of custom chips, lots of memory (maybe too much for an FPGA), fancy audio with FM and speech synthesis, 68010 CPU, etc, I don't even know if I'll be able to finish it once started, but I plan to make a fair effort into it and if I fail, maybe someone better than me can continue it. Here's a hint:
  21. vlait

    Boo

    Hullo Alex!! What have you been up to ? -V
  22. Danijel Šipoš

    Writing to an SD card and logging via FTDI usb port

    Thank you!
  23. Danijel, code attached to this post. sd_card_writer-17Feb2013.7z
  24. Danijel Šipoš

    Writing to an SD card and logging via FTDI usb port

    I would also like to ask if someone can please upload the code. Thank you!
  25. Jack, found a few more broken links under learn.gadgetfactory.net Yes, there are tutorials there, but the image content is generally missing. Seems the links are broken in the densest, most useful tutorials. Making libraries, publishing tutorials, etc. Others seem to have images just fine, but they're the rudimentary ones. Here's an example. Every image url in this page http://learn.gadgetfactory.net/2015/04/03/designlab-libraries-library-quickstart/ goes nowhere; http://learn.gadgetfactory.net/wp-content/uploads/2015/04/snapshot12a.png Also the link at the bottom; http://forum.gadgetfactory.net/index.php?/page/articles.html/_/designlab/libraries/ Here's the tutorial one, also missing images; http://learn.gadgetfactory.net/2015/04/16/how-to-make-a-learn-tutorial/ Starting from the first library tutorial, standalone schematic, which has missing images, the links to the other library tutorials, SOC Wishbone Schematic and SOC Wishbone VHDL, are also dead. I sure hope those are around somewhere http://learn.gadgetfactory.net/2015/04/03/designlab-libraries-make-a-wishbone-library/ http://learn.gadgetfactory.net/2015/04/03/designlab-libraries-library-from-internet-code/ Cheers, Joe
  26. Seems like a good idea. Is there a way to do it? I.e. is there a way to either have a schematic component or an external pin drive the counter in the timer? Old VLSI timers like the M6840 have external clock and gate pins for the internal timers, and are also capable of generating interrupts. I've been thinking, if one could clock one of the timers externally, and preload the internal counter with, say "1", the thing would then count down once on an external signal event and interrupt the ZPUino! Instant external ZPUino interrupt hack! Two digital birds with one stone! Also, is there any ZPUino SOC example sketch which actually uses the timers, and timer interrupts? Cheers!
  27. Hello! Reading the documentation, there's a strong implication that there is some sort of default pin-mapping for GPIO pin operations (bare papilio pins) which is not specifically related to installed Wishbone peripherals. Where is it documented for each board? The ZPUino tech manual talks about redirecting input and output from slot peripherals to GPIO pins. That's fine, but then it talks about this: [4.1.4 Software GPIO pins should be manipulated using the Arduino-like functions digitalW rite(), digitalRead() and pinMode(). Additionaly GPIO can be bound to devices using PPS (Peripheral Pin Select). You can also use the following "C" macros if needed. Each pin block is 32-bit wide: GPIODATA(x) GPIODATA for pin block x GPIOTRIS(x) GPIOTRIS for pin block x] Short of writing a sketch which "pings" all of the Papilio's Arduino-style pins from inside a sketch (1-128?) and possibly crashing something, is there any way to do this on a default "naked" ZPUino? So, the real questions is, on a pro, one, duo, etc, running a ZPUino, when I set pin X to output and do a digitalWrite() to that pin, where does it come out, and how do I find that out? I know that I can tie a <wishbone to registers x 10> library symbol to my ZPUino in ISE, connect those registers to the outside, and maybe do my own WB_digitalWrite() function for it but making the very same physical Papilio pin both an input and an output using that part would need a tristate buffer or latch hung onto the side of it, and a way to control that in code the way Arduino GPIO does. EDIT: I also see a few examples that re-map the pins, i.e. the MegaWing_Logistart example, and the Flex_Pins example, but is there a default mapping if someone simply starts bit-bashing Arduino I/O lines? EDIT: Answered my own question...They're in the ZPUino header files \\hardware\zpuino\zpu20\cores\zpuino\board_<something>.h one for each product, for anyone looking for the definitions.
  1. Load more activity