mirror of
https://github.com/fadden/6502bench.git
synced 2025-03-01 16:31:59 +00:00
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)
32 lines
574 B
ArmAsm
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
|