Skip to content

sam-itt/teo-ng

Repository files navigation

Teo-ng - Thomson TO8 emulator


Teo-ng is a continuation of Teo. It brings more features such as:

  • Original Xbox port using nxdk
  • Allegro support on Linux (brings joystick suppport and fullscreen)
  • SDL2 port(Win32, Linux, Xbox) with virtual keyboard and full joystick control
  • Editable symbolic keyboard mapping using text files (all platforms)
  • Better integration within Linux filesystem
  • Cross-compiling support from Linux to Win32(Mingw) and MS-DOS (DJGPP)

Getting Teo-ng


Head over to either http://www.teo-ng.com/ or (if you have a developer account) the release page and pick binaries for your platform.

Otherwise build from source using instructions below.

Compiling:

Although binaries packages are provided, Teo-ng can be built from a Linux host to target either:

  • Linux
  • OS X / macOS
  • MS-DOS
  • Win32 It can also be built to target the original Xbox (og-xbox).

Cross compiling can be tricky. Users that really want to build from source will need a cross-compiler and "cross dependencies" for the target they'll choose (SDL2, Allegro, etc).

Dependencies:

  • libpng
  • -zlib
  • glib-2.0 (Unix)
  • Allegro4 (When building using Allegro)
  • SDL2 (When building using SDL)
  • Gettext (Except for xbox)
  • When building for gtk-x11:
    • gtk+-3.X
    • libX11
    • libXext
    • alsa-lib

Frontend select:

  • SDL2(default, Win32, Linux, Xbox, OS X): --with-gfx-backend=sdl2
  • Allegro(MS-DOS,Win32,Linux): --with-gfx-backend=allegro
  • GTK/X11(Linux): --with-gfx-backend=gtk-x11

Linux

Here is an ebuild for Gentoo Linux. We accept contributions for other distros.

$ ./configure --prefix=/usr --sysconfdir=/etc
$ make
# make install

OS X

To successfuly build the OS X version, you'll need dylibbundler. Using the prebuilt binary is recommended.

Install dependencies using homebrew before the build.

$ ./configure --prefix=/usr --sysconfdir=/etc
$ make
$ make macos-bundle
$ open teo-ng.dmg

Win32 and MS-DOS

Cross-compile for MS-DOS or Win32 using --host= and your cross compiler triplet.

MS-DOS

$ ./configure --prefix=/usr --sysconfdir=/etc --with-gfx-backend=allegro --host=i586-pc-msdosdjgpp
$ make
$ make msdos-bindist
$ ls *.zip

Win32

If you want to build a setup.exe you'll need Nullsoft's NIS

$ ./configure --prefix=/usr --sysconfdir=/etc --host=i686-w64-mingw32
$ make
$ make win32-bindist # Or make win32-setup that will produce setup.exe
$ ls *.zip # Or ls *.exe

Original Xbox

To build the original xbox version, you'll need the nxdk installed. Teo-ng uses features that are not yet integrated in the nxdk master branch. To get a suitable environment, use the get-nxdk.sh script that we'll make available until Teo-ng can be built using vanilla nxdk. Make the NXDK_DIR env variable point to the location where you installed nxdk.

$ wget http://www.teo-ng.com/dist/scripts/get-nxdk.sh
$ source get-nxdk.sh

Be sure to source the script, don't run it in a subshell otherwise you won't get the NXDDK_DIR variable properly set.

Then proceed with the build using the same shell:

 $ make -f Makefile.ogxbox config
 $ make -f Makefile.ogxbox

Known issues

  • MS-DOS: Automatic sound card detection can fail. If that occurs you can still manually configure correct settings (card type, port, DMA channel and IRQ #) in the allegro.cfg config file.