In the absence of PCBug (if you cannot obtain that or cannot find a way to run it), all that's required is to shove 256 bytes over the UART, and the microcontroller will place them into RAM automatically, and will then begin execution, it assumes those bytes were code to be executed. It begins execution from address 0 I believe (check the microcontroller reference manual, all this is written in great detail; Motorola were excellent with their documentation).
For simple short code that you want to run immediately from RAM, that's sufficient, but if your code is longer than 256 bytes, then you'd write code a kind of secondary bootloader that accepts further bytes, and writes/programs the memory of your choice (RAM, EEPROM, whatever). For instance, you'd write an EEPROM programmer in 256 bytes, which would accept bytes from UART, and write to parallel EEPROM.
Or, you'd burn your code to EPROM of course.
To get your 256 bytes of code (i.e. either short standalone code you wish to run in RAM immediately, or your secondary bootloader) into the microcontroller, you can transfer 256 raw bytes using whatever terminal program you have (if it supports sending hex bytes from a file) or you can write yourself a simple application (e.g. with Python) that will accept (say) a .s19 file containing your built short application/secondary bootloader, and parses and outputs to USB UART, into your microcontroller (might need a USB-RS232 adapter for old boards, examine your board to determine this).
Your secondary bootloader can be smart enough to directly accept .s19 files sent over the USB-serial connection (if you can fit that in 256 bytes). If you cannot, then you could create your own protocol, and write a Python program to take your .s19 file, and convert and send to the board.
None of this is very difficult, just needs a day or so examining the reference manual, and the coding can be in your preferred language of choice, but I'd suggest Python would be as reasonable an option as any other.
You don't need a terminal program to support s19 format in summary. You can do such file transfers using your own program, and then switch to using the terminal program if you require it for user interaction with the running application (e.g. monitor program or whatever). This was quite a common way of doing things with those (and other) microcontrollers. I used to do the same thing with 68HC11 parts too. I also did it with some Hitachi microcontrollers (i.e., transfer 256 bytes or whatever containing my custom secondary bootloader, and then use that to program Flash memory with more data coming over the UART). It was a useful thing when a dedicated programming tool was not available.