Felix Posted March 8, 2015 Report Share Posted March 8, 2015 http://forum.gadgetfactory.net/index.php?/page/articles.html/_/papilio-arcade/romvault-papilioedition-08-mar-2015-build-r93 Quote Link to comment Share on other sites More sharing options...
Felix Posted March 24, 2015 Author Report Share Posted March 24, 2015 Got a version with papilio duo support now. let me know if anyone is interested in testing and i can upload to my server for youor send you a slack# link Quote Link to comment Share on other sites More sharing options...
roadster Posted July 16, 2015 Report Share Posted July 16, 2015 Great project, I had fun playing some of my favorite Atari 2600 games. Quote Link to comment Share on other sites More sharing options...
Felix Posted July 16, 2015 Author Report Share Posted July 16, 2015 glad it came in useful. i plan on releasing an updated version soonish. //F Quote Link to comment Share on other sites More sharing options...
Skip Posted January 1, 2017 Report Share Posted January 1, 2017 Hi @Felix, I just successfully built ROMVault from the current github sources on Ubuntu 16.04.1 under mono and it runs. However when I put zip files in /usr/local/ROMVault-Papilio/Unsorted/ and run update they aren't found. I was surprised that "make install" installed under /usr/local since the README said that by default the installation directory was the linux home directory. Where should I be putting my ROMS zips? I ran into permission issues when I ran install so I created /usr/local/ROMVault-Papilio as root then changed the owner to my user. After that I ran "make install" again and it worked. I'm a C programmer, I know next to nothing about Mono or C#. ---snip-- skip@xenial:~/ROMVault-PapilioEdition$ mono --version Mono JIT compiler version 4.2.1 (Debian 4.2.1.102+dfsg2-7ubuntu4) Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com TLS: __thread SIGSEGV: altstack Notifications: epoll Architecture: amd64 Disabled: none Misc: softdebug LLVM: supported, not enabled. GC: sgen --- snip --- Suggestions? Skip Quote Link to comment Share on other sites More sharing options...
Felix Posted January 2, 2017 Author Report Share Posted January 2, 2017 linux support was added by @mandl however if i had to guess did you run the "cmake ../" command? since it installed to /usr/local/ROMVault-Papilio the unsorted directory should actually be /usr/local/ROMVault-Papilio/ROMVault2/Stage/Unsorted or some such. i dont actually have an ubuntu setup (i much prefer CentOS but i havent tried there either) so cant test. however if you are willing to work with me, instead of disappearing like the last guy who asked for my help, i can add in a bit of debug code and we can find out where it is looking for the files/directories and get it working in case anyone else has issues. what you think? I haven't actually touched that source since I released it due to lack of interest/feedback from all but 1 person. Quote Link to comment Share on other sites More sharing options...
Skip Posted January 2, 2017 Report Share Posted January 2, 2017 Hi @Felix, No need for debug my first issue! As you guessed I must have missed running cmake ../ . I ran it, re-installed and this time it installed under in my home directory and it was able to find the ZIPS I copied into ~/ROMVault-Papilio/Unsorted. Pacman is now Green! Unfortunately when I double click on PacMan I get: --- snip --- - Parse PScript Directive `papilio-prog` - - Loading Bitfile - - - Aborting - Cannot Load Bitfile - File Not Found --- snip --- (complete log file attached) Getting really close, I can almost hear the music... I'm not going to disappear, at least no today or tomorrow since I'm on vacation... Skip log.txt Quote Link to comment Share on other sites More sharing options...
Skip Posted January 2, 2017 Report Share Posted January 2, 2017 Which papilio-program does ROMVault try to run? --- snip --- skip@xenial:~/ROMVault-Papilio/papilio$ find . -name "*papilio-prog*" ./tools/linux/papilio-prog ./tools/papilio-prog.exe ./tools/OLDpapilio-prog.exe skip@xenial:~/ROMVault-Papilio/papilio$ ./tools/linux/papilio-prog No or ambiguous options specified. Usage:./tools/linux/papilio-prog [-v] [-j] [-f <bitfile>] [-b <bitfile>] [-s e|v|p|a] [-c] [-C] [-r] [-A <addr>:<binfile>] -h print this help -v verbose output -j Detect JTAG chain, nothing else -d FTDI device name -f <bitfile> Main bit file -b <bitfile> bscan_spi bit file (enables spi access via JTAG) -s [e|v|p|a] SPI Flash options: e=Erase Only, v=Verify Only, p=Program Only or a=ALL (Default) -c Display current status of FPGA -C Display STAT Register of FPGA -r Trigger a reconfiguration of FPGA -a <addr>:<binfile> Append binary file at addr (in hex) -A <addr>:<binfile> Append binary file at addr, bit reversed skip@xenial:~/ROMVault-Papilio/papilio$ mono ./tools/papilio-prog.exe Cannot open assembly './tools/papilio-prog.exe': File does not contain a valid CIL image. skip@xenial:~/ROMVault-Papilio/papilio$ mono ./tools/OLDpapilio-prog.exe Cannot open assembly './tools/OLDpapilio-prog.exe': File does not contain a valid CIL image. skip@xenial:~/ROMVault-Papilio/papilio$ --- snip --- Skip Quote Link to comment Share on other sites More sharing options...
Felix Posted January 2, 2017 Author Report Share Posted January 2, 2017 it tries to run the linux version so " ./tools/linux/papilio-prog " there should be a directory called _tmp see if there is a generated bitfile there. you should be able to load it manually. if you cant find it, i would go to the top of the romgen stuff and do find | grep -i processed.bit then ./tools/linux/papilio-prog -v -f /path/to/processed.bit if you find it, you should be able to load it by hand and we can see about fixing the code alternately , find the file Papilio.cs in this function private void papilioParsePapilioScript (RvDir tGame) around line 848 is this line bool debugMode = false; change to bool debugMode = true; rebuild and try again. the log should now show what its trying to do Quote Link to comment Share on other sites More sharing options...
Skip Posted January 2, 2017 Report Share Posted January 2, 2017 Hi Jose, I had a intermediate.bit, but no processed.bit. After enabling debug I was able to figure out that the problem was that the linux/data2mem utility was a 32bit executable, but I'm running a 64bit machine. I copied the 64 bit version of data2mem from my ISE installation and that fixed that problem... Now eveything appears to work (no error messages), but the VGA output from the board is still from the last bit file I loaded. (log file attached) I'll comment out the code that clears the _tmp directory on completion and then try to load processed.bit manually. Skip log.txt Quote Link to comment Share on other sites More sharing options...
Skip Posted January 2, 2017 Report Share Posted January 2, 2017 Hi Jose, Pacman runs if I save the .bit file and then load it using papilio-loader-gui! That's pretty good progress, I'll mess with it some more tomorrow. Thanks for the program and help! Happy New Year Skip Quote Link to comment Share on other sites More sharing options...
Felix Posted January 2, 2017 Author Report Share Posted January 2, 2017 Jose? who is that lol.. there is only one person who calls me Jose and he is kind of a d!ck .. either way try loading to FPGA instead of Flash. 1) its quicker 2) after the file loads to flash, you have to trigger fpga reconfig. try loading the bitfile as normal then disconnect/connect the papilio board. if new bitfile shows up then the reconfigure command needs tweaked. also there seems to be a space missing in the argument to papilio-prog - - ARG: -v -f/home/skip/ROMVault-Papilio/papilio/_tmp/processed.bit -b "/home/skip/ROMVault-Papilio/papilio/bscanSPI/XC6SLX9-DUO.bit" -sa -r change Papilio.cs line 807 from string prog_args = string.Concat (" -v -f", bitfileFilename, .......... etc to string prog_args = string.Concat (" -v -f ", bitfileFilename, .......... etc notice the extra space after the -f that should fix all your issues. i will commit a fix to my git later on i committed a fix just now for the -f issue. will need to see about the 32 bit vs 64 bit issue though. unless you want to send me yours (i assume those are statically linked?) btw, the library function works as such.. you select "save .bit" and it will add the file to the library. next time you can load from library so no need to run the various PScript (Papilio Script) directives to reassemble the game. this is especially useful on atari 2600 as those take longer to do (due to the fact that i have to scan the rom code to *guess* what kind of bank switching scheme it uses and select the proper hardware profile) Quote Link to comment Share on other sites More sharing options...
Skip Posted January 2, 2017 Report Share Posted January 2, 2017 Sorry about that FELIX! Jose helped me with the Multicomp Z80 project earlier! I got my Papilio DUO a month ago, but I hadn't had a chance to do anything with it until the holidays... now I'm in Papilio overload! The 64bit version of data2mem is attached. It's not statically linked, but it doesn't appear to depend on any ISE libraries. Quote skip@xenial:~/ROMVault-PapilioEdition/ROMVault2/Stage/papilio/tools/linux$ ldd data2mem linux-vdso.so.1 => (0x00007ffc368e5000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f34afc6f000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f34afa52000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f34af6cf000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f34af3c6000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f34af1b0000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f34aede6000) /lib64/ld-linux-x86-64.so.2 (0x000056112caba000) I'll update from git and let you know shortly. Skip data2mem Quote Link to comment Share on other sites More sharing options...
Felix Posted January 2, 2017 Author Report Share Posted January 2, 2017 thanks for the file Skip. let me know how the rest goes. //F Quote Link to comment Share on other sites More sharing options...
Skip Posted January 2, 2017 Report Share Posted January 2, 2017 Hi Felix, Well a bit closer... I created a shell script to run the same command line and then ran it manually. The first thing I discovered was that I didn't have permission to use the usb device. I ran it as root and this time I get: Quote skip@xenial:~/ROMVault-Papilio$ ./e.sh ++ sudo ./papilio/tools/linux/papilio-prog -v -f /home/skip/ROMVault-Papilio/papilio/_tmp/processed.bit -b /home/skip/ROMVault-Papilio/papilio/bscanSPI/XC6SLX9-DUO.bit -sa -r Using built-in device list JTAG chainpos: 0 Device IDCODE = 0x24001093 Desc: XC6SLX9 Uploading "/home/skip/ROMVault-Papilio/papilio/bscanSPI/XC6SLX9-DUO.bit". DNA is 0x5970a7db5ebd1efe Done. Programming time 503.8 ms Programming External Flash Memory with "/home/skROMVault-Papilioip/ROMVault-Papilio/papilio/_tmp/processed.bit". Uknown Flash Manufacturer (0x00) Error: SPI Status Register [0x00] mismatch (Wrong device or device not ready).. Error occured. USB transactions: Write 182 read 14 retries 7 I probably should have mentioned earlier that auto detect isn't working, I've been selecting Papilio DUO manually. I built pailio-prog from current git sources when I was trying to get papilio-loader-gui to work on my 64 bit machine and it works with papilio-loader-gui. I changed my shell script to use that version and I got exactly the same error. Skip Quote Link to comment Share on other sites More sharing options...
Felix Posted January 2, 2017 Author Report Share Posted January 2, 2017 autodetect relies on the output of papilio-prog since it says unknown flash, i am guessing we should talk to @Jack Gassett since i don't know what causes that... i am guessing papilio-loader-gui settings you are using loads to fpga instead of flash which is why you dont see the issue there. just tell romvault to program game to FPGA instead of Flash for now? bottom right side , above the "Save" button, in the dropdown, change Flash to FPGA or sudo ./papilio/tools/linux/papilio-prog -v -f /home/skip/ROMVault-Papilio/papilio/_tmp/processed.bit btw you dont have to run it as root. there is a thread on forum that talks about it http://gadgetfactory.net/learn/2013/09/18/howto-papilio-loader-gui-on-linux/ you may have to adjust it a bit but you should be able to figure it out .. probably just stuff under "No Root Required!" need to be done Quote Link to comment Share on other sites More sharing options...
Skip Posted January 2, 2017 Report Share Posted January 2, 2017 Hi Felix, I figured out part of the problem. I modified my script to use /opt/GadgetFactory/papilio-loader/programmer/bscan_spi_xc6slx9.bit instead of .../ROMVault-Papilio/papilio/bscanSPI/XC6SLX9-DUO.bit and it worked. Interestingly there are two XC6SLX9-DUO.bit files under ROMVault-Papilio: Quote skip@xenial:~/ROMVault-Papilio$ md5sum `find . -name "*DUO*bit"` ec1fffb032079808c647a531daaec4d4 ./XC6SLX9-DUO.bit 695de836cc80e9c4c4c09be3309a86a8 ./papilio/bscanSPI/XC6SLX9-DUO.bit skip@xenial:~/ROMVault-Papilio$ md5sum /opt/GadgetFactory/papilio-loader/programmer/bscan_spi_xc6slx9.bit ec1fffb032079808c647a531daaec4d4 /opt/GadgetFactory/papilio-loader/programmer/bscan_spi_xc6slx9.bit and the "other" one matches the working version. Skip Quote Link to comment Share on other sites More sharing options...
Felix Posted January 3, 2017 Author Report Share Posted January 3, 2017 using bash for windows on a fresh download from github ::: root@FELIX-DELL:/mnt/c/Users/Felix/Downloads/ROMVault/ROMVault# md5sum `find . -name "*DUO*bit"` ec1fffb032079808c647a531daaec4d4 ./ROMVault2/Stage/papilio/bscanSPI/XC6SLX9-DUO.bit root@FELIX-DELL:/mnt/c/Users/Felix/Downloads/ROMVault/ROMVault# not sure where that other XC6SLX9-DUO.bit came from.. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.