It is currently Sun Nov 19, 2017 1:55 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 129 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6 ... 9  Next
Author Message
 Post subject: Re: NESICIDE
PostPosted: Wed Nov 07, 2012 12:38 am 
Offline
User avatar

Joined: Mon Jan 03, 2005 10:36 am
Posts: 2981
Location: Tampere, Finland
cpow wrote:
Regarding bundled installers for CC65 and GNU Make, I would do this but it makes the installer too large to put up on my google project page.

How so? The CC65 binaries total about 1 MB, and GnuWin32 make together with the required DLLs (2 as far as I know) is about 1 MB as well, should be able to fit that under the 20 MB (?) size limit. Anyway, if you're thinking of running external installers for CC65/make, I wouldn't do that, just throw the binaries in there.

_________________
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: kkfos.aspekt.fi


Top
 Profile  
 
 Post subject: Re: NESICIDE
PostPosted: Wed Nov 07, 2012 9:35 pm 
Offline
NESICIDE developer
User avatar

Joined: Mon Oct 13, 2008 7:55 pm
Posts: 1049
Location: Minneapolis, MN
Version 1.028 (windows build only) is out.

ChangeLog:
1. Installations (not installers) of GNU Make and CC65 are now delivered alongside the NESICIDE executables and libraries by the installer.
2. Settings are now stored .INI-style either in the platform-native location for such (%APPDATA%/CSPSoftware/NESICIDE.ini in Windows, etc.) or in the local directory of the installation. If you install to, and run from, a memory stick, for example, the NESICIDE.ini will be taken from the memory stick. Builds from now on will ignore any Windows registry debris left by earlier versions.

Unfortunately, for now, this requires external modification of the PATH environment variable so NESICIDE can find the GNU Make and CC65 tools. I'm hoping to find a way to get around this, but it may be as clunky as specifying full paths on all subprocess invocations. If you've installed GNU Make and CC65 yourself and they are already in your PATH, NESICIDE will just use those ones.

I added a bit of text to the Environment Settings, general page that shows where NESICIDE is currently retrieving its .INI file from.


Top
 Profile  
 
 Post subject: Re: NESICIDE
PostPosted: Thu Nov 08, 2012 7:59 pm 
Offline
NESICIDE developer
User avatar

Joined: Mon Oct 13, 2008 7:55 pm
Posts: 1049
Location: Minneapolis, MN
I re-released the 1.028 installer. This one comes with a batch file, nesicide-portable.bat that, when launched, will set up the PATH appropriately so NESICIDE can find the GNU Make and CC65 installs properly.


Top
 Profile  
 
 Post subject: Re: NESICIDE
PostPosted: Thu Nov 08, 2012 9:08 pm 
Offline
NESICIDE developer
User avatar

Joined: Mon Oct 13, 2008 7:55 pm
Posts: 1049
Location: Minneapolis, MN
cpow wrote:
I re-released the 1.028 installer. This one comes with a batch file, nesicide-portable.bat that, when launched, will set up the PATH appropriately so NESICIDE can find the GNU Make and CC65 installs properly.


Bah! Make that:

Version 1.029 is out. Silly bugs!

ChangeLog:
Fixed broken Emulator Preferences menu item.


Top
 Profile  
 
 Post subject: Re: NESICIDE
PostPosted: Fri Nov 09, 2012 4:58 pm 
Offline
User avatar

Joined: Sat Apr 18, 2009 4:36 am
Posts: 259
Location: Russia
Cpow,
Can you make something like this?

Image

1) Intermediate screen sizes, like 2.5x, 3.5x.
2) TV-aspect ratio option.
3) Simply interpolation option: to solve stretching problem.

And quick access to video options, of course.


Top
 Profile  
 
 Post subject: Re: NESICIDE
PostPosted: Sun Nov 11, 2012 8:12 am 
Offline
User avatar

Joined: Mon Jan 03, 2005 10:36 am
Posts: 2981
Location: Tampere, Finland
I tried compiling the hello world template with the latest version and got this:

Code:
ca65 --create-dep obj/nes/main.d -t nes -g --debug-info -o obj/nes/main.o src/main.s
src/main.s(10): Error: Cannot open include file `src/nes.h': No such file or directory
make: *** [obj/nes/main.o] Error 255

(Working directory not set properly?)

P.S. It's somewhat annoying that it's only possible to copy one line at a time from the build log. And the right click context menu option "Log to file" doesn't do anything but clears the log.

BTW, I specifically removed my old CC65 and MAKE directories from the PATH to try out the bundled versions, at least that part seems to be working.

EDIT: Actually the problem is in main.s: .include "src/nes.h" even though the path should be relative to the directory where the source file is (get rid of "src/"). Can't understand why it would have been working for you at any point, though. :)

EDIT #2: And now that I fixed the above problem in the source, it's complaining about not finding "nes.lib". So you should use -L or set LD65_LIB.

And after fixing that (pointing to the nes.lib in NESICIDE's cc65-snapshot directory):
Code:
ld65.exe: Error: Object file `add.o' in library `../cc65-snapshot/lib/nes.lib' has wrong version

