BTW about outputting large files... keep in mind sjasmplus is ASSEMBLER ... it can emit MACHINE CODE ...
It would be very bad assembler, if it would be impossible to emit any machine code you need. And machine code is like binary data.

So if everything else fails (you want new file format which is not supported by sjasmplus), you can do also something like this:
Код:
  OUTPUT "file.xyz"
  DB "header bytes", 1, 2, 3, 4
  DISP 0x4000
vram:
  DB 1, 2, "... 6192 bytes in total"
  ENT
  DB "some other section bytes like crc or pages"
  DISP 0xC000
start:
  ; some code
  ENT
  ; ... etc
  OUTEND  ; close the file
This is not very practical for formats which use compression, or where you need to calculate many fields in the header, but for things like ROM images there shouldn't be any major problem to prepare binary images precisely to your liking.

Similarly, I did need something similar for the ZX Next, so I added support of NEX file format to sjasmplus (but took me 5 months longer than I expected, because whenever I take a look at that source, I find some bug... :/ ... instead of working on my projects...)