16 users online: Aguiar Salsicha,  Ahrion,  bebn legg, Doopu, Emera1ds, incogmario, Inflagrandy, Kreki,  Linkdeadx2, MorrieTheMagpie,  NopeContest, Ryrir, TCgamerboy2002, Teaser, thatwaterblockrk,  Thomas - Guests: 110 - Bots: 197
Users: 66,537 (2,378 active)
Latest user: wolfce

ASM Converter

You may know that I have previously been working on a program to develop ASM called ASMTool. I haven't gotten very far on it yet, but I have been trying some possible features for it using JavaScript on web pages.

One of these features is an ASM converter, which I think is quite useful. I want it to be usable now so I have been updating releases in my layout.

ASM Converter ver. 0.07.10

This latest release finally makes it more thread worthy. It now supports inputs of All.log, Xkas 0.x, and TRASM. It will convert the code to Xkas 0.x or TRASM. The converter focuses on syntax right now and may not pick up incompatible with things like incompatible mnemonics.

What it can do:
-Convert All.log code to Xkas or TRASM code that should insert without errors with no modification
-Convert code chunks from sprites<->blocks
-Convert TRASM sprite code to Xkas sprite code (some modification required)

One bug is left: (but I want this thread here before C3 is over)
The converter will remove the "= $ram" part off of the definitions like "lay3img = $12".

Planned features:
-Convert from debugger code
-Detect broken labels and provide address equivalents (from All.log and debugger formats)
-Remove unrefferenced labels (from All.log and debugger formats)
-Handling of macros for Xkas->TRASM
-Converter that can reformat code from any format that has labels and/or locations and opcodes and decects ";" or "//" commentation formats

Some of these features will be optional to improve speed of conversion.

One thing I would like help with is compiling a list of incopatable code syntax and opcode mnemonics between Xkas and TRASM.

Here's what I have so far:

Remove colon after labels
db->dcb (and other similar forms)

Add colon after labels
dcb->db (and other similar forms)
Lower case opcode extensions (.W to .w)
I thought of making something like this myself.

It took me a few hours to disassemble the wall-following Urchin, but now I'll be able disassemble other sprites a whole lot faster.
Yeah the main reason I created this was because of how annoying it was to take code for All.log.

Also I just fixed the bug I mentioned in the first post.

Edit: Actually I'm not completely done with the all.log compatability, but I should be able to complete it soon. The the only things not yet addressed are lines like JSL CODE_03923F3 and LDA_SpriteState will not be changed to $xx/$xxxx/$xxxxxx to assemble correctly.