Information about PC Underground Dear PC User Thank you for purchasing PC UNDERGROUND. We hope you enjoy experimenting with all the programs we've included on the CD-ROM. We're sure you'll learn quite a bit about 'underground' programming! The PC UNDERGROUND CD-ROM In addition to the demo programs in the DEMOS directory, you will also find some demos in the BONUS directory. The programs are meant to be a stimulus for you and give a small overview of the multifold possibilities of sound and graphics programming. All of the graphics programming examples require a 100% compatible VGA card. The sound programming examples run either on a TRULY 100% compatible SoundBlaster card or on a Gravis Ultrasound card. To use all the programs and source texts, first copy them to a directory on your hard drive, then use the MS-DOS Attrib command to clear the Read-Only file attribute. e.g.,: Attrib -r *.* Files And Directories On The Companion CD-ROM The directories included on the companion CD-ROM are in the file called CD_DIR.TXT. Directory Contents ABACUS Contains Abacus catalog in PDF format (CATALOG.PDF) BONUS Contains cool examples of programming techniques DEMOS More great examples of what you can do DOOM Directory contains sub-directories which pertain to programming the Doom material DOOM\EXE_DATA Executable of the programming examples for the Doom material. DOOM\SOURCE Source code for programming examples for Doom DOOM\TOOLS Tools to help you create Doom examples GRAPHIC Contains graphic programming examples discussed in the book MAGN Example of programming a magnifying glass on you PC MATH Contains math programming examples discussed in the book. MEMORY Directory contains sub-directories which pertain to programming Memory MEMORY\DMA Programming example for DMA Memory MEMORY\FLAT Programming example for Flat Memory MEMORY\XMS Programming example for XMS Memory NODEBUG Program which shows how to prevent people from using a debugger to 'debug' your programs. NORESET Program example which shows how to disable the [Ctrl] + [C], [Ctrl] + [Break], Etc.. PASSWORD Contains password programming examples discussed in the book. PORTS Contains examples for direct port programming discussed in the book. RAIDER Game example that you can train with the included Trainer. RTCLOCK Programming you Real Time Clock (RTC) SHARE Shareware SOUND Directory contains sub-directories which pertain to programming Sound cards SOUND\GUSMOD Programs relating to the MOD Player for Gravis Ultra Sound cards SOUND\SBMOD Programs related to the MOD Player for Sound Blaster cards SOUND\SFXPRO 'C' source for the new XM sound format player SOUND\VOC Programs related to the VOC player for Sound Blaster cards. SPEAKER Programs related to porgramming your PC Speaker. TRAINER Source code for a trainer for the included RAIDER game. We have also added a Windows program called ACROREAD.EXE. Run this program and it will install Adobe's Acrobat Reader program. You will then be able to see all the files in the ABACUS directory with the .PDF file extensions. Installing Acrobat Reader Follow these steps to install Acrobat Reader 2.0 on your hard drive (Installation requires approximately 2 Meg of free hard drive space). Insert the CD-ROM in your drive and load Windows. From the Windows Program Manager, choose Run from the File menu. Next, type the following: [drive]:\acroread.exe and press Then simply follow the instructions and prompts which appear on your screen. Double click the Acrobat Reader icon to load it. After the Acrobat Reader is loaded, go to File/Open... and select MAIN.PDF to view/read the book. Thanks again from the Abacus Editorial and Technical Staffs A Note About Shareware, Freeware and Public Domain Software The shareware concept allows small software companies and program authors to introduce the application programs they have developed to a wider audience. The programs can be freely distributed and tested for a specific time period before you have to register them. Registration involves paying registration fees, which make you a licensed user of the program. Check the documentation or the program itself for the amount of registration fee and the address where you send the registration form. After registration you will frequently get the current full version of the program without restrictions and shareware notes as well as the option of purchasing upgraded versions later for a reduced price. As a rule, larger applications include a users manual. Shareware programs usually feature the complete performance range of the full versions. Some programs use special messages to indicate they're shareware versions. The message usually appears immediately after program startup or can be called from the Help menu. Windows 95 is a trademark of Microsoft Corp. You'll find the following files and directories on the companion CD-ROM: Directory of PC UNDERGROUND CD-ROM ABACUS BONUS DEMOS DOOM GRAPHIC MAGN MATH MEMORY NODEBUG NORESET PASSWORD PORTS RAIDER RTCLOCK SHARE SOUND SPEAKER TRAINER CD_DIR TXT 17,921 BOOKFILE PDF 5,171,489 MAIN PDF 205,964 README TXT 23,118 Directory of \ABACUS CATALOG PDF 5,562,353 Directory of \BONUS AARDVARK CDREAM2 DELUSION DOOMSDAY DOWHACK ELEMENTS FACTS ILLUSION INCONEXI LOOM MARS MINUS40 RED STARDREA TWOREAL WARGASM Directory of \BONUS\AARDVARK AARDVARK NFO 4,876 DENTROCF EXE 55,820 FILE_ID DIZ 192 NFO EXE 4,754 Directory of \BONUS\CDREAM2 CD2 EXE 3,154,579 Directory of \BONUS\DELUSION DELUSINF EXE 1,880 DELUSION EXE 1,877,273 DESC SDI 24 RAVEN COM 10,495 Directory of \BONUS\DOOMSDAY CONTACT ME 802 THISFILE NFO 1,349 VA EXE 86,088 VA NFO 7,946 Directory of \BONUS\DOWHACK DESC SDI 34 DO EXE 158,786 DO TXT 148 REN93 NFO 3,495 Directory of \BONUS\ELEMENTS ELEMENTS COM 1,423,107 FILE_ID DIZ 628 XGY_SITE APP 4,796 Directory of \BONUS\FACTS BY 138,913 DESC SDI 30 FACTNOTE EXE 53,980 FACTS EXE 8,951 LIFE 1,056,628 OF 254,621 WITAN 691,836 Directory of \BONUS\ILLUSION FILE_ID DIZ 446 ILLUSION 001 31,711 ILLUSION 002 362,431 ILLUSION CFG 9 ILLUSION DOC 5,425 ILLUSION EXE 9,487 Directory of \BONUS\INCONEXI BLASTER COM 772 FILE_ID DIZ 308 INCONEXI 001 10,778 INCONEXI 002 28,049 INCONEXI 003 42,380 INCONEXI 004 17,542 INCONEXI 005 63,234 INCONEXI 006 105,978 INCONEXI 007 1,685 INCONEXI 008 133,904 INCONEXI 009 15,983 INCONEXI 010 27,657 INCONEXI 011 15,729 INCONEXI 012 11,104 INCONEXI 013 21,511 INCONEXI 014 135,056 INCONEXI 015 7,393 INCONEXI CFG 9 INCONEXI EXE 2,240 INCONEXI NFO 6,741 Directory of \BONUS\LOOM LOOMTRO EXE 200,200 Directory of \BONUS\MARS MARS EXE 5,649 MARS TXT 557 Directory of \BONUS\MINUS40 DESC SDI 27 MINUS40 EXE 527,860 Directory of \BONUS\RED FILE_ID DIZ 455 RAZOR NFO 12,381 RED EXE 192,081 Directory of \BONUS\STARDREA CONTACT ME 802 FILE_ID DIZ 363 INTRO EXE 58,400 INTRO NFO 7,709 THISFILE NFO 1,349 Directory of \BONUS\TWOREAL DESC SDI 37 FCINFO10 TXT 48,462 README 1ST 4,222 REALITY FC 992,188 SECOND EXE 1,451,093 Directory of \BONUS\WARGASM WARGASM 000 1,529 WARGASM 001 12,564 WARGASM 002 27,853 WARGASM 003 47,437 WARGASM 004 23,195 WARGASM 005 51,968 WARGASM 006 64,000 WARGASM 007 64,768 WARGASM 008 49,962 WARGASM 009 66,902 WARGASM 00B 35,416 WARGASM 00C 52,480 WARGASM 00D 29,568 WARGASM 00F 30,720 WARGASM 010 113,140 WARGASM DAT 11 WARGASM EXE 789 WARGASM NFO 863 Directory of \DEMOS PERISCOP UNEATBLE Directory of \DEMOS\PERISCOP INTRO EXE 6,848 INTRO SET 768 INTRO SND 65,993 INTRO1 EXE 42,128 INTRO1 GFX 16,887 INTRO2 EXE 33,536 INTRO2 GFX 11,438 INTRO2 SND 148,917 INTRO3 EXE 14,096 INTRO3 GFX 64,000 INTRO3 PAL 768 INTRO3 SND 87,852 INTRO4 EXE 27,968 INTRO4 GFX 16,384 INTRO4 PAL 768 INTRO4 SND 62,058 INTRO5 EXE 29,904 INTRO6 EXE 8,736 Directory of \DEMOS\UNEATBLE FASTEST EXE 8,152 FILE_ID DIZ 335 TC APP 7,512 TC NFO 10,413 TCDISTS TXT 3,110 UNEATBLE EXE 3,969,599 UNEATBLE NFO 7,121 Directory of \DOOM EXE_DATA SOURCE TOOLS Directory of \DOOM\EXE_DAT DTORUS FCE 6,970 DUNGEON EXE 35,568 DUNGEON FCE 9,988 ETORUS FCE 2,693 FLOOR PAL 768 FLOOR RAW 64,000 GOU_TEX EXE 22,272 HELI FCE 132,454 HELI PAL 768 JFACE FCE 68,818 JFACE PAL 768 MSPHERE FCE 12,488 MSPHERE PAL 768 MSPHERE TEX 4,096 MTORUS FCE 29,054 MTORUS PAL 768 MTORUS TEX 4,096 NDUCK FCE 44,283 NDUCK PAL 768 PCU_FIN EXE 498,783 PCU_FIN XLC 1,086 TEXTURE PAL 768 TEXTURE RAW 64,000 Directory of \DOOM\SOURCE CXYGPOLY ASM 9,382 CXYGPOLY OBJ 4,766 CXYTPOLY ASM 12,454 CXYTPOLY OBJ 6,150 DUNGEON EXE 35,568 DUNGEON PAS 10,121 FIXEDPAS ASM 4,052 FIXEDPAS OBJ 1,422 FIXEDPAS PAH 585 FX_DOOM ASM 3,958 FX_DOOM OBJ 9,772 FX_DOOM PAH 595 GOU_TEX EXE 22,320 GOU_TEX PAS 13,265 SIN TBL 19,933 _FRAME ASM 835 _FRAME OBJ 564 _FRAME PAS 1,047 _FRAME TPU 864 _KEYB PAS 888 _KEYB TPU 464 _MATH ASM 21,175 _MATH OBJ 7,213 _MATH PAS 3,018 _MATH TPU 4,640 _MATRIX PAS 1,587 _MATRIX TPU 9,904 _VGAPAS ASM 3,832 _VGAPAS OBJ 1,489 _VGAPAS PAS 4,248 _VGAPAS TPU 2,976 _VGAXASM INC 2,794 Directory of \DOOM\TOOLS 86618099 NFO 1,849 DOC XLC 1,800 DOOM XLC 297 FILE_ID DIZ 578 RAWC EXE 33,324 TCNFO05 TXT 23,220 XLC EXE 12,348 XLC_202 DOC 12,282 Directory of \GRAPHIC 320800 GIF 146,711 3DASM ASM 16,109 3DASM OBJ 4,582 3D_GLASS EXE 10,880 3D_GLASS PAS 2,502 3D_LIGHT EXE 12,944 3D_LIGHT PAS 2,364 3D_SOLID EXE 10,592 3D_TEXTU EXE 12,880 3D_TEXTU PAS 2,236 3D_WIRE EXE 10,592 3D_WIRE PAS 1,638 640400 GIF 82,193 ABACUS GIF 5,591 BOX GIF 23,255 BRES ASM 3,469 BRES OBJ 962 CHESS GIF 14,201 COLOR ANS 6,095 COPPER ASM 3,688 COPPER EXE 4,880 COPPER OBJ 1,291 COPPER PAS 1,126 CORNER GIF 26,350 DB6 ANS 2,725 DRAW_FON EXE 7,200 DRAW_FON PAS 558 FADE ASM 1,982 FADE OBJ 932 FADE PAS 2,260 FADE TPU 2,528 FADE_IN EXE 6,640 FADE_IN PAS 1,017 FADE_OUT EXE 6,368 FADE_OUT PAS 318 FADE_OVE EXE 7,600 FADE_OVE PAS 1,320 FADE_TO EXE 7,648 FADE_TO PAS 690 FADE_TXT EXE 7,552 FADE_TXT PAS 1,326 FLAMES EXE 5,664 FLAMES PAS 4,335 FLOW EXE 6,704 FLOW PAS 761 FONT PAS 4,876 FONT TPU 3,920 GIF ASM 12,670 GIF OBJ 3,548 GIF PAS 1,757 GIF TPU 3,536 GRABBER EXE 6,944 GRABBER PAS 10,771 HARD0 PCX 7,605 HARD1 PCX 24,045 LAMP GIF 26,717 LANDSC3 GIF 67,552 LINEFCT EXE 3,824 LINEFCT PAS 1,939 LOGO GIF 26,109 LOGOR GIF 31,161 MODEXLIB ASM 13,537 MODEXLIB OBJ 3,911 MODEXLIB PAS 3,953 MODEXLIB TPU 4,320 PALROT EXE 6,320 PALROT GIF 8,391 PALROT PAS 767 PFONT4 GIF 5,414 POLY ASM 14,923 POLY OBJ 7,538 ROOT ASM 1,473 ROOT OBJ 629 SCAL_TST EXE 9,984 SCAL_TST PAS 6,125 SCRL_SPT EXE 6,688 SCRL_SPT PAS 2,107 SCROLL4 EXE 6,256 SCROLL4 PAS 1,320 SCROLLT EXE 4,432 SCROLLT PAS 3,009 SCROLLY EXE 10,080 SCROLLY PAS 860 SINTEST EXE 5,984 SINTEST PAS 1,396 SPLIT EXE 6,288 SPLIT PAS 636 SPLIT2 EXE 6,256 SPLIT2 PAS 892 SPRITES GIF 8,360 SPRITES PAS 10,846 SPRITES TPU 4,016 SPRT_TST EXE 8,464 SPRT_TST PAS 1,841 SQUEEZE EXE 6,592 SQUEEZE GIF 6,816 SQUEEZE PAS 315 STAR EXE 3,616 STAR PAS 1,238 STARX EXE 4,384 STARX PAS 1,633 TEXTS GIF 2,990 TEXTURE GIF 3,770 TEXTURE INC 9,533 TOOLS PAS 1,510 TOOLS TPU 1,872 UPFOLD GIF 9,790 VAR_3D PAS 1,204 VAR_3D TPU 1,296 VFLOG210 GIF 3,870 VOXEL ASM 4,186 VOXEL EXE 6,544 VOXEL OBJ 1,495 VOXEL PAS 975 WALLPAPE GIF 31,241 WALLPAPE PAL 768 WOBBLER ASM 1,841 WOBBLER EXE 8,400 WOBBLER OBJ 837 WOBBLER PAS 851 Directory of \MAGN GIF ASM 12,334 GIF OBJ 3,435 GIF_ASM ASM 12,337 MAGN ASM 5,276 MAGN EXE 8,176 MAGN GIF 44,414 MAGN OBJ 1,671 MAGN PAS 2,160 Directory of \MATH BASARITH EXE 7,104 BASARITH PAS 4,321 ROOT ASM 1,473 ROOT OBJ 620 ROOTTEST EXE 5,952 ROOTTEST PAS 982 Directory of \MEMORY DMA FLAT XMS Directory of \MEMORY\DMA DMA PAS 3,751 DMA TPU 4,208 DMABSP PAS 2,077 Directory of \MEMORY\FLAT DEMORMEM EXE 10,240 DEMORMEM PAS 2,169 EXAMPLE GIF 10,546 GIFUNIT PAS 8,468 GIFUNIT TPU 7,088 RMEM PAS 12,370 RMEM TPU 8,800 RMEMASM ASM 5,133 RMEMASM OBJ 1,340 Directory of \MEMORY\XMS EXAMPLE GIF 10,546 GIFUNIT PAS 8,468 GIFUNIT TPU 7,088 MEMORY PAS 15,679 MEMORY TPU 9,344 MEMTEST EXE 10,944 MEMTEST PAS 2,766 Directory of \NODEBUG DEBUG EXE 4,656 DEBUG PAS 1,080 NODEB ASM 2,506 NODEB OBJ 1,623 NODEBUG EXE 4,656 NODEBUG PAS 1,110 Directory of \NORESET NO_RST ASM 2,933 NO_RST EXE 716 NO_RST MAP 195 NO_RST OBJ 377 Directory of \PASSWORD DESIGN PAS 8,022 DESIGN TPU 10,096 LITTLE EXE 4,272 LITTLE PAS 205 PASSTYP3 DAT 220 PASSWD1 EXE 9,248 PASSWD1 PAS 3,837 PASSWD3 EXE 8,464 PASSWD3 PAS 2,530 PASSWGEN EXE 6,704 PASSWGEN PAS 2,260 PASSWORD DAT 259 PROTECTE ASM 1,624 PROTECTE OBJ 1,217 PWMODUL ASM 3,206 PWMODUL OBJ 1,670 QUERY EXE 9,760 QUERY PAS 2,053 RAIDTRAI ASM 5,830 TD_TEST EXE 5,552 TD_TEST PAS 867 WAIT EXE 4,496 WAIT PAS 851 Directory of \PORTS PAR_TEST EXE 1,872 PAR_TEST PAS 941 PRTSCR ASM 3,371 SERIAL EXE 5,088 SERIAL PAS 4,091 Directory of \RAIDER RAIDER EXE 29,536 RANIMS AMN 64,003 RANIMS PAL 771 RDT BAT 105 RDTRAIN COM 19,120 TITLEPIC AMN 64,003 TITLEPIC PAL 771 TRAINER COM 19,120 Directory of \RTCLOCK RTC EXE 6,064 RTC PAS 5,317 TIMER EXE 5,216 TIMER PAS 2,609 Directory of \SHARE A86 D86 FRACTINT HEXCALIB MORAY PICVIEW POVRAY ST3 UNP VOC386 VPIC Directory of \SHARE\A86 A86V370 ARJ 167,204 Directory of \SHARE\D86 D86V370 ARJ 87,984 Directory of \SHARE\FRACTINT ALTERN MAP 3,393 BLUES MAP 3,369 CELLULAR PAR 4,487 CHROMA MAP 4,221 DEFAULT MAP 2,794 DEMO BAT 607 DEMO KEY 9,520 FIRESTRM MAP 3,372 FRACT001 GIF 12,302 FRACT182 EXE 499,453 FRACTINT CFG 12,975 FRACTINT DOC 536 FRACTINT EXE 999,691 FRACTINT FRM 16,096 FRACTINT IFS 5,794 FRACTINT L 11,162 FRACTINT PAR 18,444 FROTH3 MAP 3,328 FROTH316 MAP 208 FROTH6 MAP 3,328 FROTH616 MAP 208 GAMMA1 MAP 3,350 GAMMA2 MAP 3,136 GLASSES1 MAP 3,328 GLASSES2 MAP 3,328 GOODEGA MAP 3,712 GREEN MAP 3,393 GREY MAP 3,060 GRID MAP 3,330 HEADACHE MAP 3,371 ICONS PAR 12,416 LANDSCAP MAP 2,552 LYAPUNOV MAP 3,328 LYAPUNOV PAR 2,613 NEON MAP 3,357 NEWPARM PAR 4,174 PAINTJET MAP 312 PENROSE L 5,453 PHOENIX PAR 539 ROYAL MAP 3,361 SIMPLGIF EXE 14,054 TILING L 3,589 TOPO MAP 3,411 TPLUS DAT 4,864 VOLCANO MAP 3,365 Directory of \SHARE\HEXCALIB HC EXE 82,750 HCDOC TXT 40,997 HCDOXT TXT 61,652 HCMONO FIL 12 README TXT 333 SAMPLE1 TXT 4,096 Directory of \SHARE\MORAY MORAY13 ZIP 307,988 Directory of \SHARE\PICVIEW PV241 EXE 279,572 Directory of \SHARE\POVRAY POVIBM EXE 461,853 Directory of \SHARE\ST3 SCT3 EXE 304,305 Directory of \SHARE\UNP FILE_ID DIZ 381 UNP DOC 33,613 UNP EXE 19,499 WHATSNEW 320 4,016 WORKSHOP BBS 1,159 Directory of \SHARE\VOC386 GLASS VOC 9,431 HISTORY TXT 6,263 SEKT VOC 9,208 V386 EXE 119,501 VOC386 000 27,030 VOC386 001 55,743 VOC386 002 54,306 VOC386 DOC 27,644 VOC386 INI 5,173 VOC386 TAS 4,603 WAS NUN 1,070 Directory of \SHARE\VPIC VPIC61 EXE 258,301 Directory of \SOUND GUSMOD SBMOD SFXPRO VOC Directory of \SOUND\GUSMOD BUY_IT OBJ 8,247 CALL OBJ 8,239 DESIGN PAS 8,019 DESIGN TPU 10,096 FSEL OBJ 4,183 FSELECT PAS 10,992 FSELECT TPU 18,944 GUSASM ASM 21,250 GUSASM OBJ 6,879 GUS_MOD PAS 43,081 GUS_MOD TPU 41,280 HELPTXT OBJ 8,251 LOADIN OBJ 1,033 PHUN TXT 14,336 TCP EXE 79,216 TCP PAS 12,331 TCPANS OBJ 8,247 WE_ARE OBJ 8,247 WINDHAIR MOD 80,306 Directory of \SOUND\SBMOD DESIGN PAS 8,019 DESIGN TPU 9,904 MOD386 EXE 39,824 MOD386 PAS 20,125 MODMIX ASM 3,085 MODMIX OBJ 1,868 MOD_SB PAS 55,817 MOD_SB TPU 49,664 VARIAB PAS 14,298 VARIAB TPU 8,944 WINDHAIR MOD 80,306 Directory of \SOUND\SFXPRO DOS4GW EXE 265,420 MAKEFILE 806 MAKEFILE LST 41 SCRNIO ASM 331 SFXINFO H 25,495 SFXMAIN H 25,495 SFXPRO EXE 108,573 GUS C 21,637 SFXPRO C 55,973 TIMER C 2,990 Directory of \SOUND\VOC THIRTY VOC 727,189 VOCPLAY TPU 22,032 VOCPLAY PAS 28,792 DESIGN PAS 8,019 DESIGN TPU 10,096 VOCDEMO EXE 18,496 VOCDEMO PAS 3,357 Directory of \SPEAKER PLAY_FRQ ASM 3,487 SEKT VOC 9,208 SPEAKER PAS 3,142 PLAY_FRQ OBJ 1,238 DESIGN PAS 8,019 DESIGN TPU 10,096 THIRTY VOC 727,189 SPEAKER EXE 5,216 Directory of \TRAINER GIF ASM 5,973 GIF OBJ 3,905 GIFASM ASM 1,044 GIFASM OBJ 907 IMAGE OBJ 4,620 LINK BAT 76 MAK BAT 197 MODEXLIB ASM 2,347 MODEXLIB OBJ 1,583 PIC BAT 33 RAIDTRAI ASM 3,153 RAIDTRAI OBJ 456 RESI ASM 523 RESI OBJ 606 TRAINER ASM 5,889 TRAINER GIF 4,535 TRAINER OBJ 1,768