XGRUUNIX%DDATHD21.BITNET@CUNYVM.CUNY.EDU (unix-src account) (04/25/88)
Has anybody tried to port NETHACK to VAX/VMS ? Thanks for answering. Christian Mahr Institut fuer Netzwerk und Signaltheorie TH Darmstadt
jnh@ece-csc.UUCP (Joseph Nathan Hall) (04/25/88)
In article <13097@brl-adm.ARPA> XGRUUNIX%DDATHD21.BITNET@CUNYVM.CUNY.EDU (unix-src account) writes: >Has anybody tried to port NETHACK to VAX/VMS ? > It's not too difficult. Basically you need to do a couple of things: (well, maybe more than a couple) 1) (the hardest) Get an interactive keystroke routine working. This involves, basically, one call to sys$assign to create an i/o channel for subsequent calls to sys$qiow ... afterward you call a routine that calls sys$qiow with the proper switches set; this returns your character. This is all because your basic single-character i/o doesn't work interactively with VMS ... 2) (annoying but not too hard) You need to deal with some of the UNIX system calls that aren't supported under VMS. The termcap stuff is easy enough to bypass if the idea of supporting only VT100 etc is ok with you; in that case use the MS-DOS ANSI-type sequences that are basically the same. You can get fancy and modify things to use the VT100 graphics characters, but this is a lot of trouble to do correctly. 3) (niggling) The VMS linker is *not* case-specific between modules and there are about a half-dozen identifiers that you have to #define as something different to keep the linker from choking on them. 4) (more niggling) You need to find the correct set of #defines for VMS in config.h. If I remember, it's pretty close to the BSD set but you have to clean some things up. 5) (still more niggling) skip the file creation date call in main.c There's probably a little more but nothing's too bad IF you're familiar with VAX C, VMS, and UNIX. I got NetHack running on a VMS system a little while back, but I converted to Moria (:-)) and I haven't tinkered with the source in a while ... I can't give you much more help than the hints above. I remember it took me about 8 hours to get everything going, and I wasn't working too hard at it. Please don't bombard me with questions. I don't even have access to my VMS-Hack source right now. The notes above should be enough to get you off to a good start, anyway ... :-) Good luck!!! -- v v sssss|| joseph hall || 201-1D Hampton Lee Court v v s s || jnh@ece-csc.ncsu.edu (Internet) || Cary, NC 27511 v sss || the opinions expressed herein are not necessarily those of my -----------|| employer, north carolina state university . . . . . . . . . . .
jnh@ece-csc.UUCP (Joseph Nathan Hall) (04/26/88)
In article <13097@brl-adm.ARPA> XGRUUNIX%DDATHD21.BITNET@CUNYVM.CUNY.EDU (unix-src account) writes: >Has anybody tried to port NETHACK to VAX/VMS ? > ... Oh, almost forgot. You'll also need a decent MAKE utility. I'm currently using a public-domain VMS make clone that someone here pulled off the net in Harvard. But there are others. VAX MMS will work, too. You have to maintain your own list of dependencies, as, obviously, the shell script for "make depend" included in the makefile won't work under VMS. With a moderate amount of effort you could write a C program that would create a dependencies list from your C sources, which would be a good long- term approach ... -- v v sssss|| joseph hall || 201-1D Hampton Lee Court v v s s || jnh@ece-csc.ncsu.edu (Internet) || Cary, NC 27511 v sss || the opinions expressed herein are not necessarily those of my -----------|| employer, north carolina state university . . . . . . . . . . .
rd0n+@andrew.cmu.edu (Randall Wilson Dean) (04/27/88)
I have a VMS version of Nethack 2.2. I am willing to post a version, but not until 2.3 stabalizes (and I get the source). -rwd
allbery@ncoast.UUCP (Brandon Allbery) (05/05/88)
As quoted from <3531@ece-csc.UUCP> by jnh@ece-csc.UUCP (Joseph Nathan Hall): +--------------- | In article <13097@brl-adm.ARPA> XGRUUNIX%DDATHD21.BITNET@CUNYVM.CUNY.EDU (unix-src account) writes: | >Has anybody tried to port NETHACK to VAX/VMS ? | | It's not too difficult. Basically you need to do a couple of things: | > (deleted) | | 2) (annoying but not too hard) You need to deal with some of the | UNIX system calls that aren't supported under VMS. The termcap | stuff is easy enough to bypass if the idea of supporting only | VT100 etc is ok with you; in that case use the MS-DOS ANSI-type | sequences that are basically the same. You can get fancy and | modify things to use the VT100 graphics characters, but this is | a lot of trouble to do correctly. +--------------- Bullpuckey. The support's already there: DEC Rainbow graphics are virtually identical to VT100 graphics. I modified this under Unix in 1/2 hour; most of which time was in modifying the HACKOPTIONS processing to have an eighth- bit quoting technique. (I used ? as the quote character; ?? is a single ?, and ??? is an eighth-bit ?.) BTW, guys, when did the patches go out, and in which newsgroup? I haven't seen them here on ncoast yet. Can someone please mail them to me? Thanks in advance. -- Brandon S. Allbery, moderator of comp.sources.misc {well!hoptoad,uunet!marque,cbosgd,sun!mandrill}!ncoast!allbery Delphi: ALLBERY MCI Mail: BALLBERY