This page is a mirror of Tepples' nesdev forum mirror (URL TBD).
Last updated on Oct-18-2019 Download

NESICIDE V1.007

NESICIDE V1.007
by on (#82488)
NESICIDE V1.007 windows MSI.

ChangeLog:
Added PNG file export capability to Graphics Banks.
Added initial stab at a Code Profiler that has limited information in it at the moment.
Added configurable C-language syntax highlighting using QScintilla's standard "C++ lexer". Eventually I'll strip out the useless style tags.
Added mixed-mode debug capability in C-language source files.
Added source stepping capability in C-language source files.
Added step-over capability.
Step-return capability is planned but not working yet.

Also included there is a NESICIDE project based on Shiru's Alter Ego game.

A big thanks to qbradq for hosting this release while I get my website sorted out!

by on (#82497)
First things first:

1) Please provide a .zip package as well, needing to uninstall the old version every time a new release comes is a PITA. :)

2) It might be better/less spammy to keep all these release notifications (and everything else NESICIDE related as well) in one thread.

When stepping into a source file that is not found, I'd like to see option to browse for that file manually. The path of the file could then be added to per-project source search path. For example, crt0.s might come from a library, and thus can't always be found from the path of the project. Another (easier) option to handle the above would be to provide library source search path in Environment Settings or something...

Also I'm not sure if you do this yet, but comparing the modification time of a file to the one in the debug info would be nice (and warning the user if they don't match), especially if the feature above is implemented.

Other than that, this project is obviously starting to take shape. Good work. :)

by on (#82499)
thefox wrote:
1) Please provide a .zip package as well, needing to uninstall the old version every time a new release comes is a PITA. :)


Hmmm...I turned on "remove old versions" in the installer builder. On my system it runs and does a remove first. Weird. I'll get a ZIP together.

thefox wrote:
2) It might be better/less spammy to keep all these release notifications (and everything else NESICIDE related as well) in one thread.


Will do.

thefox wrote:
When stepping into a source file that is not found, I'd like to see option to browse for that file manually. The path of the file could then be added to per-project source search path. For example, crt0.s might come from a library, and thus can't always be found from the path of the project. Another (easier) option to handle the above would be to provide library source search path in Environment Settings or something...


Good idea. I was wondering about the best way to solve that problem.

thefox wrote:
Also I'm not sure if you do this yet, but comparing the modification time of a file to the one in the debug info would be nice (and warning the user if they don't match), especially if the feature above is implemented.


Another good idea.

I'll work on those and put another release together.

thefox wrote:
Other than that, this project is obviously starting to take shape. Good work. :)


Thanks! :D

