Atari800 emulator

This commit is contained in:
Norman Feske
2017-12-29 12:39:13 +01:00
parent fa9b94e377
commit f44d6967f6
5 changed files with 173 additions and 0 deletions

1
ports/atari800.hash Normal file
View File

@@ -0,0 +1 @@
009099e0ce8152266d7f84384a670218f1a9bf7b

11
ports/atari800.port Normal file
View File

@@ -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

36
run/atari800.run Normal file
View File

@@ -0,0 +1,36 @@
set build_components { app/atari800 }
set app_config {
<start name="atari800" priority="-2" caps="200">
<resource name="RAM" quantum="64M"/>
<config>
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc"/>
<vfs>
<tar name="atari800_rom.tar" />
<dir name="dev"> <log/> <inline name="rtc">2000-01-01 00:00</inline> </dir>
<ram/>
</vfs>
<arg value="atari800"/>
<arg value="-osb_rom"/> <arg value="ATARIOSB.ROM"/>
<arg value="-xlxe_rom"/> <arg value="ATARIXL.ROM"/>
<arg value="-basic_rom"/> <arg value="ATARIBAS.ROM"/>
<arg value="-basic"/>
<arg value="-showspeed"/>
<arg value="-nosound"/>
<arg value="-win-width"/> <arg value="640"/>
<arg value="-win-height"/> <arg value="480"/>
</config>
</start>}
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

99
src/app/atari800/config.h Normal file
View File

@@ -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

View File

@@ -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