Several years ago I wrote a terrain generator for SimCity 3000. It was later used to create terrains for Auran Trainz simulator. The code was never part of either of these software packages, but users could save the grey-scale output from my program and import it as terrain inside these other programs.
Internally, the program uses a random mid-point displacement algorithm to generate the grey-scale bitmap you see in the middle of the program. A color-map bitmap in the same folder acts as a palette to render the grey-scale bitmap to the right-hand side of the program. The right-hand map is what you should save for your adventures. The size of bitmap (in pixels) is always a power of 2, plus 1. It's not multi-threaded, so the larger the output, the longer you wait.
You can do whatever you want with the color output in any graphics editor. You can add cities, hide-outs, political boundaries, rivers, points of interest, and label the seas, bays, mountain ranges, beaches, and forests, all with simple graphic editing programs like Microsoft Paint.