There are many powerful ROM based monitors available so I was surprised to find Fsoft's RAM based monitor for review. Apart from being RAM based, Fmon is peculiar in its use of three system variables, Al, A2 and A3. Parameters for commands are read from these so if you wanted to move a block of memory from &2000 to &217F into RAM from &3500 onwards, you have to set A2 to &2000, A3 to &217F and Al to &3500, and then invoke the memory move command.
Setting A1 is easily accomplished by simply entering a number but A2 and A3 cannot be set directly. Instead, there are commands to copy A1 to A2, swap A1 with A2 etc. In actual fact, these commands have been so designed that to achieve the block move, you simply type "2000,217F X3500M" First A1 is set to &2000, comma swaps A1 with A2, "X" swaps A1 with A3, finally set A1 to &3500 and invoke command. After a while, you could probably get used to this system, but I prefer to be able to type in M 2000, 217F 35t instead without worrying about variables.
It's a shame I had to be so critical about something so fundamental because the monitor is in fact packed with features. It includes a disassembler, relocator, line assembler, break point handler, user defined variables, recursive procedures and macros. These features are very powerful but do take up 5K. This means that on a disc based machine, debugging a game in a graphics mode is almost impossible.