From 18564eb8696ad6480c5c9ecc971d2d3f27242437 Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Sat, 30 Sep 2017 19:19:08 +0100 Subject: [PATCH] library: add sgetl and sputl --- Library/libs/Makefile.6502 | 4 ++-- Library/libs/Makefile.68000 | 4 ++-- Library/libs/Makefile.6809 | 4 ++-- Library/libs/Makefile.z80 | 4 ++-- Library/libs/ld65-65c816.cfg | 17 ----------------- Library/libs/sgetl.c | 15 +++++++++++++++ Library/libs/sputl.c | 16 ++++++++++++++++ 7 files changed, 39 insertions(+), 25 deletions(-) delete mode 100644 Library/libs/ld65-65c816.cfg create mode 100644 Library/libs/sgetl.c create mode 100644 Library/libs/sputl.c diff --git a/Library/libs/Makefile.6502 b/Library/libs/Makefile.6502 index 6fcaf5bb..e99b12f3 100644 --- a/Library/libs/Makefile.6502 +++ b/Library/libs/Makefile.6502 @@ -50,8 +50,8 @@ SRC_C += pause.c perror.c SRC_C += popen.c printf.c putenv.c putgetch.c putpwent.c putw.c pwent.c qsort.c SRC_C += raise.c rand.c readdir.c readlink.c realloc.c regerror.c SRC_C += regsub.c remove.c rewind.c rindex.c setbuffer.c setenv.c setjmp.c -SRC_C += setlocale.c setvbuf.c settimeofday.c sleep.c sprintf.c -SRC_C += stat.c stdio0.c stime.c +SRC_C += setlocale.c setvbuf.c settimeofday.c sgetl.c sleep.c sprintf.c +SRC_C += sputl.c stat.c stdio0.c stime.c SRC_C += strcasecmp.c strcasestr.c strdup.c stricmp.c strlcpy.c strncasecmp.c SRC_C += strnicmp.c strnlen.c strsep.c strsignal.c swab.c SRC_C += system.c time.c tmpfile.c tmpnam.c ttyname.c diff --git a/Library/libs/Makefile.68000 b/Library/libs/Makefile.68000 index a3b316d0..db2ed6ac 100644 --- a/Library/libs/Makefile.68000 +++ b/Library/libs/Makefile.68000 @@ -35,8 +35,8 @@ SRC_C += pause.c perror.c SRC_C += popen.c printf.c putenv.c putchar.c putpwent.c putw.c pwent.c qsort.c SRC_C += raise.c rand.c readdir.c readlink.c realloc.c regerror.c SRC_C += regsub.c remove.c rewind.c rewinddir.c rindex.c seekdir.c setbuffer.c setenv.c -SRC_C += setlocale.c setvbuf.c settimeofday.c sleep.c sprintf.c -SRC_C += stat.c stdio0.c stime.c +SRC_C += setlocale.c setvbuf.c settimeofday.c sgetl.c sleep.c sprintf.c +SRC_C += sputl.c stat.c stdio0.c stime.c SRC_C += strcasecmp.c strcasestr.c strdup.c stricmp.c strlcpy.c strncasecmp.c SRC_C += strnlen.c strnicmp.c strsep.c strxfrm.c strcoll.c strsignal.c SRC_C += strtod.c strtol.c swab.c system.c telldir.c time.c tmpfile.c tmpnam.c ttyname.c diff --git a/Library/libs/Makefile.6809 b/Library/libs/Makefile.6809 index d50551bb..c8af767b 100644 --- a/Library/libs/Makefile.6809 +++ b/Library/libs/Makefile.6809 @@ -37,8 +37,8 @@ SRC_C += pause.c perror.c SRC_C += popen.c printf.c putenv.c putchar.c putpwent.c putw.c pwent.c qsort.c SRC_C += raise.c rand.c readdir.c readlink.c realloc.c regerror.c SRC_C += regsub.c remove.c rewind.c rewinddir.c rindex.c seekdir.c setbuffer.c setenv.c -SRC_C += setlocale.c setvbuf.c settimeofday.c sleep.c sprintf.c -SRC_C += stat.c stdio0.c stime.c +SRC_C += setlocale.c setvbuf.c settimeofday.c sgetl.c sleep.c sprintf.c +SRC_C += sputl.c stat.c stdio0.c stime.c SRC_C += strcasecmp.c strcasestr.c strdup.c stricmp.c strlcpy.c strncasecmp.c SRC_C += strnlen.c strnicmp.c strsep.c strxfrm.c strcoll.c strsignal.c SRC_C += strtod.c strtol.c swab.c system.c telldir.c time.c tmpfile.c tmpnam.c ttyname.c diff --git a/Library/libs/Makefile.z80 b/Library/libs/Makefile.z80 index 95d816ba..03c3bcd8 100644 --- a/Library/libs/Makefile.z80 +++ b/Library/libs/Makefile.z80 @@ -45,8 +45,8 @@ SRC_C += raise.c rand.c readdir.c readlink.c realloc.c recv.c SRC_C += recvfrom.c regerror.c SRC_C += regsub.c remove.c rewind.c rewinddir.c rindex.c seekdir.c SRC_C += send.c sendto.c setbuffer.c setenv.c -SRC_C += setlocale.c setvbuf.c settimeofday.c sleep.c sprintf.c -SRC_C += stat.c stdio0.c stime.c +SRC_C += setlocale.c setvbuf.c settimeofday.c sgetl.c sleep.c sprintf.c +SRC_C += sputl.c stat.c stdio0.c stime.c SRC_C += strcasecmp.c strcasestr.c strdup.c stricmp.c strlcpy.c strncasecmp.c SRC_C += strnlen.c strnicmp.c strsep.c strxfrm.c strcoll.c strsignal.c SRC_C += strtod.c strtol.c swab.c system.c telldir.c time.c tmpfile.c tmpnam.c ttyname.c diff --git a/Library/libs/ld65-65c816.cfg b/Library/libs/ld65-65c816.cfg deleted file mode 100644 index 3ae59b11..00000000 --- a/Library/libs/ld65-65c816.cfg +++ /dev/null @@ -1,17 +0,0 @@ -MEMORY { - RAMZ: start = $0000, size = $0100, type = rw, define = yes; - RAM1: start = $0100, size = $FB00, type = rw, define = yes; -} - -SEGMENTS { - ZEROPAGE: load = RAMZ, type = zp, define = yes; - STARTUP: load = RAM1, type = ro, define=yes; - CODE: load = RAM1, type = ro, define=yes; - RODATA: load = RAM1, type = ro, define=yes; - DATA: load = RAM1, type = rw, define=yes; - BSS: load = RAM1, type = bss, define=yes; -} - -FILES { - %O: format = bin; -} diff --git a/Library/libs/sgetl.c b/Library/libs/sgetl.c new file mode 100644 index 00000000..3bfd2929 --- /dev/null +++ b/Library/libs/sgetl.c @@ -0,0 +1,15 @@ +#include +#include + +long sgetl(const char *buffer) +{ + uint8_t p = (uint8_t *)buffer; + uint32_t r; + + r = *p++; + r |= (*p++ << 8); + r |= (*p++ << 16); + r |= (*p << 24); + + return (long)r; +} diff --git a/Library/libs/sputl.c b/Library/libs/sputl.c new file mode 100644 index 00000000..29bca6e5 --- /dev/null +++ b/Library/libs/sputl.c @@ -0,0 +1,16 @@ +#include +#include + +void sputl(long value, char *buffer) +{ + uint8_t p = (uint8_t *)buffer; + uint32_t r = (uint32_t)value; + + *p++ = r; + r <<= 8; + *p++ = r; + r <<= 8; + *p++ = r; + r <<= 8; + *p = r; +} -- 2.34.1