summaryrefslogtreecommitdiff
path: root/payloads/external/tint/tint-0.05_libpayload.patch
diff options
context:
space:
mode:
Diffstat (limited to 'payloads/external/tint/tint-0.05_libpayload.patch')
-rw-r--r--payloads/external/tint/tint-0.05_libpayload.patch470
1 files changed, 470 insertions, 0 deletions
diff --git a/payloads/external/tint/tint-0.05_libpayload.patch b/payloads/external/tint/tint-0.05_libpayload.patch
new file mode 100644
index 0000000000..6c9594a369
--- /dev/null
+++ b/payloads/external/tint/tint-0.05_libpayload.patch
@@ -0,0 +1,470 @@
+diff -rupN tint-0.05/config.h tint/config.h
+--- tint-0.05/config.h 2001-12-08 00:03:24.000000000 +0100
++++ tint/config.h 2021-02-09 08:00:00.000000000 +0200
+@@ -29,7 +29,15 @@
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
++#include <libpayload.h>
++#include <curses.h>
++
++#define curs_set(x)
++#define USE_RAND
++
+ /* Score file */
++#if 0
+ const char scorefile[] = SCOREFILE;
++#endif
+
+ #endif /* #ifndef CONFIG_H */
+diff -rupN tint-0.05/engine.c tint/engine.c
+--- tint-0.05/engine.c 2005-07-17 13:26:22.000000000 +0200
++++ tint/engine.c 2021-02-09 08:00:00.000000000 +0200
+@@ -27,10 +27,13 @@
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
++#include "config.h"
++
++#if 0
+ #include <stdlib.h>
+ #include <string.h>
++#endif
+
+-#include "typedefs.h"
+ #include "utils.h"
+ #include "io.h"
+ #include "engine.h"
+diff -rupN tint-0.05/engine.h tint/engine.h
+--- tint-0.05/engine.h 2001-12-07 16:48:08.000000000 +0100
++++ tint/engine.h 2021-02-09 08:00:00.000000000 +0200
+@@ -29,7 +29,7 @@
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include "typedefs.h" /* bool */
++#include "curses.h" /* bool */
+
+ /*
+ * Macros
+diff -rupN tint-0.05/io.c tint/io.c
+--- tint-0.05/io.c 2010-06-23 15:05:12.000000000 +0100
++++ tint/io.c 2021-02-09 08:00:00.000000000 +0200
+@@ -27,9 +27,13 @@
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
++#include "config.h"
++
++#if 0
+ #include <stdarg.h> /* va_list(), va_start(), va_end() */
+ #include <sys/time.h> /* gettimeofday() */
+ #include <unistd.h> /* gettimeofday() */
++#endif
+
+ #include "io.h"
+
+@@ -68,7 +72,11 @@ static int in_timeleft;
+ /* Initialize screen */
+ void io_init ()
+ {
++ curses_enable_serial(0);
++ curses_enable_vga(1);
+ initscr ();
++ halfdelay(1);
++ timeout(1);
+ start_color ();
+ curs_set (CURSOR_INVISIBLE);
+ out_attr = A_NORMAL;
+@@ -177,11 +185,17 @@ void out_beep ()
+ /* Read a character. Please note that you MUST call in_timeout() before in_getch() */
+ int in_getch ()
+ {
++#if 0
+ struct timeval starttv,endtv;
++#endif
+ int ch;
++#if 0
+ timeout (in_timeleft / 1000);
+ gettimeofday (&starttv,NULL);
++#endif
+ ch = getch ();
++ mdelay(150);
++#if 0
+ gettimeofday (&endtv,NULL);
+ /* Timeout? */
+ if (ch == ERR)
+@@ -199,6 +213,7 @@ int in_getch ()
+ in_timeleft -= endtv.tv_usec;
+ if (in_timeleft <= 0) in_timeleft = in_timetotal;
+ }
++#endif
+ return ch;
+ }
+
+diff -rupN tint-0.05/io.h tint/io.h
+--- tint-0.05/io.h 2010-06-23 14:55:03.000000000 +0100
++++ tint/io.h 2021-02-09 08:00:00.000000000 +0200
+@@ -30,7 +30,6 @@
+ */
+
+ #include <curses.h>
+-#include <wchar.h>
+
+ /*
+ * Colors
+diff -rupN tint-0.05/Makefile tint/Makefile
+--- tint-0.05/Makefile 2010-06-23 15:06:11.000000000 +0200
++++ tint/Makefile 2021-02-09 08:00:00.000000000 +0200
+@@ -0,0 +1,106 @@
++
++# -*- sh -*-
++
++# Copyright (c) Abraham vd Merwe <abz@blio.net>
++# All rights reserved.
++#
++# Redistribution and use in source and binary forms, with or without
++# modification, are permitted provided that the following conditions
++# are met:
++# 1. Redistributions of source code must retain the above copyright
++# notice, this list of conditions and the following disclaimer.
++#
++# 2. Redistributions in binary form must reproduce the above copyright
++# notice, this list of conditions and the following disclaimer in the
++# documentation and/or other materials provided with the distribution.
++# 3. Neither the name of the author nor the names of other contributors
++# may be used to endorse or promote products derived from this software
++# without specific prior written permission.
++#
++# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
++# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
++# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
++# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
++# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
++# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
++# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
++# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++
++# in addition to the dependency below, create the file if it doesn't exist
++# to silence warnings about a file that would be generated anyway.
++$(if $(wildcard .xcompile),,$(eval $(shell ../../../../util/xcompile/xcompile $(XGCCPATH) > .xcompile || rm -f .xcompile)))
++.xcompile: ../../../../util/xcompile/xcompile
++
++CONFIG_COMPILER_GCC := y
++ARCH-y := x86_32
++
++include .xcompile
++
++src := $(CURDIR)
++srctree := $(src)
++tint_obj := $(src)/build
++
++LIBCONFIG_PATH := $(realpath ../../../libpayload)
++LIBPAYLOAD_DIR := $(tint_obj)/libpayload
++HAVE_LIBPAYLOAD := $(wildcard $(LIBPAYLOAD_DIR)/lib/libpayload.a)
++LIB_CONFIG ?= configs/defconfig-tinycurses
++
++# CFLAGS := -Wall -Werror -Os
++CFLAGS := -Wall -g -Os
++TARGET := tint
++OBJS := $(TARGET).o engine.o io.o utils.o
++
++ARCH-y := x86_32
++
++CC := $(CC_$(ARCH-y))
++AS := $(AS_$(ARCH-y))
++OBJCOPY := $(OBJCOPY_$(ARCH-y))
++
++LPCC := CC="$(CC)" $(LIBPAYLOAD_DIR)/bin/lpgcc
++LPAS := AS="$(AS)" $(LIBPAYLOAD_DIR)/bin/lpas
++
++# Make is silent per default, but 'make V=1' will show all compiler calls.
++ifneq ($(V),1)
++Q := @
++endif
++
++all: $(TARGET).elf
++# printf" CC $(CC)\n"
++
++$(TARGET).elf: $(OBJS) libpayload
++ $(Q)printf " LPCC $(subst $(shell pwd)/,,$(@))\n"
++ $(Q)$(LPCC) -o $@ $(OBJS)
++ $(Q)$(OBJCOPY) --only-keep-debug $@ tint.debug
++ $(Q)$(OBJCOPY) --strip-debug $@
++ $(Q)$(OBJCOPY) --add-gnu-debuglink=tint.debug $@
++
++%.o: %.c libpayload
++ $(Q)printf " LPCC $(subst $(shell pwd)/,,$(@))\n"
++ $(Q)$(LPCC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
++
++%.S.o: %.S libpayload
++ $(Q)printf " LPAS $(subst $(shell pwd)/,,$(@))\n"
++ $(Q)$(LPAS) $(ASFLAGS) --32 -o $@ $<
++
++ifneq ($(strip $(HAVE_LIBPAYLOAD)),)
++libpayload:
++ $(Q)printf "Found Libpayload $(LIBPAYLOAD_DIR).\n"
++else
++libpayload:
++ $(Q)printf "Building libpayload @ $(LIBCONFIG_PATH).\n"
++ $(Q)make -C $(LIBCONFIG_PATH) distclean
++ $(Q)make -C $(LIBCONFIG_PATH) defconfig KBUILD_DEFCONFIG=$(LIB_CONFIG)
++ $(Q)make -C $(LIBCONFIG_PATH) DESTDIR=$(tint_obj) install
++endif
++
++clean:
++ $(Q)rm -f $(TARGET).elf $(TARGET).debug *.o
++ $(Q)rm .xcompile
++
++distclean: clean
++ $(Q)rm -rf $(tint_obj)
++
++
++.PHONY: all clean do-it-all depend with-depends without-depends debian postinst
+diff -rupN tint-0.05/tint.c tint/tint.c
+--- tint-0.05/tint.c 2010-08-08 19:42:50.000000000 +0200
++++ tint/tint.c 2021-02-09 08:00:00.000000000 +0200
+@@ -1,4 +1,3 @@
+-
+ /*
+ * Copyright (c) Abraham vd Merwe <abz@blio.net>
+ * All rights reserved.
+@@ -27,6 +26,7 @@
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
++#if 0
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <string.h>
+@@ -34,8 +34,8 @@
+ #include <pwd.h>
+ #include <sys/types.h>
+ #include <unistd.h>
++#endif
+
+-#include "typedefs.h"
+ #include "utils.h"
+ #include "io.h"
+ #include "config.h"
+@@ -304,7 +304,7 @@ static void showstatus (engine_t *engine
+ /***************************************************************************/
+
+ /* Header for scorefile */
+-#define SCORE_HEADER "Tint 0.02b (c) Abraham vd Merwe - Scores"
++#define SCORE_HEADER "Tint 0.05 (c) Abraham vd Merwe - Scores"
+
+ /* Header for score title */
+ static const char scoretitle[] = "\n\t TINT HIGH SCORES\n\n\tRank Score Name\n\n";
+@@ -322,6 +322,7 @@ typedef struct
+ time_t timestamp;
+ } score_t;
+
++#if 0
+ static void getname (char *name)
+ {
+ struct passwd *pw = getpwuid (geteuid ());
+@@ -338,7 +339,9 @@ static void getname (char *name)
+ name[NAMELEN - 1] = '\0';
+ }
+ }
++#endif
+
++#if 0
+ static void err1 ()
+ {
+ fprintf (stderr,"Error creating %s\n",scorefile);
+@@ -350,10 +353,11 @@ static void err2 ()
+ fprintf (stderr,"Error writing to %s\n",scorefile);
+ exit (EXIT_FAILURE);
+ }
++#endif
+
+ void showplayerstats (engine_t *engine)
+ {
+- fprintf (stderr,
++ printf (
+ "\n\t PLAYER STATISTICS\n\n\t"
+ "Score %11d\n\t"
+ "Efficiency %11d\n\t"
+@@ -361,6 +365,7 @@ void showplayerstats (engine_t *engine)
+ GETSCORE (engine->score),engine->status.efficiency,GETSCORE (engine->score) / getsum ());
+ }
+
++#if 0
+ static void createscores (int score)
+ {
+ FILE *handle;
+@@ -395,7 +400,9 @@ static void createscores (int score)
+ fprintf (stderr,"%s",scoretitle);
+ fprintf (stderr,"\t 1* %7d %s\n\n",score,scores[0].name);
+ }
++#endif
+
++#if 0
+ static int cmpscores (const void *a,const void *b)
+ {
+ int result;
+@@ -413,7 +420,9 @@ static int cmpscores (const void *a,cons
+ /* timestamps is equal */
+ return 0;
+ }
++#endif
+
++#if 0
+ static void savescores (int score)
+ {
+ FILE *handle;
+@@ -491,11 +500,13 @@ static void savescores (int score)
+ }
+ fprintf (stderr,"\n");
+ }
++#endif
+
+ /***************************************************************************/
+ /***************************************************************************/
+ /***************************************************************************/
+
++#if 0
+ static void showhelp ()
+ {
+ fprintf (stderr,"USAGE: tint [-h] [-l level] [-n] [-d] [-b char]\n");
+@@ -506,9 +517,11 @@ static void showhelp ()
+ fprintf (stderr," -b <char> Use this character to draw blocks instead of spaces\n");
+ exit (EXIT_FAILURE);
+ }
++#endif
+
+ static void parse_options (int argc,char *argv[])
+ {
++#if 0
+ int i = 1;
+ while (i < argc)
+ {
+@@ -544,10 +557,12 @@ static void parse_options (int argc,char
+ }
+ i++;
+ }
++#endif
+ }
+
+ static void choose_level ()
+ {
++#if 0
+ char buf[NAMELEN];
+
+ do
+@@ -557,6 +572,8 @@ static void choose_level ()
+ buf[strlen (buf) - 1] = '\0';
+ }
+ while (!str2int (&level,buf) || level < MINLEVEL || level > MAXLEVEL);
++#endif
++ level = 1;
+ }
+
+ /***************************************************************************/
+@@ -569,6 +586,8 @@ int main (int argc,char *argv[])
+ int ch;
+ engine_t engine;
+ /* Initialize */
++ if (CONFIG(LP_USB))
++ usb_initialize();
+ rand_init (); /* must be called before engine_init () */
+ engine_init (&engine,score_function); /* must be called before using engine.curshape */
+ finished = shownext = FALSE;
+@@ -632,12 +651,14 @@ int main (int argc,char *argv[])
+ /* pause */
+ case 'p':
+ out_setcolor (COLOR_WHITE,COLOR_BLACK);
+- out_gotoxy ((out_width () - 34) / 2,out_height () - 2);
++ out_gotoxy ((out_width () - 34) / 2,out_height () / 2);
+ out_printf ("Paused - Press any key to continue");
++ refresh ();
+ while ((ch = in_getch ()) == ERR) ; /* Wait for a key to be pressed */
+ in_flush (); /* Clear keyboard buffer */
+- out_gotoxy ((out_width () - 34) / 2,out_height () - 2);
++ out_gotoxy ((out_width () - 34) / 2,out_height () / 2);
+ out_printf (" ");
++ refresh ();
+ break;
+ /* unknown keypress */
+ default:
+@@ -672,12 +693,32 @@ int main (int argc,char *argv[])
+ while (!finished);
+ /* Restore console settings and exit */
+ io_close ();
++#if 0
+ /* Don't bother the player if he want's to quit */
+ if (ch != 'q')
+ {
++#endif
+ showplayerstats (&engine);
++#if 0
+ savescores (GETSCORE (engine.score));
+ }
++#endif
++ printf("Press 'q' to reboot...\n");
++ refresh();
++ for (;;) {
++ in_flush ();
++ while ((ch = in_getch ()) == ERR) ; /* Wait for a key to be pressed */
++ if (ch == 'q') { /* reboot */
++ outb(0x6, 0xcf9);
++ for(;;); //halt();
++ }
++ else {
++ in_flush ();
++ }
++ }
++
++#if 0
+ exit (EXIT_SUCCESS);
++#endif
+ }
+
+diff -rupN tint-0.05/utils.c tint/utils.c
+--- tint-0.05/utils.c 2001-12-07 16:49:19.000000000 +0100
++++ tint/utils.c 2021-02-09 08:00:00.000000000 +0200
+@@ -27,11 +27,13 @@
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
++#include "config.h"
++
++#if 0
+ #include <stdlib.h>
+ #include <time.h>
+ #include <limits.h>
+-
+-#include "typedefs.h"
++#endif
+
+ /*
+ * Initialize random number generator
+@@ -61,6 +63,7 @@ int rand_value (int range)
+ * Convert an str to long. Returns TRUE if successful,
+ * FALSE otherwise.
+ */
++#if 0
+ bool str2int (int *i,const char *str)
+ {
+ char *endptr;
+@@ -69,3 +72,4 @@ bool str2int (int *i,const char *str)
+ return TRUE;
+ }
+
++#endif
+diff -rupN tint-0.05/utils.h tint/utils.h
+--- tint-0.05/utils.h 2001-12-07 16:49:35.000000000 +0100
++++ tint/utils.h 2021-02-09 08:00:00.000000000 +0200
+@@ -29,7 +29,7 @@
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#include "typedefs.h"
++#include <curses.h>
+
+ /*
+ * Initialize random number generator