It is currently Sun Dec 17, 2017 6:36 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 12 posts ] 
Author Message
 Post subject: Ideas for an IDE?
PostPosted: Mon Jan 10, 2005 8:30 pm 
Offline

Joined: Mon Sep 27, 2004 11:51 pm
Posts: 101
Well, after years of thinking how nice it would be to have a program similar to MS's IDE but for NES (and quite possibly other consoles) development, I am finally putting something together. Perhaps one of the most important aspects of such a project would be coding an emulator 100% compatible with the editor (debugging purposes), but that is already done. The application is being coded entirely in C++, and wxWidgets is being used for GUI code. Some of the drawbacks I have come accross thus far are:

- The lack of direct ways of accessing graphics and sound through wxWidgets. This is one of the reasons why I am using Allegro, but, as you can imagine, this is not that great of a solution. It is because of this that I have not yet implemented a decent pattern / VRAM memory viewer;

- Extracting debug information out of CA65, which is what I am going to be using for now as an assembler (others could be easily supported though). Do any of you have any tips on how I should go about doing this in an efficient manner?

- Usage of multiple threads. I am not aware of the capabilities of systems other than PCs, so I'd like to know if multi-threading could potentially compromise portability;

- Lack of portable XML parsers. Maybe I am not searching correctly? What do you think of Gnome's parser? This is to be used for loading / saving project settings, and perhaps other things.

What are some of the things you'd like to see in it? Here's some things I am planning on adding:

- Some sort of a plugin for music composition;
- Table generators (multiplication, etc.);

Ideas are welcome.

_________________
http://hydesprojects.cjb.net/


Top
 Profile  
 
 Post subject:
PostPosted: Tue Feb 01, 2005 6:21 am 
Offline
Formerly Fx3
User avatar

Joined: Fri Nov 12, 2004 4:59 pm
Posts: 3076
Location: Brazil
I have an IDE in mind... I would aim newbies too. ;)

- A text-like window within the instructions (like a disassembler output);
- An option to choose an opcode, then its addressing mode + insert button/value (if required);
- Options to define the 3 vectors (RESET/NMI/IRQ);
- A 'load GFX buffer' & set loading point (cpu address, as 'lda $C000');
- Labels & shortcuts (like '#define _SOUNDADDR $F8') user-define;
- Stupid iNES header creator and/or UNIF packaging;
- A preview, obviously, to run your code (basic 'run', 'trace', 'step back');
- Any additional feature to enhance the UI.

Lazyness is a crucial problem ;)
I have this UI in mind... but the programming motivation... ^_^;;;

_________________
Zepper
RockNES developer


Top
 Profile  
 
 Post subject:
PostPosted: Tue Feb 01, 2005 7:53 am 
Offline

Joined: Mon Sep 20, 2004 6:47 am
Posts: 48
Quote:
- Extracting debug information out of CA65, which is what I am going to be using for now as an assembler (others could be easily supported though). Do any of you have any tips on how I should go about doing this in an efficient manner?

feed the exe's output through the pipe information to a list box

Quote:
- Usage of multiple threads. I am not aware of the capabilities of systems other than PCs, so I'd like to know if multi-threading could potentially compromise portability;

linux has threads can't say about mac but i think so
but unless you can test these systems, you can't garentee portability even using wxwidgets (take look at the 'done' list on each of the systems) and there's allegro portabilty compatibilty too to be considered


Last edited by RoboNes on Wed Feb 02, 2005 3:51 pm, edited 1 time in total.

Top
 Profile  
 
 Post subject:
PostPosted: Tue Feb 01, 2005 10:47 am 
Offline

Joined: Mon Sep 27, 2004 11:51 pm
Posts: 101
Yeah, it seems like I am going to have problems in terms of portability. Right now, however, it does not really matter that much whether I can get the program to run on other architectures or not. So far I have been adding new features to my emulator and have begun working on an interface for CA65.
Quote:
feed the exe's output through the pipe information to a list box

I'm afraid it is more complicated than that. What I actually need is information regarding line numbers and whatnot, so that breakpoints can be established easily. It seems like the authors of CA65 have not bothered to document the object file format, so I really do not know what to do. I guess I could somehow parse automatically generated listings and figure out the line numbers from that.

By the way, a new version of aNESe is out, which sort of shows what the IDE is going to look like. You can get it from my website.

Any other suggestions are welcome.

_________________
http://hydesprojects.cjb.net/


Top
 Profile  
 
 Post subject:
PostPosted: Tue Feb 01, 2005 7:11 pm 
Offline

Joined: Sat Oct 02, 2004 12:07 pm
Posts: 163
i was thinking last night, tabbed completion of named areas in memory would be nice. might be a nice feature or something

_________________
i dont have much to say


Top
 Profile  
 
 Post subject:
PostPosted: Wed Feb 02, 2005 11:16 am 
Offline
User avatar

Joined: Thu Oct 21, 2004 4:02 pm
Posts: 210
Location: San Diego
Have you considered using IBM's Eclipse IDE architecture? (www.eclipse.org) When I was reading about it, all I could think was "man I wish someone would create a NES enviroment for this thing".


Top
 Profile  
 
 Post subject: Diag trace
PostPosted: Thu May 19, 2005 9:47 pm 
One simple solution is to build rom memory marking into an existing emulator such as FCEU and then to

run the rom
set a starting point for rom memory marking
play the rom
stop the rom memory marking
dump the LIST of marked ares of the rom to a file

This list of marked areas contains all of the
a. data memory read from
b. data memory written to
c. instructions executed

This way you could first:
1. mark all code + data that is used in the startup screen

2. mark all code + data used in playing a particular part of the game.


Top
  
 
 Post subject:
PostPosted: Fri Jun 17, 2005 8:39 pm 
Offline

Joined: Tue Apr 05, 2005 7:30 pm
Posts: 179
I wonder about the feasibility of a dev system on the NES itself...it would be a pretty ambitious experiment, to say the least, coding for the NES on the NES itself. Heheheh. :-) If nothing else it would certainly speed up testing time by quite a bit, though you'd have to figure out some sort of controller interface between a keyboard and the controller ports.

_________________
Be whatever the situation demands.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jun 17, 2005 11:27 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19354
Location: NE Indiana, USA (NTSC)
doppelganger wrote:
If nothing else [a machine level debugger on the NES] would certainly speed up testing time by quite a bit, though you'd have to figure out some sort of controller interface between a keyboard and the controller ports.

Didn't Family BASIC have a keyboard? Or is that device too rare to be useful?


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jun 18, 2005 1:55 am 
Yes to both.


Top
  
 
 Post subject:
PostPosted: Sat Jun 18, 2005 2:37 am 
Offline
Site Admin
User avatar

Joined: Mon Sep 20, 2004 6:04 am
Posts: 3488
Location: Indianapolis
http://www.beyondlogic.org/keyboard/keybrd.htm

Looks like an adapter to hook a keyboard to Squeedo's expansion port would be pretty simple, just needs a couple pull-up resistors. An NES controller port is only one input and one output, I'm not sure if that's enough by itself.

It's also pretty easy to just use RS232 and type in a terminal program. But that way you get the text in ASCII and control codes.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Aug 11, 2005 10:46 am 
Offline

Joined: Mon Apr 11, 2005 6:04 am
Posts: 20
Location: Kiev, Ukraine
Well, CGBide (with modified syntax.txt) has all i need.

_________________
"Wearing of this garment does not enable you to fly."
-- On a child sized Superman costume.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 12 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: Bing [Bot] and 6 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