home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ob140os2.zip / DUMP.B < prev    next >
Text File  |  1997-08-11  |  1KB  |  72 lines

  1. * FDUMP File Dump Program 
  2.  
  3.  DIM Character:BYTE
  4.  DIM FileNum:BYTE
  5.  DIM FileName:STRING[32]
  6.  DIM ByteCtr:LONG
  7.  DIM AddrCtr:LONG
  8.  DIM ASCII:STRING[16]
  9.  DIM Hex:STRING[60]
  10.  DIM LineCtr:LONG
  11.  DIM HitEnter:STRING[1]
  12.  
  13.  AddrCtr=0
  14.  LineCtr=0
  15.  ON ERROR GOTO BadFile
  16.  FileName=NextArg
  17.  IF len(FileName)=0 THEN Help
  18.  IF FileName="-?" OR FileName="--help" THEN Help
  19.  OPEN #FileNum,FileName:READ+BINARY
  20. Lp1
  21.  ByteCtr=0
  22.  ASCII="                "
  23.  Hex=ZHEX$(AddrCtr)+" "
  24.  AddrCtr=AddrCtr+16
  25. Lp2
  26.  GOSUB GetByte
  27.  IF STATUS<1 THEN
  28.      IF ByteCtr>0 THEN
  29.          GOSUB Display
  30.      ENDIF
  31.      CLOSE #FileNum
  32.      END
  33.  ENDIF
  34.  INC ByteCtr
  35.  IF Character>$1f AND Character<$7f THEN
  36.      MID$(ASCII,ByteCtr,1)=CHR$(Character)
  37.  ELSE
  38.      MID$(ASCII,ByteCtr,1)="."
  39.  ENDIF
  40.  Hex=Hex+RIGHT$(ZHEX$(Character),2)+" "
  41.  IF ByteCtr=16 THEN
  42.      GOSUB Display
  43.      GOTO Lp1
  44.  ENDIF
  45.  GOTO Lp2
  46.  
  47. Display
  48.  PRINT Hex;TAB(60);ASCII
  49.  INC LineCtr
  50.  IF LineCtr=16 THEN
  51.      LineCtr=0
  52.      INPUT "Hit ENTER to continue>",HitEnter
  53.  ENDIF
  54.  RETURN
  55.  
  56. GetByte
  57.  GET #FileNum,Character
  58.  RETURN
  59.  
  60. BadFile
  61.  PRINT "Cannot open ";FileName
  62.  END
  63.  
  64. Help
  65.  PRINT
  66.  PRINT "fdump FileName"
  67.  PRINT
  68.  PRINT "Performs hexadecimal and ASCII dump of file specified"
  69.  PRINT
  70.  END
  71.  
  72.