8 unsigned long int money = 0;
9 unsigned long int num_items = 0;
10 BYTE num_credit_items = 0;
11 unsigned long int items_sold = 0;
12 BYTE printer_port = 4;
13 struct status_t status[MAX_ITEMS+1];
14 struct credits_t credits[MAX_CREDIT_ITEMS+1];
25 rc=cbm_open(lfn, (BYTE)8, (BYTE)0, "items,r");
28 cprintf("cannot open items\r\n");
31 for (num_items=0; num_items < MAX_ITEMS && count>0; num_items++) {
32 count=cbm_read(lfn, line, 79);
34 sep = strchr(line, '=');
35 strncpy(status[num_items].item_name, line, sep-line);
36 status[num_items].price = atoi(sep+1);
37 status[num_items].times_sold = 0;
43 * must be called after load_items()
53 rc=cbm_open(lfn, (BYTE)8, (BYTE)0, "state,r");
55 cprintf("cannot open state\r\n");
59 count=cbm_read(lfn,line,79);
61 sep = strchr(line, '=');
64 *(line + (sep-line)) = 0;
65 for (i=0; i< MAX_ITEMS; i++) {
66 if (strcmp(line, status[i].item_name)==0) {
67 status[i].times_sold = atoi(sep+1);
83 rc=cbm_open(lfn, (BYTE)8, (BYTE)0, "state,w");
85 c128_perror(23, "cannot open state file");
88 for (i=0;i<num_items;i++)
91 size=sprintf(line, "%s=%d\n", status[i].item_name, status[i].times_sold);
92 cbm_write(lfn, line, size);
93 //fprintf(f, "%s=%d\n",status[i].item_name, status[i].times_sold);
103 f = fopen("state", "r");
104 len = fread(buf, 1, 128, f);
105 cprintf("read %d bytes from state\n", len);
108 printf("%x ", buf[i]);