   DIM HexChC$

   DIM iG
   DIM AddrStrG$

   DIM jG
   DIM CodeG

   HexChC$ = "0123456789ABCDEF"

   PRINT "          0 1 2 3 4 5 6 7 8 9 A B C D E F"
   PRINT "          -------------------------------"

   '----- LOOP 1
   FOR iG = 0 TO 15
      '----- Line address (in decimal) and in hexa
      AddrStrG$ = MID$(STR$(iG * 16), 2)
      WHILE LEN(AddrStrG$) < 3:  AddrStrG$ = " " + AddrStrG$:  WEND
      PRINT "("; AddrStrG$; ") ";

      PRINT MID$(HexChC$, iG + 1, 1); "0>";

      '----- LOOP 2
      FOR jG = 0 TO 15
         CodeG = iG * 16 + jG

         PRINT " ";

         '----- Print char  ( Ignoring problem chars )
         SELECT CASE CodeG
            CASE 0:  PRINT "-";       '--- EOF   End Of File
            CASE 7:  PRINT "-";       '--- BEL   Bell
            CASE 9:  PRINT "-";       '--- HT    Tabulation
            CASE 10:  PRINT "-";      '--- LF    Line Feed
            CASE 11:  PRINT "-";      '--- VT    Vertical Tab
            CASE 12:  PRINT "-";      '--- FF    Form Feed
            CASE 13:  PRINT "-";      '--- CR    Carriage Return
            CASE 29 TO 31:  PRINT "-";
            CASE ELSE
               PRINT CHR$(CodeG);
         END SELECT
      NEXT

      PRINT
   NEXT
