Page 1 of 2

NESICIDE V1.007

Posted: Fri Aug 05, 2011 5:15 am
by cpow
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!

Posted: Fri Aug 05, 2011 8:34 am
by thefox
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. :)

Posted: Fri Aug 05, 2011 9:03 am
by cpow
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

Posted: Fri Aug 05, 2011 9:04 am
by thefox
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.

Posted: Sat Aug 06, 2011 10:05 pm
by slobu
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.

Posted: Sun Aug 07, 2011 5:53 am
by cpow
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.

Posted: Sun Aug 07, 2011 11:00 am
by qbradq
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.

Posted: Sun Aug 07, 2011 11:06 am
by slobu
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 :)

Posted: Sun Aug 07, 2011 11:35 am
by cpow
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!

Posted: Sun Aug 07, 2011 12:07 pm
by slobu
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.

Posted: Tue Aug 23, 2011 10:20 pm
by Dwedit
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.

Posted: Wed Aug 24, 2011 5:24 am
by cpow
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?

Posted: Wed Aug 24, 2011 5:34 am
by thefox
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.

Posted: Wed Aug 24, 2011 6:56 am
by cpow
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???

Posted: Wed Aug 24, 2011 10:18 am
by Dwedit
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: Select all

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.