And after copying a newer version of nes.lib in there, it finally works... hooray.

_________________
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: kkfos.aspekt.fi


Top
 Profile  
 
 Post subject: Re: NESICIDE
PostPosted: Sun Nov 11, 2012 3:39 pm 
Offline
NESICIDE developer
User avatar

Joined: Mon Oct 13, 2008 7:55 pm
Posts: 1049
Location: Minneapolis, MN
Thanks for the feedback thefox, I'll take a look at it.


Top
 Profile  
 
 Post subject: Re: NESICIDE
PostPosted: Mon Nov 12, 2012 11:03 pm 
Offline
NESICIDE developer
User avatar

Joined: Mon Oct 13, 2008 7:55 pm
Posts: 1049
Location: Minneapolis, MN
Version 1.030 is out.

ChangeLog:
1. Requests from Eugene.S:
a) Intermediate screen sizes, like 2.5x, 3.5x.
Ctrl+1 through Ctrl+5 cycle 1x, 1.5x, 2x, 2.5x and 3x.
b) TV-aspect ratio option.
Ctrl+0 switches between 4:3 and 1:1.
c) Simply interpolation option: to solve stretching problem.
Ctrl+9 switches between nearest neighbor and linear interpolation.
d) And quick access to video options, of course.
Quick access key shortcuts, menu options, and emulator preferences settings.

2. Requests/bugs from thefox:
a) P.S. It's somewhat annoying that it's only possible to copy one line at a time from the build log.
Fixed. Double click will now jump to line of code if an error/warning line is double-clicked on or a search result is double-clicked on, instead of single click. All text is selectable.
b)EDIT #2: And now that I fixed the above problem in the source, it's complaining about not finding "nes.lib". So you should use -L or set LD65_LIB.
I added setting LD65_LIB in nesicide-portable.bat. Works here.
c)EDIT: Actually the problem is in main.s: .include "src/nes.h" even though the path should be relative to the directory where the source file is (get rid of "src/"). Can't understand why it would have been working for you at any point, though. :)
Not sure what happened here. It works for me...on a laptop that's running NESICIDE from a thumb drive.


Top
 Profile  
 
 Post subject: Re: NESICIDE
PostPosted: Tue Nov 13, 2012 12:18 am 
Offline
User avatar

Joined: Mon Jan 03, 2005 10:36 am
Posts: 2981
Location: Tampere, Finland
cpow wrote:
b)EDIT #2: And now that I fixed the above problem in the source, it's complaining about not finding "nes.lib". So you should use -L or set LD65_LIB.
I added setting LD65_LIB in nesicide-portable.bat. Works here.

What about people who are not using nesicide-portable.bat?

Quote:
c)EDIT: Actually the problem is in main.s: .include "src/nes.h" even though the path should be relative to the directory where the source file is (get rid of "src/"). Can't understand why it would have been working for you at any point, though. :)
Not sure what happened here. It works for me...on a laptop that's running NESICIDE from a thumb drive.

I'm not using a thumb drive or "nesicide-portable.bat". The fact that it finds "src/nes.h" must mean that the current working directory in your case is the directory of the project. In my case that doesn't seem to be the case.

Actually, now that I reopen the project, even if I modify it to "src/nes.h" it works, so NESICIDE probably set the working directory now for some reason, but didn't do it before.

Try this: remove nesicide.ini and reinstall NESICIDE. Remove CC65 and make from PATH. Create a new project based on the Hello World template, and try compiling it.

Whatever turns out to be the reason, doing .include "src/nes.h" is not the "right thing".

EDIT: I don't know what is going on, but the Makefile/"Compile Project" is also not working correctly. Even if I modify main.s, it doesn't recompile the project when I press "Compile Project".

_________________
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: kkfos.aspekt.fi


Top
 Profile  
 
 Post subject: Re: NESICIDE
PostPosted: Tue Nov 13, 2012 8:04 am 
Offline
User avatar

Joined: Sat Apr 18, 2009 4:36 am
Posts: 259
Location: Russia
Thank you cpow. New video options is very good.
Scalers bug is also gone.


Top
 Profile  
 
 Post subject: Re: NESICIDE
