_____ _ ____ ___ _____ | _ | | | | | \/ |/ ___| | | | |_ __ ___ _ __ | | | | . . |\ `--. | | | | '_ \ / _ \ '_ \| | | | |\/| | `--. \ \ \_/ / |_) | __/ | | \ \_/ / | | |/\__/ / \___/| .__/ \___|_| |_|\___/\_| |_/\____/ | | |_| _________ . . (.. \_ , |\ /| \ 0 \ /| \ \/ / \______ \/ | \ / vvvv\ \ | / | \^^^^ == \_/ | `\_ === \. | / /\_ \ / | |/ \_ \| / \________/ - tested on OpenVMS 8.4 Alpha 1) PREPARATION --------------- ### We need a compiler first for AXP OpenVMS ### We will be using a secondary slave IDE disk DQB1 in our example ### so adjust accordingly $ set def DQB1:[000000] $ create/directory [.DATA] $ create/directory [.DATA.COMPILER] $ set def DQB1:[000000.DATA] ### Upload CURL.EXE, MMK.EXE and UNZIP.EXE via SFTP or FTP to your OpenVMS system https://astr0baby.online/AXP/OpenVMS/TOOLS/curl.exe https://astr0baby.online/AXP/OpenVMS/TOOLS/unzip.exe https://astr0baby.online/AXP/OpenVMS/TOOLS/mmk.exe ### Place it in DQB1:[000000.DATA] $ curl :== $DQB1:[000000.DATA]curl.exe $ unzip :== $DQB1:[000000.DATA]unzip.exe $ mmk :== $DQB1:[000000.DATA]mmk.exe 2) COMPILERS ------------- ### Download the Compiler ZIPs to your VMS system $ set def DQB1:[000000.DATA.COMPILER] $ curl http://astr0baby.online/AXP/OpenVMS/TOOLS/C_Compiler_73.zip -o C_Compiler_73.zip $ curl http://astr0baby.online/AXP/OpenVMS/TOOLS/CXX_Compiler_73.zip -o CXX_Compiler_73.zip $ unzip CXX_Compiler_73.zip $ unzip C_Compiler_73.zip $ @sys$update:vmsinstal cc073 DQB1:[000000.DATA.COMPILER] options N $ @sys$update:vmsinstal cxx073 DQB1:[000000.DATA.COMPILER] options N ### delete the extracted archives $ del *.a;1 $ del *.b;1 $ del *.txt;1 ### Register the C and CXX licenses ### Hint :) use the pakgen dude $ @SYS$UPDATE:VMSLICENSE 3) BUILDING SDL ---------------- ### Create WORKING SOURCE directory on your OpenVMS $ set def DQB1:[000000] $ create/directory [.GAMES] $ create/directory [.GAMES.SRC] $ set def DQB1:[000000.GAMES.SRC] $ curl http://astr0baby.online/AXP/OpenVMS/SRC/sdl.zip -o sdl.zip $ curl http://astr0baby.online/AXP/OpenVMS/SRC/sdl_net.zip -o sdl_net.zip $ curl http://astr0baby.online/AXP/OpenVMS/SRC/sdl_mixer.zip -o sdl_mixer.zip $ unzip sdl.zip $ unzip sdl_mixer.zip $ unzip sdl_net.zip $ set def dqb1:[000000.GAMES.SRC.SDL] $ @configure.com $ @build.com $ DEFINE LIBSDL DQB1:[000000.GAMES.SRC.SDL.SRC] $ DEFINE SDL DQB1:[000000.GAMES.SRC.SDL.INCLUDE] $ set def dqb1:[000000.GAMES.SRC.SDL_MIXER] $ @configure.com $ @build.com $ DEFINE LIBSDL_MIXER DQB1:[000000.GAMES.SRC.SDL_MIXER] $ set def dqb1:[000000.GAMES.SRC.SDL_NET] $ @configure.com $ @build.com $ DEFINE LIBSDL_NET DQB1:[000000.GAMES.SRC.SDL_NET] ### Please note that for any future builds using SDL includes and libs make sure ### to set the environment variables DEFINE LIBSDL DQB1:[000000.GAMES.SRC.SDL.SRC] DEFINE SDL DQB1:[000000.GAMES.SRC.SDL.INCLUDE] DEFINE LIBSDL_MIXER DQB1:[000000.GAMES.SRC.SDL_MIXER] DEFINE LIBSDL_NET DQB1:[000000.GAMES.SRC.SDL_NET] 4) BUILD DOOM/HEXEN $ set def DQB1:[000000.GAMES.SRC] $ curl http://astr0baby.online/AXP/OpenVMS/SRC/prboom.zip -o prboom.zip $ curl http://astr0baby.online/AXP/OpenVMS/SRC/hexen.zip -o hexen.zip $ unzip prboom.zip $ del prboom.zip;* $ unzip hexen.zip $ del hexen.zip;* $ set def DQB1:[000000.GAMES.SRC.PRBOOM] $ @configure.com $ @build.com $ create/directory DQB1:[000000.GAMES.DOOM] $ copy DQB1:[000000.GAMES.SRC.PRBOOM.SRC]DOOM.EXE DQB1:[000000.GAMES.DOOM] $ set def DQB1:[000000.GAMES.DOOM] $ curl http://astr0baby.online/AXP/OpenVMS/Doom/doom/prboom.wad -o prboom.wad $ curl http://astr0baby.online/AXP/OpenVMS/Doom/doom/DOOM.WAD -o doom.wad $ doom :== $DQB1:[000000.GAMES.DOOM]doom.exe $ doom -iwad doom.wad -width 640 -height 480 -window -nomouse $ set def DQB1:[000000.GAMES.SRC.HEXEN] $ @configure $ @build $ create/directory DQB1:[000000.GAMES.HEXEN] $ copy sdl_hexen.exe DQB1:[000000.GAMES.HEXEN] $ set def DQB1:[000000.GAMES.HEXEN] $ curl http://astr0baby.online/AXP/OpenVMS/Hexen/hexen.wad -o hexen.wad $ hexen :== $DQB1:[000000.GAMES.HEXEN]sdl_hexen.exe $ hexen