Skip to content

Commit 811b8d8

Browse files
committed
supported better ASM labels
1 parent f3d5fa2 commit 811b8d8

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

TODO

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ definition([
2020
])
2121

2222
// project files
23+
// provide custom art function
2324

2425
/* https://unix.stackexchange.com/questions/585645/launch-an-application-by-a-double-click */
2526
// provide a custom definition, but have a default
@@ -71,6 +72,7 @@ copy / paste mappings
7172
time travel for undo/redo
7273
import palette from spritesheet https://yarnpkg.com/en/package/node-vibrant
7374
==
75+
22:04 <+dIRCord> <M​ainMemory> > Art is easy ␤> Each byte encodes one pixel, both nybbles have the color index ␤> And then each column is stored all in one go, no breaking into tiles ␤> In other words, it's pretty much a headerless 8bpp bitmap ␤> I think the color index is duplicated over both nybbles for speed, but I never looked at the algorithm
7476
21:08 <+dIRCord> <R​andomName> Not this. For example look at ArtScaled_EggRoboFly, which is art that's used by s3k art scaler. It's uncompressed art,tho it looks transformed in some way, but not like random mess of pixels.
7577
uses a grayscale copy of another frame that you selected separately from the current one as a "background" frame.
7678
drawing mode fill !

app/formats/scripts/parse-asm.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ const sizes = {
2323
export function parseASM(text) {
2424
const comment = regex(/^;.*$/m).map(() => [ignore]);
2525
const even = str('even').map(() => [ignore]);
26-
const label = regex(/^[A-Z0-9_]+(\s+)?:/i).map(t => [lbl, t.replace(':', '')]);
26+
const label = regex(/^[A-Z0-9_@]+(\s+)?:/i).map(t => [lbl, t.replace(':', '')]);
2727
const hex = regex(/^\$[A-F0-9]+/i).map(t => [data, parseInt(t.slice(1), 16)]);
28-
const address = regex(/^[A-Z0-9_]+-[A-Z0-9_]+/i).map(t => [addr, t]);
28+
const address = regex(/^[A-Z0-9_@]+-[A-Z0-9_@]+/i).map(t => [addr, t]);
2929

3030
const value = choice([
3131
digits.map(t => [data, t]),

0 commit comments

Comments
 (0)