Edited 06/30/2011 - New version 0.07 introduces a character encoding feature that allows you to specify text as an ASCII string and have the assembler translate it to your custom encoding for you. Also numerous bug fixes, tweaks to the macro system and additional features to incbin and data structures added.
Well I finally got bored enough to write that assembler I've been talking about. Right now it is feature complete in terms of have-to-have features for an assembler. I will be testing the assembler by porting my current project over to it.
The motivation behind this is that I absolutely love TheFox's debugging extensions for Nintendulator, but there are several things I do not like about CA65. So I set out to write an assembler that is to my liking, but also outputs debugging information that is compatible with CA65. I have now accomplished this.
The assembler is written with Python 2.5, so it should be compatible with just about any system under the sun.
Quick points:
1. Traditional one-shot assembler, no intermediate object format
2. Uses segments like CA65, but they are specified within the code in a simpler format
3. Nested segment entry
4. Real lexical scopes that can be nested and referenced before they are defined
5. Anonymous scopes
6. Basic set of directives
7. Generates memory usage map
8. Generates debugging output that is compatible with TheFox's debugging extensions for Nintendulator, yay!
9. Supports macros and complex expressions
10. Supports conditional assembly
11. Now supports data structures
Links:
Project Page
Documentation
Direct Download
If any of you give this a try (or just read the documentation) let me know what you think. I am very interested in what directives others would be interested in being implemented. I have only implemented those directives which I use in my own code, but that may not cover everyone.
Well I finally got bored enough to write that assembler I've been talking about. Right now it is feature complete in terms of have-to-have features for an assembler. I will be testing the assembler by porting my current project over to it.
The motivation behind this is that I absolutely love TheFox's debugging extensions for Nintendulator, but there are several things I do not like about CA65. So I set out to write an assembler that is to my liking, but also outputs debugging information that is compatible with CA65. I have now accomplished this.
The assembler is written with Python 2.5, so it should be compatible with just about any system under the sun.
Quick points:
1. Traditional one-shot assembler, no intermediate object format
2. Uses segments like CA65, but they are specified within the code in a simpler format
3. Nested segment entry
4. Real lexical scopes that can be nested and referenced before they are defined
5. Anonymous scopes
6. Basic set of directives
7. Generates memory usage map
8. Generates debugging output that is compatible with TheFox's debugging extensions for Nintendulator, yay!
9. Supports macros and complex expressions
10. Supports conditional assembly
11. Now supports data structures
Links:
Project Page
Documentation
Direct Download
If any of you give this a try (or just read the documentation) let me know what you think. I am very interested in what directives others would be interested in being implemented. I have only implemented those directives which I use in my own code, but that may not cover everyone.