Perhaps look at the "original" version of min_mon.asm from the source.zip archive. That hasn't been specialised for a particular computer, and so is quite a lot simpler.
The code from RES_vec to LAB_dowarm inclusive is the initialisation code. It copies some indirection vectors and the default IRQ/NMI handlers into RAM (so they can be customised at runtime), then prints the welcome message and asks whether a cold/warm start is needed, waiting for the appropriate input character to choose. A warm start skips the rest of the RAM initialisation, so you can resume editing a crashed program without having to reload/retype it.
Some of the memory locations used here are defined in basic.asm, if you're curious as to where this stuff ends up. This includes a set of five indirection vectors pointing to the screen output, keyboard input, escape check, file load and file save routines. You can dummy out the last three so that they harmlessly do nothing.
Next are the ACIAout and ACIAin routines which serve as terminal I/O. These are what you need to edit first.
The supplied ACIAout has no flow control, so is likely to lose characters if used on a real serial line rather than a software emulator; insert something like:
Code:
BIT ACIA_STATUS
BPL ACIAout
…to test bit 7 of the status register and busy-wait until it's set. Use BMI instead to wait for bit 7 clear, BVC for bit 6 set, BVS for bit 6 clear. If other bits needed to be tested, you'll need something slightly more sophisticated. Each UART has its own quirky register layout, but the ones designed for 6502s tend to use bit 7 and 6 for buffer status.
The supplied ACIAin interprets a zero read from the data buffer as "no character", and uses the Carry bit to report that to the caller (who will call again if he wants to wait). A more universal test is, again, to test the status register before attempting to read from the data buffer. Don't forget to clear the accumulator before returning in the "nothing read" case, for consistency.
Following that are the vector table and default IRQ/NMI routines that get copied to RAM by the init routine. After that is a definition of the 6502 hardware vectors.