Hamtaro126 wrote: ↑Sun Dec 12, 2021 1:54 pm
That is not true, PCEAS is sort of compatible with NESASM in that it came from the same assembler family, but got split after the new PCEAS fork split with the NESASM3 version.
The main difference is Hu6280(PCE/TG16) vs 2A03/6502(NES) code that is a bit compatible if using official opcodes, but using unofficial opcodes is incompatible between the two because of extra opcodes replacing the unofficial ones. so be careful.
Wow, I didn't know that there were still NESASM users over here, or I'd have come and said "hello" earlier.
A quick check of the NESASM3 source (and build) suggests that if really hasn't been changed much since the days of MagicKit, and that the only significant "fix" applied to it was to remove the ability to accidentally use 65C02 opcodes on the NES, that was left in from the PCE side of things.
PCEAS (and consequently NESASM) have moved on quite a bit since then, and anyone still using NESASM for NES development may wish to take a look at the current state of the assembler as it exists within the HuC project, even though you can't use the HuC compiler itself on the NES.
These days the current NESASM will properly error when given 65C02 (or HuC6280) opcodes, and it also supports one of the common syntaxes for the NMOS 6502 "undocumented" opcodes (i.e. ANC,ALR,ARR,AXS,DCP,ISC,LAX,RLA,RRA,SAX,SLO,SRE). That change was made when the assembler was expanded to support developing cartridges for the Atari 8-bit computers.
There are other changes, such as the support of PNG images, the recent addition of "nameless" labels, and many more.
If folks really do want to use the current version of NESASM for actual NES development, then I'll be happy to fix anything that has been broken in it since NESASM3 broke off from the still-developed MagicKit/PCEAS/HuC codebase.