Currently we have arch spc700-inline but this feature is pretty crusty and basically a giant hack. As part of the deprecation project I would like to create a better alternative.
Design goals:
1) Concise syntax that indicates a start and end segment
2) Support multiple engine types
3) In a perfect world, allowing custom formatting
So taking these goals in mind solving the first goal is trivial if we start with
spcblock $0500
;code
endspcblock
This is at least consistent with other asar features in naming and works well to identify each block.
Now to support multiple engines we can extend it to something like
spcblock $0500 nspc
;code
endspcblock
For the initial iteration we can simply support npc, others can be added over time easy enough.
But making custom formats isn't entirely trivial. my proposal is as follows
The logic being that we can assemble a block as if it was norom (since these aram blocks are position independent anyways), then pass the size of data, requested dest, and a byte array to a variadic macro. This is a pretty wild idea, but it allows one to transform the spc data for any sort of upload format they need.
This issue was sort of just typed as ideas and thoughts came to mine, so feel free to shred this apart now.
Currently we have
arch spc700-inline
but this feature is pretty crusty and basically a giant hack. As part of the deprecation project I would like to create a better alternative.Design goals: 1) Concise syntax that indicates a start and end segment 2) Support multiple engine types 3) In a perfect world, allowing custom formatting
So taking these goals in mind solving the first goal is trivial if we start with
This is at least consistent with other asar features in naming and works well to identify each block.
Now to support multiple engines we can extend it to something like
For the initial iteration we can simply support npc, others can be added over time easy enough.
But making custom formats isn't entirely trivial. my proposal is as follows
The logic being that we can assemble a block as if it was norom (since these aram blocks are position independent anyways), then pass the size of data, requested dest, and a byte array to a variadic macro. This is a pretty wild idea, but it allows one to transform the spc data for any sort of upload format they need.
This issue was sort of just typed as ideas and thoughts came to mine, so feel free to shred this apart now.