1) Launch RMT
1a) Save stripped RMT file, e.g. sunset.rmt
1b) As your saving the stripped RMT file, copy the feature code into rmt_feat.a65
1c) Save SAP, e.g. sunset.sap
2) Create output.header by extracting the header from 1c)
3) Copy rmtplayr.a65 and comment out "PLAYER equ $5000" line
4) Create output.asm
This code places the stripped RMT, the player code and a short
init routine in memory at the desired locations.
5) Build output.obx, e.g. "make output.obx"
6) Look for "INIT" and "RMT_PLAY" address in output.lab
7) Modify output.header to match addresses from 6)
8) Build output.sap
My main environment is Windows 10 + Cygwin + vim + make + xasm + Perl + Altirra.
Occasionally I've used TMC2 for music and sound effects (X-8), Tiled for map editing (X-8), graph2font for screen editing (X-8, Ransack, Bomber) and gcc for custom C++ utilities (X-8). Other useful tools include franny for ATR manipulation, mads for assembling graph2font-generated sources, exomizer for compression, and many others I'm forgetting. For my various hacks of existing software (e.g. NTSC-fixing, bug fixing, cracking, enhancements) I use my disassembler dis. For BASIC competitions I use dmsc's basicParser.
Of course there is a wealth of great documentation and code to draw inspiration from on the web. It goes without saying that Google is one of the most essential development tools. And sharing ideas on AtariAge is a fundamental source of knowledge and inspiration.