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/*
