~rabbits/uxn

d4c55e2f481bccadbcb080de3fbe409b1524957f — neauoire 3 months ago 42aab23
Uxnasm now outputs a symbols file
2 files changed, 17 insertions(+), 1 deletions(-)

M projects/utils/metadata.tal
M src/uxnasm.c
M projects/utils/metadata.tal => projects/utils/metadata.tal +1 -1
@@ 15,7 15,7 @@
	#f0af .System/g DEO2
	#f0af .System/b DEO2

	#0130 .Screen/width DEO2
	#0150 .Screen/width DEO2
	#0050 .Screen/height DEO2

	;await-src .Console/vector DEO2

M src/uxnasm.c => src/uxnasm.c +16 -0
@@ 448,6 448,21 @@ review(char *filename)
		p.mlen);
}

static void
writesym(char *filename)
{
	char symdst[0x40];
	FILE *fp = fopen(scat(scpy(filename, symdst, slen(filename) + 1), ".sym"), "w");
	int i;
	if(fp != NULL) {
		for(i = 0; i < p.llen; i++) {
			fwrite(&p.labels[i].addr, 2, 1, fp);
			fwrite(p.labels[i].name, slen(p.labels[i].name) + 1, 1, fp);
		}
	}
	fclose(fp);
}

int
main(int argc, char *argv[])
{


@@ 464,5 479,6 @@ main(int argc, char *argv[])
		return !error("Assembly", "Output rom is empty.");
	fwrite(p.data + TRIM, p.length - TRIM, 1, dst);
	review(argv[2]);
	writesym(argv[2]);
	return 0;
}