vdub_bobby, on Fri Sep 17, 2010 1:41 PM, said:
I'm with GroovyBee/roland p; I use them in a limited fashion for some data tables and for a very few other things (SLEEP, CLEAN_START).
I think too many macros makes the code very difficult to read; for the 2600, also, where you frequently need to optimize and rearrange data at a byte level, macros are too blunt.
I'll chime in in this direction also. I mainly use macros for data tables and other data-related stuff. I rarely (but not never) use them for code. Macros hide too much of what the code is doing, which can lead to inefficiency or strange surprises. They do make sense in a few places to eliminate some tedium, but only a few.
For data, they insulate the data encoding from what's being encoded, allowing you to quickly change the encoding if necessary. When I wrote Space Patrol, I ended up re-encoding several data structures multiple times until I got things the way I wanted them. Because I hid the encoding behind a macro, I just had to update the affected macros. The data tables stayed put.