trunk/src/emu/machine/stvcd.c
| r21148 | r21149 | |
| 1015 | 1015 | if (partitions[bufnum].numblks < sectnum) |
| 1016 | 1016 | { |
| 1017 | 1017 | printf("CD: buffer is not full %08x %08x\n",partitions[bufnum].numblks,sectnum); |
| 1018 | | /* TODO: why this is happening? */ |
| 1019 | 1018 | cr_standard_return(CD_STAT_REJECT); |
| 1020 | 1019 | hirqreg |= (CMOK|EHST); |
| 1021 | 1020 | return; |
| r21148 | r21149 | |
| 1063 | 1062 | for (int i = xfersectpos; i < xfersectpos+xfersectnum; i++) |
| 1064 | 1063 | { |
| 1065 | 1064 | transpart->blocks[i] = cd_alloc_block(&transpart->bnum[i]); |
| 1065 | if(transpart->size == -1) |
| 1066 | transpart->size = 0; |
| 1066 | 1067 | transpart->size += transpart->blocks[i]->size; |
| 1067 | 1068 | transpart->numblks++; |
| 1068 | 1069 | } |
| r21148 | r21149 | |
| 1091 | 1092 | { |
| 1092 | 1093 | // allocate the dst blocks |
| 1093 | 1094 | partitions[dst_filter].blocks[i] = cd_alloc_block(&partitions[dst_filter].bnum[i]); |
| 1095 | if(partitions[dst_filter].size == -1) |
| 1096 | partitions[dst_filter].size = 0; |
| 1094 | 1097 | partitions[dst_filter].size += partitions[dst_filter].blocks[i]->size; |
| 1095 | 1098 | partitions[dst_filter].numblks++; |
| 1096 | 1099 | |
| r21148 | r21149 | |
| 2360 | 2363 | |
| 2361 | 2364 | // update the status of the partition |
| 2362 | 2365 | if (filterprt->size == -1) |
| 2363 | | { |
| 2364 | 2366 | filterprt->size = 0; |
| 2365 | | } |
| 2367 | |
| 2366 | 2368 | filterprt->size += filterprt->blocks[filterprt->numblks]->size; |
| 2367 | 2369 | filterprt->numblks++; |
| 2368 | 2370 | |