]> git.sur5r.net Git - cc65/commitdiff
Make the stuff compile
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Tue, 23 Sep 2003 20:11:39 +0000 (20:11 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Tue, 23 Sep 2003 20:11:39 +0000 (20:11 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@2445 b7a2c559-68d2-44c3-8de9-860c34a00d81

libsrc/zlib/.cvsignore [new file with mode: 0644]
libsrc/zlib/Makefile [new file with mode: 0644]
libsrc/zlib/adler32.s
libsrc/zlib/crc32.s
libsrc/zlib/uncompress.c

diff --git a/libsrc/zlib/.cvsignore b/libsrc/zlib/.cvsignore
new file mode 100644 (file)
index 0000000..9c9d53c
--- /dev/null
@@ -0,0 +1 @@
+uncompress.s
diff --git a/libsrc/zlib/Makefile b/libsrc/zlib/Makefile
new file mode 100644 (file)
index 0000000..85c5bc6
--- /dev/null
@@ -0,0 +1,42 @@
+#
+# Makefile for the zlib subdirectory of the cc65 runtime library
+#
+
+.SUFFIXES: .o .s .c
+
+#--------------------------------------------------------------------------
+# Rules
+
+%.o:           %.c
+       @$(CC) $(CFLAGS) $<
+       @$(AS) -g -o $@ $(AFLAGS) $(*).s
+
+%.o:   %.s
+       @$(AS) -g -o $@ $(AFLAGS) $<
+
+#--------------------------------------------------------------------------
+# Object files
+
+C_OBJS =               uncompress.o
+
+
+S_OBJS =               adler32.o       \
+                crc32.o         \
+                inflatemem.o
+
+
+#--------------------------------------------------------------------------
+# Targets
+
+.PHONY:        all clean zap
+
+all:   $(C_OBJS) $(S_OBJS)
+
+clean:
+       @rm -f *~
+       @rm -f $(C_OBJS:.o=.s)
+       @rm -f $(C_OBJS)
+       @rm -f $(S_OBJS)
+
+zap:   clean
+
index bebfdc90c6b81dbee0dcd8a3cde3195ee5c7950b..bebe34dcfe9038062e5ea729c7ca7a816e79e627 100644 (file)
@@ -1,85 +1,85 @@
-;\r
-; Piotr Fusik, 18.11.2001\r
-;\r
-; unsigned long __fastcall__ adler32 (unsigned long adler, unsigned char* buf,\r
-;                                     unsigned len);\r
-;\r
-\r
-       .export _adler32\r
-\r
-       .import         incsp2, incsp4, popax, popeax\r
-       .importzp       sreg, ptr1, ptr2, tmp1\r
-\r
-BASE   =       65521   ; largest prime smaller than 65536\r
-\r
-_adler32:\r
-; ptr2 = (len & 0xff) == 0 ? len : len + 0x100;\r
-       tay\r
-       beq     @L1\r
-       inx\r
-@L1:   sta     ptr2\r
-       stx     ptr2+1\r
-; ptr1 = buf\r
-       jsr     popax\r
-       sta     ptr1\r
-       stx     ptr1+1\r
-; if (buf == NULL) return 1L;\r
-       ora     ptr1+1\r
-       beq     @L0\r
-; s1 = adler & 0xFFFF; s2 = adler >> 16;\r
-       jsr     popeax\r
-; if (len == 0) return adler;\r
-       ldy     ptr2\r
-       bne     @L2\r
-       ldy     ptr2+1\r
-       beq     @RET\r
-@L2:   ldy     #0\r
-; s1 += *ptr++; if (s1 >= BASE) s1 -= BASE;\r
-@L3:   clc\r
-       adc     (ptr1),y\r
-       bcc     @L4\r
-       inx\r
-       beq     @L5     ; C flag is set\r
-@L4:   cpx     #>BASE\r
-       bcc     @L6\r
-       cmp     #<BASE\r
-       bcc     @L6\r
-       inx             ; ldx #0\r
-@L5:   sbc     #<BASE  ; C flag is set\r
-       clc\r
-@L6:   sta     tmp1\r
-; s2 += s1; if (s2 >= BASE) s2 -= BASE;\r
-       adc     sreg    ; C flag is clear\r
-       sta     sreg\r
-       txa\r
-       adc     sreg+1\r
-       sta     sreg+1\r
-       bcs     @L7\r
-       cmp     #>BASE\r
-       bcc     @L8\r
-       lda     sreg\r
-       cmp     #<BASE\r
-       bcc     @L8\r
-@L7:   lda     sreg\r
-       sbc     #<BASE  ; C flag is set\r
-       sta     sreg\r
-       lda     sreg+1\r
-       sbc     #>BASE\r
-       sta     sreg+1\r
-@L8:   lda     tmp1\r
-       iny\r
-       bne     @L9\r
-       inc     ptr1+1\r
-@L9:   dec     ptr2\r
-       bne     @L3\r
-       dec     ptr2+1\r
-       bne     @L3\r
-; return (s2 << 16) | s1;\r
-@RET:  rts\r
-\r
-; return 1L\r
-@L0:   sta     sreg\r
-       sta     sreg+1\r
-       lda     #1\r
-; ignore adler\r
-       jmp     incsp4\r
+;
+; Piotr Fusik, 18.11.2001
+;
+; unsigned long __fastcall__ adler32 (unsigned long adler, unsigned char* buf,
+;                                     unsigned len);
+;
+
+       .export _adler32
+
+       .import         incsp2, incsp4, popax, popeax
+       .importzp       sreg, ptr1, ptr2, tmp1
+
+BASE   =       65521   ; largest prime smaller than 65536
+
+_adler32:
+; ptr2 = (len & 0xff) == 0 ? len : len + 0x100;
+       tay
+       beq     @L1
+       inx
+@L1:   sta     ptr2
+       stx     ptr2+1
+; ptr1 = buf
+       jsr     popax
+       sta     ptr1
+       stx     ptr1+1
+; if (buf == NULL) return 1L;
+       ora     ptr1+1
+       beq     @L0
+; s1 = adler & 0xFFFF; s2 = adler >> 16;
+       jsr     popeax
+; if (len == 0) return adler;
+       ldy     ptr2
+       bne     @L2
+       ldy     ptr2+1
+       beq     @RET
+@L2:   ldy     #0
+; s1 += *ptr++; if (s1 >= BASE) s1 -= BASE;
+@L3:   clc
+       adc     (ptr1),y
+       bcc     @L4
+       inx
+       beq     @L5     ; C flag is set
+@L4:   cpx     #>BASE
+       bcc     @L6
+       cmp     #<BASE
+       bcc     @L6
+       inx             ; ldx #0
+@L5:   sbc     #<BASE  ; C flag is set
+       clc
+@L6:   sta     tmp1
+; s2 += s1; if (s2 >= BASE) s2 -= BASE;
+       adc     sreg    ; C flag is clear
+       sta     sreg
+       txa
+       adc     sreg+1
+       sta     sreg+1
+       bcs     @L7
+       cmp     #>BASE
+       bcc     @L8
+       lda     sreg
+       cmp     #<BASE
+       bcc     @L8
+@L7:   lda     sreg
+       sbc     #<BASE  ; C flag is set
+       sta     sreg
+       lda     sreg+1
+       sbc     #>BASE
+       sta     sreg+1
+@L8:   lda     tmp1
+       iny
+       bne     @L9
+       inc     ptr1+1
+@L9:   dec     ptr2
+       bne     @L3
+       dec     ptr2+1
+       bne     @L3
+; return (s2 << 16) | s1;
+@RET:  rts
+
+; return 1L
+@L0:   sta     sreg
+       sta     sreg+1
+       lda     #1
+; ignore adler
+       jmp     incsp4
index d47e92f10ce9e2297fe28a258c6e884aa0ff07b9..61f64c3cf71084ab92e60ef5390974e19c5f090d 100644 (file)
-;\r
-; Piotr Fusik, 14.11.2001\r
-;\r
-; unsigned long __fastcall__ crc32 (unsigned long crc, unsigned char* buf,\r
-;                                   unsigned len);\r
-;\r
-\r
-       .export _crc32\r
-\r
-       .import         compleax, incsp2, incsp4, popax, popeax\r
-       .importzp       sreg, ptr1, ptr2, tmp1, tmp2\r
-\r
-POLYNOMIAL     =       $EDB88320\r
-\r
-make_table:\r
-       ldx     #0\r
-@L1:   lda     #0\r
-       sta     tmp2\r
-       sta     sreg\r
-       sta     sreg+1\r
-       ldy     #8\r
-       txa\r
-@L2:   sta     tmp1\r
-       lsr     a\r
-       bcc     @L3\r
-       lda     sreg+1\r
-       lsr     a\r
-       eor     #(POLYNOMIAL>>24)&$FF\r
-       sta     sreg+1\r
-       lda     sreg\r
-       ror     a\r
-       eor     #(POLYNOMIAL>>16)&$FF\r
-       sta     sreg\r
-       lda     tmp2\r
-       ror     a\r
-       eor     #(POLYNOMIAL>>8)&$FF\r
-       sta     tmp2\r
-       lda     tmp1\r
-       ror     a\r
-       eor     #POLYNOMIAL&$FF\r
-       bcs     @L4     ; branch always\r
-@L3:   rol     a\r
-       lsr     sreg+1\r
-       ror     sreg\r
-       ror     tmp2\r
-       ror     a\r
-@L4:   dey\r
-       bne     @L2\r
-       sta     table_0,x\r
-       lda     tmp2\r
-       sta     table_1,x\r
-       lda     sreg\r
-       sta     table_2,x\r
-       lda     sreg+1\r
-       sta     table_3,x\r
-       inx\r
-       bne     @L1\r
-       inc     table_initialised\r
-RET:\r
-       rts\r
-\r
-_crc32:\r
-; ptr2 = (len & 0xff) == 0 ? len : len + 0x100;\r
-       tay\r
-       beq     @L1\r
-       inx\r
-@L1:   sta     ptr2\r
-       stx     ptr2+1\r
-; ptr1 = buf\r
-       jsr     popax\r
-       sta     ptr1\r
-       stx     ptr1+1\r
-; if (buf == NULL) return 0;\r
-       ora     ptr1+1\r
-       beq     @L0\r
-; if (!tables_initialised) make_tables();\r
-       lda     table_initialised\r
-       bne     @dont_make\r
-       jsr     make_table\r
-@dont_make:\r
-; eax = crc\r
-       jsr     popeax\r
-; if (len == 0) return crc;\r
-       ldy     ptr2\r
-       bne     @L2\r
-       ldy     ptr2+1\r
-       beq     RET\r
-@L2:\r
-; eax = ~crc\r
-       jsr     compleax\r
-       stx     tmp2\r
-       ldy     #0\r
-; crc = (crc >> 8) ^ table[(crc & 0xff) ^ *p++];\r
-@L3:   eor     (ptr1),y\r
-       tax\r
-       lda     table_0,x\r
-       eor     tmp2\r
-       sta     tmp1\r
-       lda     table_1,x\r
-       eor     sreg\r
-       sta     tmp2\r
-       lda     table_2,x\r
-       eor     sreg+1\r
-       sta     sreg\r
-       lda     table_3,x\r
-       sta     sreg+1\r
-       lda     tmp1\r
-       iny\r
-       bne     @L4\r
-       inc     ptr1+1\r
-@L4:   dec     ptr2\r
-       bne     @L3\r
-       dec     ptr2+1\r
-       bne     @L3\r
-       ldx     tmp2\r
-       jmp     compleax\r
-\r
-; return 0L\r
-@L0:   sta     sreg\r
-       sta     sreg+1\r
-; ignore crc\r
-       jmp     incsp4\r
-\r
-               .data\r
-table_initialised:\r
-               .byte   0\r
-\r
-               .bss\r
-table_0:       .res    256\r
-table_1:       .res    256\r
-table_2:       .res    256\r
-table_3:       .res    256\r
-\r
-\r
+;
+; Piotr Fusik, 14.11.2001
+;
+; unsigned long __fastcall__ crc32 (unsigned long crc, unsigned char* buf,
+;                                   unsigned len);
+;
+
+       .export _crc32
+
+       .import         compleax, incsp2, incsp4, popax, popeax
+       .importzp       sreg, ptr1, ptr2, tmp1, tmp2
+
+POLYNOMIAL     =       $EDB88320
+
+make_table:
+       ldx     #0
+@L1:   lda     #0
+       sta     tmp2
+       sta     sreg
+       sta     sreg+1
+       ldy     #8
+       txa
+@L2:   sta     tmp1
+       lsr     a
+       bcc     @L3
+       lda     sreg+1
+       lsr     a
+       eor     #(POLYNOMIAL>>24)&$FF
+       sta     sreg+1
+       lda     sreg
+       ror     a
+       eor     #(POLYNOMIAL>>16)&$FF
+       sta     sreg
+       lda     tmp2
+       ror     a
+       eor     #(POLYNOMIAL>>8)&$FF
+       sta     tmp2
+       lda     tmp1
+       ror     a
+       eor     #POLYNOMIAL&$FF
+       bcs     @L4     ; branch always
+@L3:   rol     a
+       lsr     sreg+1
+       ror     sreg
+       ror     tmp2
+       ror     a
+@L4:   dey
+       bne     @L2
+       sta     table_0,x
+       lda     tmp2
+       sta     table_1,x
+       lda     sreg
+       sta     table_2,x
+       lda     sreg+1
+       sta     table_3,x
+       inx
+       bne     @L1
+       inc     table_initialised
+RET:
+       rts
+
+_crc32:
+; ptr2 = (len & 0xff) == 0 ? len : len + 0x100;
+       tay
+       beq     @L1
+       inx
+@L1:   sta     ptr2
+       stx     ptr2+1
+; ptr1 = buf
+       jsr     popax
+       sta     ptr1
+       stx     ptr1+1
+; if (buf == NULL) return 0;
+       ora     ptr1+1
+       beq     @L0
+; if (!tables_initialised) make_tables();
+       lda     table_initialised
+       bne     @dont_make
+       jsr     make_table
+@dont_make:
+; eax = crc
+       jsr     popeax
+; if (len == 0) return crc;
+       ldy     ptr2
+       bne     @L2
+       ldy     ptr2+1
+       beq     RET
+@L2:
+; eax = ~crc
+       jsr     compleax
+       stx     tmp2
+       ldy     #0
+; crc = (crc >> 8) ^ table[(crc & 0xff) ^ *p++];
+@L3:   eor     (ptr1),y
+       tax
+       lda     table_0,x
+       eor     tmp2
+       sta     tmp1
+       lda     table_1,x
+       eor     sreg
+       sta     tmp2
+       lda     table_2,x
+       eor     sreg+1
+       sta     sreg
+       lda     table_3,x
+       sta     sreg+1
+       lda     tmp1
+       iny
+       bne     @L4
+       inc     ptr1+1
+@L4:   dec     ptr2
+       bne     @L3
+       dec     ptr2+1
+       bne     @L3
+       ldx     tmp2
+       jmp     compleax
+
+; return 0L
+@L0:   sta     sreg
+       sta     sreg+1
+; ignore crc
+       jmp     incsp4
+
+               .data
+table_initialised:
+               .byte   0
+
+               .bss
+table_0:       .res    256
+table_1:       .res    256
+table_2:       .res    256
+table_3:       .res    256
+
+
index fb07ba43a5c6e8aa66cd9fafc3b01cb4e381dbe1..162158657a3f5f93ca1a832fe9acbdf4f9055fd9 100644 (file)
@@ -1,36 +1,36 @@
-/*\r
- * uncompress.c\r
- *\r
- * Piotr Fusik, 18.11.2001\r
- */\r
-\r
-#include <zlib.h>\r
-\r
-int uncompress (char* dest, unsigned* destLen,\r
-                const char* source, unsigned sourceLen)\r
-{\r
-       unsigned len;\r
-       unsigned char* ptr;\r
-       unsigned long csum;\r
-       /* source[0]: Compression method and flags\r
-           bits 0 to 3: Compression method (must be Z_DEFLATED)\r
-           bits 4 to 7: Compression info (must be <= 7)\r
-          source[1]: Flags\r
-           bits 0 to 4: Check bits\r
-           bit 5:       Preset dictionary (not supported, sorry)\r
-           bits 6 to 7: Compression level\r
-       */\r
-       if ((source[0] & 0x8f) != Z_DEFLATED || source[1] & 0x20)\r
-               return Z_DATA_ERROR;\r
-       if ((((unsigned) source[0] << 8) | (unsigned char) source[1]) % 31)\r
-               return Z_DATA_ERROR;\r
-       *destLen = len = inflatemem(dest, source + 2);\r
-       ptr = (unsigned char*) source + sourceLen - 4;\r
-       csum = adler32(adler32(0L, Z_NULL, 0), dest, len);\r
-       if ((unsigned char) csum != ptr[3]\r
-        || (unsigned char) (csum >> 8) != ptr[2]\r
-        || (unsigned char) (csum >> 16) != ptr[1]\r
-        || (unsigned char) (csum >> 24) != ptr[0])\r
-               return Z_DATA_ERROR;\r
-       return Z_OK;\r
-}\r
+/*
+ * uncompress.c
+ *
+ * Piotr Fusik, 18.11.2001
+ */
+
+#include <zlib.h>
+
+int uncompress (char* dest, unsigned* destLen,
+                const char* source, unsigned sourceLen)
+{
+       unsigned len;
+       unsigned char* ptr;
+       unsigned long csum;
+       /* source[0]: Compression method and flags
+           bits 0 to 3: Compression method (must be Z_DEFLATED)
+           bits 4 to 7: Compression info (must be <= 7)
+          source[1]: Flags
+           bits 0 to 4: Check bits
+           bit 5:       Preset dictionary (not supported, sorry)
+           bits 6 to 7: Compression level
+       */
+       if ((source[0] & 0x8f) != Z_DEFLATED || source[1] & 0x20)
+               return Z_DATA_ERROR;
+       if ((((unsigned) source[0] << 8) | (unsigned char) source[1]) % 31)
+               return Z_DATA_ERROR;
+       *destLen = len = inflatemem(dest, source + 2);
+       ptr = (unsigned char*) source + sourceLen - 4;
+       csum = adler32(adler32(0L, Z_NULL, 0), dest, len);
+       if ((unsigned char) csum != ptr[3]
+        || (unsigned char) (csum >> 8) != ptr[2]
+        || (unsigned char) (csum >> 16) != ptr[1]
+        || (unsigned char) (csum >> 24) != ptr[0])
+               return Z_DATA_ERROR;
+       return Z_OK;
+}