added csprite stuff to the djgpp makefile
authorJohn Tsiombikas <nuclear@member.fsf.org>
Thu, 19 Dec 2019 15:57:02 +0000 (17:57 +0200)
committerJohn Tsiombikas <nuclear@member.fsf.org>
Thu, 19 Dec 2019 15:57:02 +0000 (17:57 +0200)
Makefile.dj
tools/csprite/src/main.c

index 9306382..b5c42bb 100644 (file)
@@ -4,6 +4,8 @@ obj = $(src:.c=.cof) $(asmsrc:.asm=.cof)
 dep = $(obj:.cof=.dep)
 bin = demo.exe
 
+asmsrc += font.asm
+
 ifeq ($(findstring COMMAND.COM, $(SHELL)), COMMAND.COM)
        hostsys = dos
 else
@@ -75,3 +77,10 @@ clean:
 cleandep:
        rm -f $(dep)
 endif
+
+
+tools/csprite/csprite:
+       $(MAKE) -C tools/csprite
+
+font.asm: data/legible.fnt tools/csprite/csprite
+       tools/csprite/csprite -n cs_font -s 8x16 -conv565 -nasm $< >$@
index d1f024b..0192002 100644 (file)
@@ -113,8 +113,11 @@ int main(int argc, char **argv)
 /* prototype of generated function is (void *fb, int x, int y, int idx) */
 const char *prefixfmt[] = {
        /* GNU assembler template */
+       "\t.text\n"
        "\t.global %s\n"
+       "\t.global _%s\n"
        "%s:\n"
+       "_%s:\n"
        "\tmov 12(%%esp), %%eax\n"
        "\tmov $%d, %%ecx\n"
        "\tmul %%ecx\n"
@@ -129,8 +132,11 @@ const char *prefixfmt[] = {
        /* TODO hardcoding the 16bpp changes for now, generalize later
         *      and while we're at it, let's get rid of the mul too ...
         */
+       "\tsection .text\n"
        "\tglobal %s\n"
+       "\tglobal _%s\n"
        "%s:\n"
+       "_%s:\n"
        "\tmov eax, [esp + 12]\n"
        ";\tmov ecx, %d\n"
        ";\tmul ecx\n"
@@ -185,7 +191,7 @@ int proc_sheet(const char *fname)
                ysz = tile_ysz;
        }
 
-       printf(prefixfmt[asyntax], name, name, fbpitch);
+       printf(prefixfmt[asyntax], name, name, name, name, fbpitch);
        for(i=0; i<num_ytiles*num_xtiles; i++) {
                if(asyntax == AS_GNU) {
                        printf("\t.long tile%d\n", i);