Entertainment

From ArmadeusWiki
Revision as of 14:55, 20 May 2007 by JulienB (Talk | contribs) (Portable gaming platform)

Jump to: navigation, search

Portable gaming/media playing platform

Currently, we have all the necessary hardware interfaces on an APF9328 to develop a high level portable gaming platform, (except probably for sound generation which needs more testing yet). An article explaining how to build that platform has been published in the Mars 2007 edition of the French Magazine: GLMF (GNU/Linux Magazine France).
I will open a Wiki page to handle user request about technical details (if needed)... Current games working for that platform are:

Armanoid

a Breakout/Arkanoid (ugly? ;-) ) clone done as an example on how to use SDL in the project. Sources can be found in target/demos/armanoid/:
Armanoid LCD.jpg

Castle Wolfenstein

Wolf.jpg

SDL portage of the 1rst (pseudo-)3D FPS in game history. Still a little buggy but it's here: target/demos/wolfenstein. For a video: [1]

PrBoom

Doom.jpg

Infos

Doom clone derived from original ID Software sources and enhanced (SDL support, bugs correction...). Doom is the sequel of Wolfenstein. It is working quite well on 8bpp framebuffers; for 16bpp one, a bug has to be corrected in i.MX framebuffer (ongoing).
PrBoom is integrated in Buildroot on latest SVN snapshots. It needs SDL, SDL_mixer & SDL_net. Currently there is no sound support on Armadeus boards. Video on the new LCD is here: http://www.youtube.com/watch?v=256RY8DaoX0 . Runs at full speed in 320x240 with only ~40% CPU usage in 8bpp mode.

Install

Launch Buildroot configuration:

# make menuconfig

Activate SDL, SDL_mixer, SDL_net and then PrBoom packages. Exit and save your config. Build rootfs:

# make

As the generated rootfs is too big to be put on the APF9328 FLASH, there are 2 solutions:

  • 1] put rootfs on a MMC/SD. In Buildroot configure rootfs to be tar-ed Target Options ---> tar the root filesystem and then:
# tar xvf /.../armadeus/buildroot/rootfs.arm_nofpu.tar -C /mnt/sdcard/
# umount /mnt/sdcard/

in U-Boot then use (with MMC inserted):

BIOS> run mmcboot

After Linux boot on Target, launch the game:

# /usr/games/prboom -width 320 -height 240
  • 2] put games files on NFS export: armadeus/buildroot/build_arm_nofpu/root/usr/games/prboom, armadeus/buildroot/build_arm_nofpu/root/usr/share/games/doom/prboom.wad and doom1.wad.!! Files should be in the same directory !! Then cd in directory and launch the game:
# /usr/games/prboom -width 320 -height 240

Retro Gaming

SNES Emulation

Some tries have been made recently with snes9x emulator. Tested games are playable without sound emulation but there is still a lot of work. snes9x uses 16bpp, reducing it to 8bpp could help. Vsync synchro could also be nice.
Work is not fully commited yet. Putting sound emulation in FPGA could make it really usable

Amiga Emulation

Coming soon

Nice ideas to look at


At least everything done on GP32 or NintendoDS console should be possible with Armadeus boards.

Ask JulienB for more informations.

Detailed capacities

  • display JPEG, PNG
  • accept SD/MMC cards
  • plays MP3, Ogg music
  • display ID3 Tags
  • remote control
  • access network music server

PDA

Based on the game platform a PDA could be build relatively fast.

Chat server

Tiny chat server with select() function (no thread) for the armadeus board.

  • C Programming language
  • Multi-Users
  • Console oriented client in C programming language for Linux, windows ...
  • Graphic oriented client in Java ?

Project will continue if people are interested

For the moment:

  • Chat server is done, run under armadeus card, windows, linux ...
  • Oriented console client is done... (bug with linux, take a lot of ressources)
  • Has been tested with Visual Studio 2005 and Code::blocks (mingw) under windows and gcc under linux


Download

Sources can be found here