| |
Firehawk
Registered: Aug 2011 Posts: 31 |
Problem with vice 2.4 on ubuntu 16.04 (and lubuntu)
I found that there is a problem with Vice 2.4 under ubuntu (aquired with sudo apt-get install vice), in particular using the krill loader (none of my previous multi-load demos worked either, and they were tested on real C64). My solution was to compile the 2.4 x64sc from source (instead of using the ubuntu build), and that worked perfectly (however the GUI is somewhat "different").
Anyone got a clue on how to build the x64sc from source with the proper user interface? Anyone else have had similar problems?
I did find that there was previously a problem with setting $dd00 with the loader (any workaround btw?), but I was under the impression that it was fixed (and it does work on real HW). |
|
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
1) get the svn version and forget 2.4 - its outdated and buggy
2) instructions are here |
| |
Marq
Registered: Sep 2011 Posts: 50 |
Just tried "Frantic 3: Nightmare" with the vanilla VICE 2.4 that comes with Mint and it seems to work fine. I suppose you had True drive emulation on...? |
| |
Firehawk
Registered: Aug 2011 Posts: 31 |
I found a problem with a lib_free of a temporary variable (main.c:241), apparently the code manages to overwrite the memory, thereby corrupting the next memory segment. If you set the malloc size (main.c:225) to a higher value (i.e. 250, since we do have a LOT of memory these days), the problem disapeared for me.
I also fixed (perhaps) a problem with ambigous notting in parallel-trap.c, but not sure if this is the intended functionality or not. Anyway the warning is quite obvious, so the Vice team should pick that up anyway. |
| |
Compyx
Registered: Jan 2005 Posts: 631 |
Quoting FirehawkI found a problem with a lib_free of a temporary variable (main.c:241), apparently the code manages to overwrite the memory, thereby corrupting the next memory segment. If you set the malloc size (main.c:225) to a higher value (i.e. 250, since we do have a LOT of memory these days), the problem disapeared for me.
Should be fixed in R31750
Quoting FirehawkI also fixed (perhaps) a problem with ambigous notting in parallel-trap.c, but not sure if this is the intended functionality or not. Anyway the warning is quite obvious, so the Vice team should pick that up anyway.
Not sure what you mean with 'ambigious notting' or 'I fixed'? If you have a patch, feel free to submit it to the tracker: https://sourceforge.net/p/vice-emu/patches/
Preferably a simple diff of the file(s) you changed. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
also dont assume other people see the same warnings as you do - as that heavily depends on your global CFLAGS and also on your compiler version. i get no warnings at all when building vice, for example :) |
| |
Firehawk
Registered: Aug 2011 Posts: 31 |
parallel-trap.c: line 101
"if (!p->isopen[channel] == 1)"
should perhaps be:
"if (!(p->isopen[channel] == 1))"
or
"if ((!p->isopen[channel]) == 1)"
? |
| |
Claus_2015
Registered: Oct 2012 Posts: 53 |
Bah, not enough negations per line, this should be
if ((!p->isopen[channel]) != 0) |
| |
Mirage
Registered: Jan 2003 Posts: 113 |
if ((!(p->isopen[channel]) != 0) ? !false : !true) |
| |
Compyx
Registered: Jan 2005 Posts: 631 |
Quoting the Bible:
Kernighan and Richie, Book 2, verse 53 tells us that dereferencing (->) has higher precedence than negation (!). So the code is correct, although I would also add parenthesis to be sure. |
| |
Firehawk
Registered: Aug 2011 Posts: 31 |
quoting anonymous source:
"do not write code that would confuse human beings".
:-) |
| |
Compyx
Registered: Jan 2005 Posts: 631 |
Fuck, it's not correct at all. Who wrote this?
K&R are still gods though, phew. |