Difference between revisions of "PrBoom"

From ArmadeusWiki
Jump to: navigation, search
m (Install)
(APF9328 with only 8 MBytes of FLASH)
 
(28 intermediate revisions by 3 users not shown)
Line 5: Line 5:
 
Doom clone derived from original ID Software sources and enhanced (SDL support, bugs correction...). Doom is the sequel of Wolfenstein.
 
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).<br>
 
It is working quite well on 8bpp framebuffers; for 16bpp one, a bug has to be corrected in i.MX framebuffer (ongoing).<br>
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 was taken on the new LCD. Runs at full speed in 320x240 with only ~40% CPU usage in 8bpp mode.
+
PrBoom requires SDL, SDL_mixer & SDL_net and runs at full speed in 320x240 with only ~40% CPU usage in 8bpp mode.
  
===Install===
+
==Install==
 
* Launch Buildroot configuration:
 
* Launch Buildroot configuration:
# make menuconfig
+
<pre class="host">
[[Image:Menuconfig_package.png]]<br>
+
$ make menuconfig
<br>
+
</pre>
[[Image:Menuconfig_package_graphics.png]]<br>
+
<pre class="config">
<br>
+
Target packages  --->
[[Image:Menuconfig_package_prboom.png]]
+
    ...
 +
    Games  --->
 +
    ...
 +
    [*] PrBoom
 +
    [*] shareware Doom WAD file
 +
</pre>
  
Activate PrBoom package (it will autoselect SDL, SDL_mixer and SDL_net). Then, exit and save your config. Re-Build your rootfs:
+
Activate PrBoom package and "shareware Doom WAD file" (it will autoselect SDL, SDL_mixer and SDL_net). Then, exit and save your config. Re-Build your rootfs:
  # make
+
<pre class="host">
 +
  $ make
 +
</pre>
 +
 
 +
===APF9328 with only 8 MBytes of FLASH===
 
As the generated rootfs is too big to be put on the 8MBytes APF9328 FLASH, there are 2 solutions:
 
As the generated rootfs is too big to be put on the 8MBytes APF9328 FLASH, there are 2 solutions:
* 1]  put rootfs on a MMC/SD. In Buildroot configure rootfs to be tar-ed:
+
# [[MultiMediaCard#Booting_from_MMC.2FSD | put rootfs on a MMC/SD and boot it]]
'''Target filesystem options  --->'''
+
# [[Network_Configuration#Boot_from_NFS | boot your board from your NFS export]]
[[Image:Menuconfig_tar_rootfs.png]]
+
 
and then:
+
''armadeus/buildroot/build_armv4t/root/usr/games/prboom'', ''armadeus/buildroot/project_build_armv4t/apf9328/root/usr/share/games/doom/prboom.wad'' and ''doom1.wad'' files should be in the same directory !!  
[armadeus]$ sudo tar xvf /.../buildroot/binaries/armadeus/rootfs.arm.tar -C /media/usbdisk
+
 
[armadeus]$ sudo umount /media/usbdisk
+
Then cd in directory and launch the game:
in U-Boot then use (with MMC inserted):
+
 
BIOS> run mmcboot
+
==Launching==
After Linux boot on Target, launch the game:
+
* If you have a 320x240 display:
# /usr/games/prboom -width 320 -height 240 &
+
<pre class=apf>
* 2]  put games files on NFS export: ''armadeus/buildroot/build_arm_nofpu/root/usr/games/prboom'', ''armadeus/buildroot/project_build_arm/armadeus/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 -nosound &
  # /mnt/nfs/usr/games/prboom -width 320 -height 240 &
+
</pre>
 +
* If you want some sound be sure that [[ALSA]] is running, '''with OSS emulation loaded.'''
 +
* To change screen depth (default 8 bits), ex:
 +
<pre class=apf>
 +
-vidmode 16bit
 +
</pre>
 +
 
 +
==Troubleshots==
 +
*If SDL is complaining because it can't find any mouse (''Unable to init SDL: Unable to open mouse'') then, before launching the game, do:
 +
<pre class=apf>
 +
# export SDL_NOMOUSE=1
 +
</pre>
 +
* APF9328 LCD controller has difficulties to process all data when launching PrBoom in 480x272 mode (random black lines on screen). It's an hardware limitation so no fixes are scheduled.
 +
 
 +
==Links==
 +
* [http://prboom.sourceforge.net/ PrBoom official Website]
 +
 
 +
[[Category:Games]]
 +
[[Category:SDL]]

Latest revision as of 13:33, 26 February 2015

PrBoom

PrBoom
Gametype FPS
Web site http://
Doom.jpg
Fully working
Video http://www.youtube.com/watch?v=256RY8DaoX0

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 requires SDL, SDL_mixer & SDL_net and runs at full speed in 320x240 with only ~40% CPU usage in 8bpp mode.

Install

  • Launch Buildroot configuration:
$ make menuconfig
Target packages  --->
    ...
    Games  --->
    ...
    [*] PrBoom
    [*] shareware Doom WAD file

Activate PrBoom package and "shareware Doom WAD file" (it will autoselect SDL, SDL_mixer and SDL_net). Then, exit and save your config. Re-Build your rootfs:

 $ make

APF9328 with only 8 MBytes of FLASH

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

  1. put rootfs on a MMC/SD and boot it
  2. boot your board from your NFS export

armadeus/buildroot/build_armv4t/root/usr/games/prboom, armadeus/buildroot/project_build_armv4t/apf9328/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:

Launching

  • If you have a 320x240 display:
 # /usr/games/prboom -width 320 -height 240 -nosound &
  • If you want some sound be sure that ALSA is running, with OSS emulation loaded.
  • To change screen depth (default 8 bits), ex:
-vidmode 16bit

Troubleshots

  • If SDL is complaining because it can't find any mouse (Unable to init SDL: Unable to open mouse) then, before launching the game, do:
 # export SDL_NOMOUSE=1
  • APF9328 LCD controller has difficulties to process all data when launching PrBoom in 480x272 mode (random black lines on screen). It's an hardware limitation so no fixes are scheduled.

Links