ok because noone asked i'm still gonan talk about the assembler i use, just because i feel like it deserves some praise.
I never really found a good 6502/65C02 assembler. the 6502.org's tool page isn't really that great for finding one, especially since it doesn't seem very updated (some sites on there don't exist anymore for example).
basically all assemblers listed are either mainly for some specific platform, cost money/require a key, run on very old Operating systems (ie DOS), or are bound to some specific emulator (which can be useful in cases)
so i opted for an Assembler i already knew... because i used for custom CPUs.
CustomASM
It supports global and local labels, bit slicing, constants, and probably more i can't think of right now. it has a full feature list on the Github.
it's a Universal Assembler, which means you need to define the instruction set and names of instructions yourself.
and that is exactly what i did for the 6502 and 65C02.
though technically i did 2 seperate CPU files for both the 6502 and 65C02.
CS (Classic Syntax), which is something like this:
Code: Select all
LOOP:
LDA STRING,X
BEQ EXIT
STA OUT
INX
BCC LOOP
EXIT:
STP
ZS (Z80 Syntax), which is something like this: (and probably easier to remember than 3 letter acronyms, atleast for me)
Code: Select all
LOOP:
LD A, (STRING, X)
JR Z EXIT
LD (OUT), A
INC X
JR NC LOOP
EXIT:
HALT
another great thing about it is that it doesn't come with some predefined IDE, you can use whatever Text Editor you want.
though i would REALLY recommend Notepad++, it's such an overall amazing text editor.
it even supports custom highlight, which is perfect for an Assembler.
example:
No Custom Highlighting:
Custom Highlighting (made it myself to fit my dark background):
overall CustomASM nice to use and probably a much better option than a lot of the existing ones, atleast for starters i think.
you literally just drag your ASM files onto the EXE and it assembles them, or you use the command line if you want some debugging info.