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