9 #define x2(x) (buffer[x] < 10 ? "0" : ""), buffer[x]
12 char *filename = NULL;
18 struct cbm_dirent *dirent;
20 memset(readable, '\0', 9);
24 while (filename == NULL || *filename == '\0') {
25 printf("Please enter filename (q to exit, d for dirlist):\r\n");
26 filename = get_input();
30 else if (*filename == 'd') {
32 if (cbm_opendir((BYTE)8, (BYTE)8) != 0) {
33 cprintf("could not open directory\r\n");
36 while (cbm_readdir((BYTE)8, dirent) == 0) {
37 printf("file %d: %s\n", c, dirent->name);
40 cbm_closedir((BYTE)8);
42 printf("Finished listing directory, press RETURN...\n");
49 if ((file = fopen(filename, "r")) == NULL) {
50 printf("Could not open file\r\n");
55 if (fgets(buffer, 8, file) != buffer) {
56 printf("Could not read from file, bailing out\r\n");
59 for (i = 0; i < 8; i++)
60 if ( (buffer[i] >= 0x41 && buffer[i] <= 0x5A) ||
61 (buffer[i] >= 0xC1 && buffer[i] <= 0xDA) ||
62 (buffer[i] >= 0x30 && buffer[i] <= 0x39))
63 readable[i] = buffer[i];
64 else readable[i] = 0x2E;
65 printf("%s%x |%s%x %s%x %s%x %s%x %s%x %s%x %s%x %s%x| %s \n",
66 (c <= 0xF ? "0" : ""), c,
67 x2(0), x2(1), x2(2), x2(3),
68 x2(4), x2(5), x2(6), x2(7),
78 printf("File finished, press RETURN...\n");