diff --git a/ports/atari800.hash b/ports/atari800.hash new file mode 100644 index 0000000..4bbe3c5 --- /dev/null +++ b/ports/atari800.hash @@ -0,0 +1 @@ +009099e0ce8152266d7f84384a670218f1a9bf7b diff --git a/ports/atari800.port b/ports/atari800.port new file mode 100644 index 0000000..13cfc02 --- /dev/null +++ b/ports/atari800.port @@ -0,0 +1,11 @@ +LICENSE := GPLv2 +VERSION := 3.1.0 +DOWNLOADS := atari800.git xformer.archive + +URL(atari800) := https://github.com/atari800/atari800.git +REV(atari800) := ATARI800_3_1_0 +DIR(atari800) := src/app/atari800 + +URL(xformer) := http://prdownloads.sf.net/atari800/xf25.zip +SHA(xformer) := e65923fd3a4845c1c72d1677db0fda969187eb42 +DIR(xformer) := src/app/atari800/xformer diff --git a/run/atari800.run b/run/atari800.run new file mode 100644 index 0000000..28c08c2 --- /dev/null +++ b/run/atari800.run @@ -0,0 +1,36 @@ +set build_components { app/atari800 } + +set app_config { + + + + + + + + 2000-01-01 00:00 + + + + + + + + + + + + +} + +set boot_modules { + atari800 atari800_rom.tar + libc.lib.so + libm.lib.so + libpng.lib.so + pthread.lib.so + sdl.lib.so + zlib.lib.so +} + +source ${genode_dir}/repos/world/run/framebuffer_app.inc diff --git a/src/app/atari800/config.h b/src/app/atari800/config.h new file mode 100644 index 0000000..40e6e33 --- /dev/null +++ b/src/app/atari800/config.h @@ -0,0 +1,99 @@ +#define AF80 1 +#define CONSOLE_SOUND 1 +#define CRASH_MENU 1 +#define EVENT_RECORDING 1 +#define GUI_SDL 1 +#define HAVE_ARPA_INET_H 1 +#define HAVE_ATEXIT 1 +#define HAVE_CHMOD 1 +#define HAVE_CLOCK 1 +#define HAVE_DIRENT_H 1 +#define HAVE_ERRNO_H 1 +#define HAVE_FCNTL_H 1 +#define HAVE_FDOPEN 1 +#define HAVE_FFLUSH 1 +#define HAVE_FLOOR 1 +#define HAVE_FSEEKO 1 +#define HAVE_FSTAT 1 +#define HAVE_GETCWD 1 +#define HAVE_GETTIMEOFDAY 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_LIBPNG 1 +#define HAVE_LIBZ 1 +#define HAVE_MKDIR 1 +#define HAVE_MKSTEMP 1 +#define HAVE_MKTEMP 1 +#define HAVE_MODF 1 +#define HAVE_NANOSLEEP 1 +#define HAVE_OPENDIR 1 +#define HAVE_RENAME 1 +#define HAVE_RMDIR 1 +#define HAVE_SELECT 1 +#define HAVE_SIGNAL 1 +#define HAVE_SIGNAL_H 1 +#define HAVE_STAT 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STRCASECMP 1 +#define HAVE_STRCHR 1 +#define HAVE_STRDUP 1 +#define HAVE_STRERROR 1 +#define HAVE_STRINGS_H 1 +#define HAVE_STRING_H 1 +#define HAVE_STRNCPY 1 +#define HAVE_STRRCHR 1 +#define HAVE_STRSTR 1 +#define HAVE_STRTOL 1 +#define HAVE_SYSTEM 1 +#define HAVE_SYS_IOCTL_H 1 +#define HAVE_SYS_SELECT_H 1 +#define HAVE_SYS_STAT_H 1 +#define HAVE_SYS_TIME_H 1 +#define HAVE_SYS_TYPES_H 1 +#define HAVE_TERMIOS_H 1 +#define HAVE_TIME 1 +#define HAVE_TIME_H 1 +#define HAVE_TMPFILE 1 +#define HAVE_TMPNAM 1 +#define HAVE_UNISTD_H 1 +#define HAVE_UNLINK 1 +#define HAVE_USLEEP 1 +#define HAVE_VPRINTF 1 +#define IDE 1 +#define INTERPOLATE_SOUND 1 +#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1 +#define MONITOR_ASSEMBLER 1 +#define MONITOR_BREAK 1 +#define MONITOR_HINTS 1 +#define NEW_CYCLE_EXACT 1 +#define NONLINEAR_MIXING 1 +#define NTSC_FILTER 1 +#define PACKAGE_NAME "Atari800" +#define PACKAGE_STRING "Atari800 3.1.0" +#define PACKAGE_TARNAME "atari800" +#define PACKAGE_URL "" +#define PACKAGE_VERSION "3.1.0" +#define PAL_BLENDING 1 +#define PBI_BB 1 +#define PBI_MIO 1 +#define PBI_PROTO80 1 +#define PBI_XLD 1 +#define PLATFORM_MAP_PALETTE 1 +#define RETSIGTYPE void +#define SDL 1 +#define SELECT_TYPE_ARG1 int +#define SELECT_TYPE_ARG234 (fd_set *) +#define SELECT_TYPE_ARG5 (struct timeval *) +#define SOUND 1 +#define SOUND_CALLBACK 1 +#define SOUND_THIN_API 1 +#define STDC_HEADERS 1 +#define STEREO_SOUND 1 +#define SUPPORTS_CHANGE_VIDEOMODE 1 +#define SUPPORTS_PLATFORM_CONFIGSAVE 1 +#define SUPPORTS_PLATFORM_CONFIGURE 1 +#define SUPPORTS_PLATFORM_PALETTEUPDATE 1 +#define SUPPORTS_PLATFORM_TIME 1 +#define SYNCHRONIZED_SOUND 1 +#define TIME_WITH_SYS_TIME 1 +#define XEP80_EMULATION 1 diff --git a/src/app/atari800/target.mk b/src/app/atari800/target.mk new file mode 100644 index 0000000..449ec36 --- /dev/null +++ b/src/app/atari800/target.mk @@ -0,0 +1,26 @@ +TARGET := atari800 + +ATARI800_DIR := $(call select_from_ports,atari800)/src/app/atari800 + +FILTER_OUT_SRC := atari_basic.c atari_curses.c atari_falcon.c atari_ps2.c \ + atari_rpi.c atari_x11.c joycfg.c mkimg.c rdevice.c \ + sound_falcon.c sound_oss.c sdl/video_gl.c + +SRC_C := $(notdir $(wildcard $(ATARI800_DIR)/src/*.c)) +SRC_C += $(addprefix sdl/,$(notdir $(wildcard $(ATARI800_DIR)/src/sdl/*.c))) +SRC_C += atari_ntsc/atari_ntsc.c + +SRC_C := $(filter-out $(FILTER_OUT_SRC),$(SRC_C)) + +vpath %.c $(ATARI800_DIR)/src + +INC_DIR += $(ATARI800_DIR)/src $(PRG_DIR) + +CC_WARN := -Wall -Wno-unused-but-set-variable -Wno-logical-not-parentheses + +LIBS += sdl sdlmain zlib libc libpng + +$(TARGET): atari800_rom.tar +atari800_rom.tar: + $(VERBOSE)cd $(ATARI800_DIR)/xformer; tar cf $(PWD)/bin/$@ *.ROM +