PostPosted: Tue Nov 13, 2012 12:08 pm 
Offline
NESICIDE developer
User avatar

Joined: Mon Oct 13, 2008 7:55 pm
Posts: 1049
Location: Minneapolis, MN
Eugene.S wrote:
Thank you cpow. New video options is very good.
Scalers bug is also gone.

I released it last night before coming to work this morning to try it on my WinXP box. Thankfully my results there were good (RE scaling bug)... Thanks for the suggestions. I love the interpolation and 1.5x scale.


Top
 Profile  
 
 Post subject: Re: NESICIDE
PostPosted: Tue Nov 13, 2012 11:10 pm 
Offline
User avatar

Joined: Mon Jan 03, 2005 10:36 am
Posts: 2981
Location: Tampere, Finland
Just to clarify what I believe is the correct way to fix the problem I'm having with hello world template:

- Set the current working directory to the project directory (the directory where the .nesproject file is) before calling make.
- Set LD65_LIB environment variable for make's calling environment (hopefully Qt allows this, in Win32 it's the lpEnvironment parameter of CreateProcess).
- Change the .include "src/nes.h" line to .include "nes.h" in the template (the search path for includes is the directory of the source file, i.e. this is the Right Thing).

_________________
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: kkfos.aspekt.fi


Top
 Profile  
 
 Post subject: Re: NESICIDE
PostPosted: Wed Nov 14, 2012 9:00 am 
Offline
NESICIDE developer
User avatar

Joined: Mon Oct 13, 2008 7:55 pm
Posts: 1049
Location: Minneapolis, MN
thefox wrote:
Just to clarify what I believe is the correct way to fix the problem I'm having with hello world template:

- Set the current working directory to the project directory (the directory where the .nesproject file is) before calling make.
- Set LD65_LIB environment variable for make's calling environment (hopefully Qt allows this, in Win32 it's the lpEnvironment parameter of CreateProcess).
- Change the .include "src/nes.h" line to .include "nes.h" in the template (the search path for includes is the directory of the source file, i.e. this is the Right Thing).


Yep I have fixes for all this I'll make a release sometime soon. I finally found the way to change the application's environment internally.

RE the include pathing I guess we'll have to agree to disagree.


Top
 Profile  
 
 Post subject: Re: NESICIDE
PostPosted: Wed Nov 14, 2012 9:44 am 
Offline
User avatar

Joined: Mon Jan 03, 2005 10:36 am
Posts: 2981
Location: Tampere, Finland
cpow wrote:
RE the include pathing I guess we'll have to agree to disagree.

What do we disagree about? I say it's more logical to use source file relative paths when including files, you say it's better to use working directory relative paths. I know tepples' original source uses "src/nes.h" too, but that was probably made for an old version of CA65 where that was a requirement (you can find many threads about include search path behavior on CC65's mailing list).

Actually, it seems like the search path behavior has changed recently when compared to the CC65 snapshot included in NESICIDE, the latest version doesn't seem to be searching the working directory at all, so "src/nes.h" doesn't work with it no matter what.

_________________
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: kkfos.aspekt.fi


Top
 Profile  
 
 Post subject: Re: NESICIDE
PostPosted: Wed Nov 14, 2012 12:30 pm 
Offline
NESICIDE developer
User avatar

Joined: Mon Oct 13, 2008 7:55 pm
Posts: 1049
Location: Minneapolis, MN
thefox wrote:
cpow wrote:
RE the include pathing I guess we'll have to agree to disagree.

What do we disagree about? I say it's more logical to use source file relative paths when including files, you say it's better to use working directory relative paths. I know tepples' original source uses "src/nes.h" too, but that was probably made for an old version of CA65 where that was a requirement (you can find many threads about include search path behavior on CC65's mailing list).

Actually, it seems like the search path behavior has changed recently when compared to the CC65 snapshot included in NESICIDE, the latest version doesn't seem to be searching the working directory at all, so "src/nes.h" doesn't work with it no matter what.


I'm not saying either is better.

I see your point. I only meant disagreement in that I don't believe code should be written with one particular search path list in mind over another. Both
Code:
#include "src/nes.h"
and
Code:
#include "nes.h"
are valid statements and will resolve to the right file if a)the compiler's search path already contains the base path or b)has been amended with the appropriate base path via -I directives.

NESICIDE can only go so far in guaranteeing that a particular project will work with a particular version of the compiler. That is why there was a push to get the compiler bundled to begin with. If a power user wants to use his own version, said power user should also be able to resolve any strange behaviors brought about by use [or misuse] of compiler directives that behave differently between compiler versions.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 129 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6 ... 9  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group