It's always been possible it's just that it a real pain with multiple steps. For single system emulators it's a fairly painless process as the memory map is constant so once you have the base address for the system you are away - MAME isn't that easy and finding the base address of a game is only worthwhile if you are finding a lot of cheats. Here's my solution - it isn't pretty...
Get an external program like "Cheat Engine", "Tsearch", "Artmoney" or a.n.other there's a lot of them....and learn how to use it.
Here's possibly the simplest way to find single cheats (using Cheat Engine):-
Partial Example for Robby Roto.
1. Run MAME with the -debug option and make sure you attach the mame.exe process in Cheat Engine.
2. Find the Lives location (you should be able to narrow it down to two possibilities and then change the value to 5 in turn and see which works - it was the 2nd for me).
3. Open the MAME debugger with the tilde key (the ` key above the TAB). Return to Cheat Engine.
4. Untick any cheats that are being poked in Cheat Engine.
5. Move the mouse pointer over the cheat in Cheat Engine that does what you want and press the right mouse button and select "Browse this memory region". This will open a new memory browser with that address first.
6. Move the mouse pointer over the contents ot that address (eg. 05) and select Edit. Then change 1 byte to 4 bytes. Make a note of the value in the edit box (for use later in step 10) and enter 0xDEADBEEF in the edit box and click ok.
7. Make a note of the new contents of the cheat address in Cheat Engine, in this example it was EF.
8. Return to MAME, the debugger will still be open. Type this in the debugger:-
It should return :- Found at E388
9. In the MAME debugger still, press Ctrl+M to bring up a memory window. Type E388 into the window and confirm which address holds the value noted in step 7 (EF). In this example it's E388 (make a note of this address).
10. Clean up time, you should now go back to Cheat Engine and repeat step 6 but this time entering the value previously noted instead of 0xDEADBEEF. This step may not be necessary but it may have consequences if you don't do it.
a. To test the cheat Press F12 to exit the debugger
b. Press F3 to reset the game
c. Start the game and press the tilde key to invoke the debugger
d. Test the cheat, as we know it's a RAM byte location @ E388 of the maincpu we can see it work by typing this into the debugger:-
If the memory edit window is still open in the debugger we will see the E388 contents change to 06. If we return to the game (F12) and lose a few lives we shall see we shall have marginally more so we know the cheat works so it's now just a matter of dropping it into an xml cheat file.
Personally, unless I'm desperate for a RAM cheat (which is rare) there is no way I'm willing to go through all this...I'm still hoping on some native MAME RAM cheat finding functions being added at some stage.