10 REM > NameList
   20 REM Get names from Name module
   30 :
   40 file$="Modules100\Name."
   50 base%=&016D
   60 :
   70 DIM mem% &A00:base%=mem%+base%
   80 OSCLI "LOAD "+file$+" "+STR$~mem%
   90 FOR letter%=ASC"A" TO ASC"Z"
  100   ptr%=base%!((letter%-ASC"A")*2) AND &FFFF
  110   IF ptr%:ptr%=base%+ptr%:PROCfollow
  120 NEXT letter%
  130 END
  140 :
  150 DEFPROCfollow
  160 REPEAT
  170   id%=ptr%
  180   byte%=?id%:len%=byte% AND 15:size%=byte% DIV 16
  190   A$=CHR$letter%
  200   REPEAT:id%=id%+1:A$=A$+CHR$(?id% AND 127):UNTIL ?id%>127 OR ?id%<ASC"0"
  210   IF size%>3:value%=size%-4:size%=0 ELSE value%=0:FOR A%=0 TO size%:value%=value%*256+id%?(A%+1):NEXT A%
  220   :
  230   REM List by value
  240   PRINT SPC(6-size%*2);FNh0(value%,size%*2+2);" ";A$
  250   :
  260   REM List by identifier
  270   REM PRINT A$;SPC(8-POS);
  280   REM IF size%>3:PRINT "  short: &";~value% ELSE PRINT ;size%+1;" bytes: &";FNh0(value%,size%*2+2)
  290   :
  300   ptr%=ptr%+len%
  310 UNTIL ?ptr%=0
  320 ENDPROC
  330 :
  340 DEFFNc(A%):A%=A%AND127:IFA%<32ORA%=127:="."ELSE=CHR$A%
  350 DEFFNh0(A%,N%)=RIGHT$("0000000"+STR$~A%,N%)