by on (#82500)
cpow wrote:
Hmmm...I turned on "remove old versions" in the installer builder. On my system it runs and does a remove first. Weird. I'll get a ZIP together.

Ah OK, well then it's fine. You see, I didn't even attempt to install the new MSI without uninstalling the old one because of the way the previous releases behaved.

by on (#82550)
I know bleeding edge tools aren't for newbies but..

Went to cc65 website and downloaded -> installed latest
Downloaded and installed NESICIDE
Downloaded and created AlteredEgo project folder under NESICIDE
Opened project in NESICIDE and tried to compile and failed

2 errors:
Lua Script Error: Yield, cannot open ../nesicide/plugins/init.lua: No such file or directory

and

Reading debug information from: alterego.dbg
Error:alterego.dbg(0): Cannot open input file "alterego.dbg": No such file or directory

Using XP 32-bit. Nothing special.

by on (#82555)
You need the 0803 snapshot version of CC65. I have it and have provided it to qbradq to put up alongside the NESICIDE installer, but I don't think he's had time to do it yet. You also need GNU Make 3.81 for Windows (which I also downloaded and provided to qbradq).

Obviously GNU Make can be downloaded from anywhere but I think the 0803 snapshot of CC65 is gone because Uz does nightly snapshots. Uz is working on some features that'll help NESICIDE with better symbol resolution but currently the snapshots after 0803 are not in a working state.

by on (#82560)
These two have been uploaded to the file site now. I had to zip them as Google will not allow a raw executable to be uploaded.

by on (#82561)
cpow wrote:
You need the 0803 snapshot version of CC65. I have it and have provided it to qbradq to put up alongside the NESICIDE installer, but I don't think he's had time to do it yet. You also need GNU Make 3.81 for Windows (which I also downloaded and provided to qbradq).

Obviously GNU Make can be downloaded from anywhere but I think the 0803 snapshot of CC65 is gone because Uz does nightly snapshots. Uz is working on some features that'll help NESICIDE with better symbol resolution but currently the snapshots after 0803 are not in a working state.


Thanks for your help! Installing GNU Make seemed to help with the Lua errors. As you stated, nothing will compile still. I'll keep checking this topic for a complete package. Right now I can't even compile using batch files as I get a message like this:
ld65.exe: Error: Input file `c:\cc65\lib\nes.o' not found
No CC65 or KNES download seems to have this nes.o file. Oh well.

The interface for NESICIDE really has me jazzed up. The last time I programmed in C was on a DOS Borland compiler. Needless to say this is quite a step up in usebility! I like the tree view for project resources to the left. I really like the code window in that it makes C look readable (even for a interpreted language junkie like me.)

Thanks again for your help and keep up the good work. More user friendly tools means more users using those tools. Eventually that leads to more homebrew :)

by on (#82563)
slobu wrote:
Thanks for your help! Installing GNU Make seemed to help with the Lua errors.

The Lua errors are meaningless. Nothing in the IDE uses Lua yet.

slobu wrote:
As you stated, nothing will compile still. I'll keep checking this topic for a complete package. Right now I can't even compile using batch files as I get a message like this:
ld65.exe: Error: Input file `c:\cc65\lib\nes.o' not found
No CC65 or KNES download seems to have this nes.o file. Oh well.

Did you download and install the 0803 CC65 snapshot that qbradq put on the download site?

slobu wrote:
The interface for NESICIDE really has me jazzed up. The last time I programmed in C was on a DOS Borland compiler. Needless to say this is quite a step up in usebility! I like the tree view for project resources to the left. I really like the code window in that it makes C look readable (even for a interpreted language junkie like me.)

Thanks again for your help and keep up the good work. More user friendly tools means more users using those tools. Eventually that leads to more homebrew :)

Thanks!

by on (#82565)
Tried to uninstall GNU Make, cc64 and NESICIDE and redo it with the updated files and still no compile. I'm fully willing to blame by Windows configuration for this. My next step is a fresh install of Windows followed by immediately installing your provided software.

If and when I get this working I'm thinking about using Installrite or Cameyo to make sure everything is correct and fool (read: me) proof :)

UPDATE: Still getting no love on a fresh install of XP:
1. Install GNU Make
2. Install snapshot of cc65
3. Install NESICIDE
4. Open AlterEgo.nesproject in AlterEgo folder
5. Attempt to compile gives Build Failed message.

by on (#83070)
The Browse For Folder dialog is broken, I can only select "C:\", "C:\Program Files\", or "C:\Program Files\Nesicide". And to add insult to injury, the Textbox where you would type a path is disabled.

Is QT trying to use the native dialog? Need to use BIF_NEWDIALOGSTYLE in order to get the less-sucky version of the Browse For Folder dialog that lets you type in paths.

by on (#83072)
Dwedit wrote:
The Browse For Folder dialog is broken, I can only select "C:", "C:\Program Files", or "C:\Program Files\Nesicide". And to add insult to injury, the Textbox where you would type a path is disabled.

Is QT trying to use the native dialog? Need to use BIF_NEWDIALOGSTYLE in order to get the less-sucky version of the Browse For Folder dialog that lets you type in paths.


Thanks Dwedit I'll look into this. What path, in particular, or are they all behaving like that?

by on (#83073)
Dwedit wrote:
The Browse For Folder dialog is broken, I can only select "C:", "C:\Program Files", or "C:\Program Files\Nesicide". And to add insult to injury, the Textbox where you would type a path is disabled.

Is QT trying to use the native dialog? Need to use BIF_NEWDIALOGSTYLE in order to get the less-sucky version of the Browse For Folder dialog that lets you type in paths.

On my computer (running Win7 64-bit), it does use the new style dialog. Maybe it does a bad job at detecting whether that dialog is available.

by on (#83078)
thefox wrote:
Dwedit wrote:
The Browse For Folder dialog is broken, I can only select "C:", "C:\Program Files", or "C:\Program Files\Nesicide". And to add insult to injury, the Textbox where you would type a path is disabled.

Is QT trying to use the native dialog? Need to use BIF_NEWDIALOGSTYLE in order to get the less-sucky version of the Browse For Folder dialog that lets you type in paths.

On my computer (running Win7 64-bit), it does use the new style dialog. Maybe it does a bad job at detecting whether that dialog is available.


Dwedit: I don't know why you would be restricted to C:, C:\Program Files, and C:\Program Files\Nesicide.

I tried fooling around with the options to the dialog but couldn't get anything that worked any better than what I already have. I switched it to the native dialog and it looked different but offered the same functionality. I was not path-restricted in either case. Is there some security mechanism on your PC that is locking you down to those folders???

by on (#83086)
I've seen it happen in several other programs that use the SHBrowseForFolder dialog, it's not just this program.

When calling SHBrowseForFolderW, a BROWSEINFO struct is passed in.
0x45 is used as the Flags parameter.
I determined that it was setting these flags: (marked with 1)
Code:
1    BIF_RETURNONLYFSDIRS (0x00000001)
0    BIF_DONTGOBELOWDOMAIN (0x00000002)
1   BIF_STATUSTEXT (0x00000004)
0    BIF_RETURNFSANCESTORS (0x00000008)
0    BIF_EDITBOX (0x00000010)
0    BIF_VALIDATE (0x00000020)
1   BIF_NEWDIALOGSTYLE (0x00000040)
0    BIF_BROWSEINCLUDEURLS (0x00000080)
0    BIF_UAHINT (0x00000100)
0    BIF_NONEWFOLDERBUTTON (0x00000200)
0    BIF_NOTRANSLATETARGETS (0x00000400)
0
0    BIF_BROWSEFORCOMPUTER (0x00001000)
0    BIF_BROWSEFORPRINTER (0x00002000)
0    BIF_BROWSEINCLUDEFILES (0x00004000)
0    BIF_SHAREABLE (0x00008000)
0    BIF_BROWSEFILEJUNCTIONS (0x00010000)


BIF_EDITBOX is not set, so there's no box to type in paths.
No idea about the restrictions on selecting things out of the browse for folder dialog though. Suggest you find a way to turn off STATUSTEXT.

EDIT: Through the magic of PC debuggers, I can change the flags and see what happens.
Whenever BIF_NEWDIALOGSTYLE was set, I couldn't select any directories other than a parent of the current directory. This is weird, because it works fine in other programs.
So we want 0x11 to be the flags parameter (BIF_RETURNONLYFSDIRS | BIF_EDITBOX).
Also, it seems that programs that don't have the problem (Like 7-zip) set the current directory to "My Documents" before opening the Browse For Folder dialog, so they have all subdirectories available in the C:\ drive.

Edit: Yep, it's broken by design, you can't get to any other parent if the current directory is set before the dialog appears. You can possibly hook onto the dialog and set it afterwards.

I suggest you replace it with a "Save As..." dialog with a project name or something like that, that way you don't ever have to see the BrowseForFolder dialog.

by on (#83228)
I'm in a position where I can easily load fresh installs of XP, Vista and 7. I'd like to provide useful installation testing info. Is there particular steps or order I should be installing things to get an example to compile? My own attempts so far have failed.

by on (#83230)
slobu wrote:
I'm in a position where I can easily load fresh installs of XP, Vista and 7. I'd like to provide useful installation testing info. Is there particular steps or order I should be installing things to get an example to compile? My own attempts so far have failed.


Sorry, slobu, I completely missed your reply on the previous page.

slobu wrote:
Tried to uninstall GNU Make, cc64 and NESICIDE and redo it with the updated files and still no compile. I'm fully willing to blame by Windows configuration for this. My next step is a fresh install of Windows followed by immediately installing your provided software.

If and when I get this working I'm thinking about using Installrite or Cameyo to make sure everything is correct and fool (read: me) proof Smile

UPDATE: Still getting no love on a fresh install of XP:
1. Install GNU Make
2. Install snapshot of cc65
3. Install NESICIDE
4. Open AlterEgo.nesproject in AlterEgo folder
5. Attempt to compile gives Build Failed message.


When you go to Help->About Nesicide in the application, and look at the "Versions" tab, what do you see for the versions of the CC65 tools and Make? If any of those are blank it's a problem with your PATH. I had an issue on a computer I tried installing NESICIDE on which turned out to be that the GNU Make installer hadn't added its info to my PATH, so NESICIDE couldn't find it. Same is true for cc65...you want to make sure to select the option to add it to your PATH.

I realize the output pane isn't very text copy/paste friendly at the moment, so could you paste a screenshot of the content of the output pane with the "Build Failed" message?

Feel free to PM me or email me...I can't get on IRC during work hours.

by on (#83910)
Sorry to take so long on this. Just got a fresh install of XP to test with. Same steps as before. Same results. Again, I blame end-user-itis on this. I did notice the "make" section was blank in the version tab. Is that the step that's missing? If so, given default install settings for each dependancy (GNU Make, cc65, NESICIDE) what is the next step? As a side I couldn't select all the text from the Output field. I had to copy-and-paste line by line (but, you knew that) :p

Contents of PATH statement:
Quote:
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\cc65-snapshot\bin;;C:\Program Files\cc65-snapshot\bin


Version info:
Quote:
NESICIDE Application version:
V1.007 RELEASE

NESICIDE Emulator Library version:
V1.003 RELEASE

Versions of external dependencies:
cc65:
cc65 V2.13.9
SVN version: unknown

ca65
ca65 V2.13.9 - (C) Copyright 1998-2011 Ullrich von Bassewitz
ca65.exe: No input files

ld65
ld65 V2.13.9 - (C) Copyright 1998-2009, Ullrich von Bassewitz
ld65.exe: Error: No object files to link

make


Output:
Quote:
Project build started.
Building: obj/nes/alterego.prg
make all
Build failed.

by on (#83916)
slobu wrote:
Contents of PATH statement:
Code:
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\cc65-snapshot\bin;;C:\Program Files\cc65-snapshot\bin



Yes, GNU make did not put itself in your path during the install. I had the same issue on WinXP. I had to add:
Code:
C:\Program Files (x86)\GnuWin32\bin

to my PATH.

EDIT: Fixed formatting.

by on (#83921)
Thanks for the fix! Actually, I just tried this on Win 7 32-bit and cc64 and make failed to put entries into the PATH.

I changed the environment variables -> PATH to:
Quote:
C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\cc65-snapshot\bin;;C:\Program Files\cc65-snapshot\bin;C:\Program Files\GnuWin32\bin


Of course, end-users should avoid arbitrarily blowing away any existing PATH info. This is just to add cc65 and make locations in there.

Might I suggest checking for these PATH entries on install of NESICIDE and adding them if needed?

cpow wrote:
slobu wrote:
Contents of PATH statement:
Code:
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\cc65-snapshot\bin;;C:\Program Files\cc65-snapshot\bin



Yes, GNU make did not put itself in your path during the install. I had the same issue on WinXP. I had to add:
Code:
C:\Program Files (x86)\GnuWin32\bin

to my PATH.

EDIT: Fixed formatting.

by on (#83924)
slobu wrote:
Thanks for the fix!


So it works now?

slobu wrote:
Might I suggest checking for these PATH entries on install of NESICIDE and adding them if needed?


If I can figure out how to do this with AdvancedInstaller, I'll do it. But I'm concerned that even if I could figure it out, it would be wasting time because the end user can install both packages wherever they want. How to deduce where they installed them if they're not evident in the PATH already?

by on (#83934)
Oops! Sorry, yes. It compiles. I might not understand how the debug emulator works as it results in a green screen. FCEU does run the ROM correctly though. Unless I'm picking out a pre-compiled .NES in the example project.

I would suggest checking out the PATH string for any cc65 or make entries. If none are found give a dialog that allows the end user to select a path or cancel to refrain.

I really believe your IDE could draw first time NES/C developers. It's visual enough and feature encompassing enough IMHO. Understanding the need for special entries in their path for make and cc65 may not be common knowledge.

cpow wrote:
slobu wrote:
Thanks for the fix!


So it works now?

slobu wrote:
Might I suggest checking for these PATH entries on install of NESICIDE and adding them if needed?


If I can figure out how to do this with AdvancedInstaller, I'll do it. But I'm concerned that even if I could figure it out, it would be wasting time because the end user can install both packages wherever they want. How to deduce where they installed them if they're not evident in the PATH already?

by on (#83941)
slobu wrote:
Oops! Sorry, yes. It compiles. I might not understand how the debug emulator works as it results in a green screen.

Any chance you can share the project content and project file so I can help you figure this out?

EDIT: I just thought...did you click the icon in the toolbar next to the "Compile" icon? That toolbar button loads the compiled ROM into the emulator. If you don't do this, when you hit the "Run" button you'll be running a blank ROM and get a green screen as a result. Yes, I know, a users guide would be very helpful! :)
slobu wrote:
I would suggest checking out the PATH string for any cc65 or make entries. If none are found give a dialog that allows the end user to select a path or cancel to refrain.

Yes, I will do something like this.
slobu wrote:
I really believe your IDE could draw first time NES/C developers. It's visual enough and feature encompassing enough IMHO. Understanding the need for special entries in their path for make and cc65 may not be common knowledge.

Thanks for the feedback. I'm presently almost ready to release a new version with a Tile Editor that should hopefully be very useful also.