#include <stdio.h>
#include <ctype.h>

#define TOC_OFFSET 0x0FD0
/*30W: 0x0FD0 */
/*30H: 0x0F60 */
/*20H: 0x25E0 */
/*20W: 0x2640 */ 
/*20W: 0x0D680*/
/*20W: 0x0D700*/ 
/*20W: 0x0D7CA*/
/*20W: 0x3a444*/
#define TOC_FILE "HOTDOG30W.DAT" 
/*"HOTDOG30H.DAT"*/
/*"HOTDOG20H.DAT"*/
/*"HOTDOG20W.DAT"*/
#define NO_SONGS 7947 
/*30W: 7947 */
/*30H: 7498 */
/*20W: 30926 */
/*20H: 30534 */

int main(void)
{
  int i,j, k;
  int tmp, tmp2;
  FILE *f;
  
  f = fopen(TOC_FILE, "rb");
  fseek( f, TOC_OFFSET , SEEK_SET);
  k = TOC_OFFSET;
  for (i=0; i<NO_SONGS; i++ ) 
  {
    tmp = getc( f ); 
    printf("%6X: %2X ; ", k, tmp);
    k++;

    tmp2 = getc( f ); k++;
    printf("%2X ", tmp2);

    tmp2 = getc( f ); k++;
    printf("%2X ", tmp2);

    tmp2 = getc( f ); k++;
    printf("%2X :  ", tmp2);

    for (j=0; j<tmp-4; j++)
    {
      tmp2 = getc( f ); k++;
      if (isprint(tmp2))
      {
        printf("%c", tmp2);
      }
      else
      {
        printf("#");
      }
    }
    printf("\n");
  }

  fclose( f );
  
  return 0;
}
