Two file formats are supported - Altera's Memory Initiation File ("MIF") and industry-standard Intel HEX format. Both are quite easy to use but the simulator only supports Intel HEX, so I went with that.
I have also modified my assembler so that it creates a raw binary file. I then use a BIN2HEX utility to convert the raw binary into the proper Intel HEX format.
Altera's Quartus IDE provides a simple HEX file editor. All you have to do is enter the hex values, and it creates the full file format behind the scenes. For simple tests, this is quite adequate. Being a masochist I'm not afraid of writing out my assembler by hand, looking up the correct hex values for each opcode, and then entering it in the HEX file editor in the IDE. Brings back fond memories of entering 6502 code into a Commodore PET, way back when...
Obviously, a CPU with a fixed program is not much use. The next steps will be to utilise the interfaces on the DIGIASIC board to download a program, perhaps automatically using a bootloader. I've not decided how I'll approach this yet. In keeping with the "ye olde worlde" vibe of this project, I'll probably start with RS232.