Software_System_Functions


This page lists functions used by Linux games that are provided by the "sys" headers in "sys/". These may make some games more difficult to build in the bare-metal environment, because they may not be supported in the corresponding C Standard Library implementation used.

Games

3DPong

gettimeofday

Agendaroids

gettimeofday

CBzone

flock
gettimeofday
select
wait

Note: inc. high scores.

ICBM3D

gettimeofday

MAME

AdvanceMAME Version 3.9
Built with options:
--disable-asm --disable-zlib --disable-expat --disable-svgalib --disable-fb --disable-vc --disable-alsa --disable-oss --disable-pthread --disable-slang --disable-ncurses --disable-freetype --disable-sdl2 --disable-sdl --disable-svgawin --disable-mrawinput --disable-mcpn --disable-kraw --disable-jraw --disable-mraw --disable-mevent --disable-kevent --disable-jevent

Assuming that all graphics, sound, controller inputs, are implemented directly by modifying MAME itself to use the vectrexInterface library (controller inputs could be via the svgalib-vectrex translation library though).

advmame - The AdvanceMAME emulator.
connect
fchmod
__fxstat64
gettimeofday
ioctl
iopl
__lxstat64
mkdir
mprotect
select
shutdown
socket
uname
waitpid
__xstat64

advmess - The AdvanceMESS emulator.
connect
fchmod
__fxstat64
gettimeofday
ioctl
iopl
__lxstat64
mkdir
mprotect
select
shutdown
socket
uname
waitpid
__xstat64

advmenu - The AdvanceMENU frontend.
fchmod
__fxstat64
gettimeofday
ioctl
iopl
__lxstat64
mkdir
uname
utimes
waitpid
__xstat64

advm - The mouse tester.
fchmod
__fxstat64
gettimeofday
ioctl
iopl
__lxstat64
mkdir
uname
waitpid

advk - The keyboard tester.
fchmod
__fxstat64
gettimeofday
ioctl
iopl
__lxstat64
mkdir
uname
waitpid

advs - The sound tester.
fchmod
__fxstat64
gettimeofday
ioctl
iopl
__lxstat64
mkdir
uname
waitpid

advj - The joystick tester.
fchmod
__fxstat64
gettimeofday
ioctl
iopl
__lxstat64
mkdir
uname
waitpid

Rebel Defender

gettimeofday
ioctl

Note: inc. sound.

Rocks

gettimeofday
setitimer

Xasteroids

none

Xhyperoid

ioctl
setitimer
wait

Note: inc. sound.

Xinvaders3D

gettimeofday

Xlander

none

xsc

gettimeofday

Xspacewars

none

Zblast

ioctl
mmap
munmap
wait

Note: inc. sound and high scores.

Support

These are the functions that we know are supported in bare-metal environments:

Circle-Stdlib

Using Circle's port of Newlib. See "doc/stdlib-support.txt" in Circle.

gettimeofday

Function is in: libgloss/circle/gettod.cpp
Uses Circle's own kernel timer + interrupt system. See "include/circle/timer.h" and "lib/timer.cpp" in Circle.

Might need to find/write a more independent alternative to Circle's timing system.

wait

Stub function, returns error: libgloss/circle/wait.c

mkdir

Function is in: libgloss/circle/mkdir.cpp

Uses the FatFS library.


flock, ioctl, iopl, mmap, munmap, select, setitimer, are not found in libgloss/circle/*