Being rather tech savvy but still not working with software, the entire field of source repos and management of them has been a field where I felt my competence was really blurry. Adding to this, I hear from many sources that building VICE from source seemed like it included elements of black magic to pull off. So I didn’t even try. Then Pokefinder nightly build stopped working at new year 2018/19 (and much to my surprise it seems up again since a few days). So in short, if I wanted to keep up, I had to learn to build myself.

So I was ready to dig deep and start learning black magic. I’m not really sure if I was disappointed, surprised or happy when I realised that all it took was following a guide and then I was done. There was absolutely nothing strange about it. Nothing.

There is a guide in the source package so the only part one can have views on is that you need to download the package just to get the guide. It would be a lot easier if the guide was online directly. Below you will find the guide as provided in the source package, after my modifications. The bulk of the text is written by the VICE project.

PLEASE MIND THAT THIS IS THE GUIDE – with my comments – THAT WAS VALID AT THE POINT OF WRITING THE POST. IT COULD VERY WELL HAVE CHANGED.

VICE (GTK) on Windows

These are some instructions about getting VICE with the GTK3 GUI
compiled on Windows under MinGW.

  1. Get MSys2 (includes mingw):
    http://www.msys2.org/
    Install as per that webpage; but, don’t bother with step 7 (GIT),
    unless you actually want GIT.
  2. Install the stuff that you actually need to build VICE:
    Launch either the MSYS2 MinGW 64-bit shell or the MSYS2 MinGW 32-bit shell
    (use the one that matches the version of MSys2 that you installed).
    Run the following command line to install your prerequisites:

$ pacboy sync base-devel: pkg-config gcc ntldd zip: subversion: gtk3 glew

(Note: type the colons that you see in that command; they are important.
Hit enter for the default on all the prompts, then wait for the 306 MiB
of stuff to download and install.)

  1. Then you need the xa 6502 cross-assembler, which is used to assemble the
    “driver” program for vsid (the SID player that comes with VICE). It can be found
    here: http://www.floodgap.com/retrotech/xa/

Don’t log out of the shell. After you download xa, go back to the shell.

Alternatively use wget to download it:

$ cd /c/Users//Downloads/
$ wget http://www.floodgap.com/retrotech/xa/dists/xa-2.3.9.tar.gz

Make the directory “/usr/local/src/”.
Use tar to unpack xa (use the MSys2 path to where you downloaded it):

$ cd /usr/local
$ mkdir -p src
$ cd src
$ tar -xzf /c/Users//Downloads/xa-2.3.9.tar.gz

Then, build and install it:

$ cd xa-2.3.9
$ make mingw install
$ mv ../../bin/xa.exe ../../bin/xa65.exe

  1. Get VICE’s source code.
    To checkout the source with Subversion (to “~/vice/”, for example),
    you could type:

$ cd ~
$ svn checkout http://svn.code.sf.net/p/vice-emu/code/trunk/vice vice

Now, you can try to build VICE:

$ cd ~/vice
$ ./autogen.sh
$ ./configure -C –enable-native-tools –enable-native-gtk3ui
$ make
$ make bindist

Pontus: There are aspects of VICE I really want (CPU history being the main one) and there are a number of features I can live without, that only risk slowing down emulator and making the payload bigger. So my first build looks like this:

$ cd ~/vice
$ ./autogen.sh
$ ./configure -C –enable-native-tools –enable-native-gtk3ui –enable-cpuhistory –disable-catweasel –enable-lame –disable-rs232 –disable-hardsid –disable-parsid –enable-ethernet –enable-x64 –disable-debug
$ make
$ make bindist

  1. If it got through all those steps, you should have some executables to play
    with in “GTK3VICE-3.?-win??-*/” (the “win??” part of that name tells you which
    type [32-bit or 64-bit] you built).
  2. You can build the 32-bit version of VICE and/or the 64-bit version. You
    make the choice by choosing to run a particular one of the MSYS2 MinGW shells
    (its environment variables control VICE’s configuration).

If you build one version, then want to build the other version, you must clean away some object files first. Then, you must configure VICE again.

$ make clean
$ rm config.cache
$ ./configure -C –enable-native-tools –enable-native-gtk3ui
$ make
$ make bindist

NOTE: The above alternative configure lines shoule be used if you want the alternative configurations.

  1. If you want the distribution in a ZIP archive instead of a subdirectory,
    then use the command

$ make bindistzip

instead of

$ make bindist

Pontus: Updating VICE is then easy. Open the MSYS2 shell and write:

$ svn update vice
$ cd ~/vice
$ make
$ make bindist

Thanks for rating this! Now tell the world how you feel - .
How does this post make you feel?
  • Excited
  • Fascinated
  • Amused
  • Bored
  • Sad
  • Angry