1
0
mirror of https://github.com/fadden/6502bench.git synced 2025-03-01 16:31:59 +00:00
6502bench/SourceGen/SGTestData/Source/20300-binary-include.S
Andy McFadden 4e5c34f457 Binary includes
This adds a new data format option, "binary include", that takes a
filename operand.  When assembly sources are generated, the section
of file is replaced with an appropriate pseudo-op, and binary files
are generated that hold the file contents.  This is a convenient way
to remove large binary blobs, such as music or sound samples, that
aren't useful to have in text form in the sources.

Partial pathnames are allowed, so you can output a sound blob to
"sounds/blather.bin".  For safety reasons, we don't allow the files
to be created above the project directory, and existing files will
only be overwritten if they have a matching length (so you don't
accidentally stomp on your project file).

The files are not currently shown in the GenAsm dialog, which lets
you see a preview of the generated sources.  The hex dump tool
can do this for the (presumably rare) situations where it's useful.

A new regression test, 20300-binary-include, has been added.  The
pseudo-op name can be overridden on-screen in the settings.

We don't currently do anything new for text/HTML exports.  It might
be useful to generate an optional appendix with a hex dump of the
excised sections.

(issue #144)
2024-05-31 14:22:39 -07:00

32 lines
574 B
ArmAsm

; Copyright 2024 faddenSoft. All Rights Reserved.
; See the LICENSE.txt file for distribution terms (Apache 2.0).
;
; Assembler: Merlin 32
;
org $1000
start ldy #40
lda blob1,Y
sta $2000,Y
dey
bpl start
lda blob2
lda blob2+1
lda blob2+31
jmp done
; EDIT: set blob as binary include, current dir
blob1
asc ' !"#$%&',27,'()'
asc '0123456789'
asc 'ABCDEFGHIJ'
asc 'PQRSTUVWXY'
; EDIT: set blob as binary include, file in subdir
blob2
ds 32,$ff
done rts