ubuntu install dosbox and wolf3d

https://fabiensanglard.net/Compile_Like_Its_1992/index.php

Setup filesystem
   cd ~
   mkdir system
   cd system
   mkdir c
   mkdir a
   cd ~
Download
    cd system/a
    curl -O http://fabiensanglard.net/Compile_Like_Its_1992/tools/BCPP31.zip
    http://fabiensanglard.net/Compile_Like_Its_1992/tools/BCPP31.zip
    

    cd ../c
    curl -O http://fabiensanglard.net/Compile_Like_Its_1992/tools/wolfsrc.zip
    curl -O http://fabiensanglard.net/Compile_Like_Its_1992/tools/vgafiles.zip
    http://fabiensanglard.net/Compile_Like_Its_1992/tools/wolfsrc.zip
    http://fabiensanglard.net/Compile_Like_Its_1992/tools/vgafiles.zip
   cd ..
   find ~/system

Decompress everything
    cd ~/system/a
    unzip BCPP31.zip
    jar xvf BCPP31.zip
    sudo apt install openjdk-17-jdk-headless

    cd ~/system/c
    unzip vgafiles.zip
    unzip wolfsrc.zip
Download and start DosBox:
https://www.dosbox.com/
sudo apt-get install dosbox
https://blog.csdn.net/weixin_42361495/article/details/116691919

Mount the filesystem, one folder for each drive :
   Z:/> mount c ~/system/c 
   Z:/> mount a ~/system/a
Install the compiler
Now is time to install Borland C++ 3.1 :
    Z:\> a:
    A:\> cd BCPP31
    A:\> install

Install Wolfenstein 3D source code
We have a system running and a compiler on it: Time to decompress (again) the source code.    

  A:\> c:
  C:\> cd\
  C:\> install
  Type 'C'
  Keep the default path: \WOLFSRC
  Y to create the directory.
  Installing !
Compiling
Start Borland C++ 3.1:
     C:\> cd\
     C:\> cd borlandc
     C:\> cd bin
     C:\> bc.exe
After pressing OK, use the mouse or the shortcuts to Project -> Open Project ..\..\WOLFSRC\WOLF3D.PRJ:
Select Options -> Directories and change the value as follow :
    Include Directories: C:\BORLANDC\INCLUDE
    Library Directories: C:\BORLANDC\LIB
    Ouptput Directories: OBJ
    Source Directories:  C:\WOLFSRC
Let's try to compile: Compile -> Build All
We get an error: "Cannot find executable TASM"

Exit Borland C++, we need to set the PATH:

     
     C:\> CD ..
     C:\> PATH=C:\BORLANDC\BIN
     C:\> BC.EXE
Try to compile again (Compile -> Build All):

Compiling did work but the linking failed: "Unable to find OBJ file" because the path of SIGNON.OBJ and GAMEPAL.OBJ in wrong in the project: They are marked in C:\SOURCE\WOLF\ :


Delete them from the project (Select and the Projext -> Delete item). Add them again via PROJECT -> Add Item... . Add WOLFSRC\OBJ\SIGNON.OBJ and WOLFSRC\OBJ\GAMEPAL.OBJ

Try to compile again via (Compile -> Build All)
IT WORKED ! But will it run ?

Getting the assets
Download the shareware version or even better: Purchase as full version on Wolfenstein 3D.
    cd ~/system/c
    curl -O http://fabiensanglard.net/Compile_Like_Its_1992/tools/1wolf14.zip
    unzip 1wolf14.zip
Go back to DosBox and install the game to C:\WOLF3D.

  C:\> c:
  C:\> cd \
  C:\> cd 1wolf14
  C:\1WOLF14> install

After installation of the game, copy the .EXE we just compiled to the game folder,

    C:\> c:
    C:\> cd wolf3d
    C:\WOLF3D> copy WOLF3D.EXE WOLF3D.OLD
    C:\WOLF3D> copy ..\WOLFSRC\WOLF.EXE .

Running the game
Try to run it:

    C:\> cd wolf3d
    C:\WOLF3D> copy WOLF3D.EXE WOLF3D.OLD
    C:\WOLF3D> copy ../WOLRSRC/OBJ/WOLF3D.EXE .
    C:\WOLF3D> WOLF3D.EXE

解决显示错误问题:
  C:\> copy C:\vgafiles\VGADICT.WL6 C:\WOLF3D\VGADICT.WL1
  C:\> copy C:\vgafiles\VGAGRAPH.WL6 C:\WOLF3D\VGAGRAPH.WL1
  C:\> copy C:\vgafiles\VGAHEAD.WL6 C:\WOLF3D\VGAHEAD.WL1
not work

vi ~/Library/Preferences/DOSBox\ 0.74\ Preferences
(Linux) ~/.dosbox/dosbox-0.74.conf
(MAC OS X) ~/Library/Preferences/"DOSBox 0.74 Preferences"

vi ~/.dosbox/dosbox-0.74.conf
[render]
    # frameskip: How many frames DOSBox skips before drawing one.
    # aspect: Do aspect correction, if your output method doesn't support scaling this can slow things down!.
    # scaler: Scaler used to enlarge/enhance low resolution modes.
      # If 'forced' is appended, then the scaler will be used even if the result might not be desired.
      # Possible values: none, normal2x, normal3x, advmame2x, advmame3x, advinterp2x, advinterp3x, ...

    frameskip=0
    aspect=false
    scaler=normal2x
Change that aspect to true:
Try again :

  C:\WOLF3D> WOLF3D.EXE
Finally, IT WORKS !

安装好环境,可以继续学习黑皮书

GitHub - jagregory/abrash-black-book: Markdown source for Michael Abrash's Graphics Programming Black Book

Game Engine Black Book

你可能感兴趣的:(DOS,game,汇编,ubuntu,java,servlet)