PRINT
PRINT "SNDPATCH for Duke Nukem 3D Atomic v1.5 by Kenneth Silverman (04/18/2000)"
PRINT
PRINT "This program fixes a sound crashing bug in DUKE3D.EXE that occurs on newer"
PRINT " (PCI?) sound cards. If the game crashes immediately upon entering"
PRINT " Volume 1, Level 4 (as well as many other places), then you've found the"
PRINT " right program!"
PRINT
PRINT "Please note: This is made for Duke Nukem 3D Atomic v1.5 ONLY. Also, as a"
PRINT " side effect, reverberation will be disabled."
PRINT
PRINT "Do you want to continue with patching DUKE3D.EXE? (Y/N) ";
DO
z$ = UCASE$(INPUT$(1))
LOOP WHILE z$ <> "N" AND z$ <> "Y" AND z$ <> CHR$(27)
IF z$ = "N" OR z$ = CHR$(27) THEN PRINT "N": END
PRINT "Y"
ON ERROR GOTO loaderror
OPEN "DUKE3D.EXE" FOR INPUT ACCESS READ AS #1: CLOSE #1 'Test if file exists
ON ERROR GOTO 0
OPEN "DUKE3D.EXE" FOR BINARY AS #1
z$ = " ": GET #1, &H8FE52, z$
IF z$ = CHR$(&H2D) + CHR$(&HE8) + CHR$(3) + CHR$(0) + CHR$(0) THEN
z$ = CHR$(&HB8) + CHR$(0) + CHR$(0) + CHR$(0) + CHR$(0)
PUT #1, &H8FE52, z$
PRINT "DUKE3D.EXE has been patched to prevent the sound crashing bug."
ELSEIF z$ = CHR$(&HB8) + CHR$(&H0) + CHR$(0) + CHR$(0) + CHR$(0) THEN
PRINT "DUKE3D.EXE has already been patched for the sound crash bug."
ELSE
PRINT "DUKE3D.EXE in this directory is the wrong version: NOT modifying file."
END IF
CLOSE #1
END
loaderror:
PRINT "Please run this in a DOS SHELL with DUKE3D.EXE in the current directory"
END