Mercurial > libdvdnav.hg
comparison vm.c @ 27:fcfbaf8dbfb4 src
Insert some assert commands to hopefully catch a DVD which will give us information on what to do if these values are != 0.
author | jcdutton |
---|---|
date | Tue, 23 Apr 2002 13:18:31 +0000 |
parents | df024077cbc1 |
children | 8b08ee66cbff |
comparison
equal
deleted
inserted
replaced
26:794d2e16a4d4 | 27:fcfbaf8dbfb4 |
---|---|
261 link_values = play_PGC(vm); | 261 link_values = play_PGC(vm); |
262 link_values = process_command(vm,link_values); | 262 link_values = process_command(vm,link_values); |
263 assert(link_values.command == PlayThis); | 263 assert(link_values.command == PlayThis); |
264 (vm->state).blockN = link_values.data1; | 264 (vm->state).blockN = link_values.data1; |
265 fprintf(stderr, "vm_start: blockN set to 0x%x\n", (vm->state).blockN); | 265 fprintf(stderr, "vm_start: blockN set to 0x%x\n", (vm->state).blockN); |
266 assert( (vm->state).blockN == 0 ); | |
266 | 267 |
267 | 268 |
268 return 0; /* ?? */ | 269 return 0; /* ?? */ |
269 } | 270 } |
270 | 271 |
308 link_values = play_PGC(vm); | 309 link_values = play_PGC(vm); |
309 link_values = process_command(vm, link_values); | 310 link_values = process_command(vm, link_values); |
310 assert(link_values.command == PlayThis); | 311 assert(link_values.command == PlayThis); |
311 (vm->state).blockN = link_values.data1; | 312 (vm->state).blockN = link_values.data1; |
312 fprintf(stderr, "vm_start_title: blockN set to 0x%x\n", (vm->state).blockN); | 313 fprintf(stderr, "vm_start_title: blockN set to 0x%x\n", (vm->state).blockN); |
314 assert( (vm->state).blockN == 0 ); | |
313 | 315 |
314 return 0; /* ?? */ | 316 return 0; /* ?? */ |
315 } | 317 } |
316 | 318 |
317 int vm_jump_prog(vm_t *vm, int pr) { | 319 int vm_jump_prog(vm_t *vm, int pr) { |
323 link_values = play_PG(vm); | 325 link_values = play_PG(vm); |
324 link_values = process_command(vm, link_values); | 326 link_values = process_command(vm, link_values); |
325 assert(link_values.command == PlayThis); | 327 assert(link_values.command == PlayThis); |
326 (vm->state).blockN = link_values.data1; | 328 (vm->state).blockN = link_values.data1; |
327 fprintf(stderr, "vm_jump_prog: blockN set to 0x%x\n", (vm->state).blockN); | 329 fprintf(stderr, "vm_jump_prog: blockN set to 0x%x\n", (vm->state).blockN); |
330 assert( (vm->state).blockN == 0 ); | |
328 | 331 |
329 return 0; /* ?? */ | 332 return 0; /* ?? */ |
330 } | 333 } |
331 | 334 |
332 int vm_eval_cmd(vm_t *vm, vm_cmd_t *cmd) | 335 int vm_eval_cmd(vm_t *vm, vm_cmd_t *cmd) |
336 if(vmEval_CMD(cmd, 1, &(vm->state).registers, &link_values)) { | 339 if(vmEval_CMD(cmd, 1, &(vm->state).registers, &link_values)) { |
337 link_values = process_command(vm, link_values); | 340 link_values = process_command(vm, link_values); |
338 assert(link_values.command == PlayThis); | 341 assert(link_values.command == PlayThis); |
339 (vm->state).blockN = link_values.data1; | 342 (vm->state).blockN = link_values.data1; |
340 fprintf(stderr, "vm_eval_cmd: blockN set to 0x%x\n", (vm->state).blockN); | 343 fprintf(stderr, "vm_eval_cmd: blockN set to 0x%x\n", (vm->state).blockN); |
344 assert( (vm->state).blockN == 0 ); | |
341 return 1; /* Something changed, Jump */ | 345 return 1; /* Something changed, Jump */ |
342 } else { | 346 } else { |
343 return 0; /* It updated some state thats all... */ | 347 return 0; /* It updated some state thats all... */ |
344 } | 348 } |
345 } | 349 } |
350 link_values = play_Cell_post(vm); | 354 link_values = play_Cell_post(vm); |
351 link_values = process_command(vm,link_values); | 355 link_values = process_command(vm,link_values); |
352 assert(link_values.command == PlayThis); | 356 assert(link_values.command == PlayThis); |
353 (vm->state).blockN = link_values.data1; | 357 (vm->state).blockN = link_values.data1; |
354 fprintf(stderr, "vm_get_next_cell: blockN set to 0x%x\n", (vm->state).blockN); | 358 fprintf(stderr, "vm_get_next_cell: blockN set to 0x%x\n", (vm->state).blockN); |
359 assert( (vm->state).blockN == 0 ); | |
355 | 360 |
356 return 0; /* ?? */ | 361 return 0; /* ?? */ |
357 } | 362 } |
358 | 363 |
359 int vm_top_pg(vm_t *vm) | 364 int vm_top_pg(vm_t *vm) |
362 link_values = play_PG(vm); | 367 link_values = play_PG(vm); |
363 link_values = process_command(vm,link_values); | 368 link_values = process_command(vm,link_values); |
364 assert(link_values.command == PlayThis); | 369 assert(link_values.command == PlayThis); |
365 (vm->state).blockN = link_values.data1; | 370 (vm->state).blockN = link_values.data1; |
366 fprintf(stderr, "vm_top_pg: blockN set to 0x%x\n", (vm->state).blockN); | 371 fprintf(stderr, "vm_top_pg: blockN set to 0x%x\n", (vm->state).blockN); |
372 assert( (vm->state).blockN == 0 ); | |
367 | 373 |
368 return 1; /* Jump */ | 374 return 1; /* Jump */ |
369 } | 375 } |
370 | 376 |
371 int vm_go_up(vm_t *vm) | 377 int vm_go_up(vm_t *vm) |
378 link_values = play_PGC(vm); | 384 link_values = play_PGC(vm); |
379 link_values = process_command(vm,link_values); | 385 link_values = process_command(vm,link_values); |
380 assert(link_values.command == PlayThis); | 386 assert(link_values.command == PlayThis); |
381 (vm->state).blockN = link_values.data1; | 387 (vm->state).blockN = link_values.data1; |
382 fprintf(stderr, "vm_go_up: blockN set to 0x%x\n", (vm->state).blockN); | 388 fprintf(stderr, "vm_go_up: blockN set to 0x%x\n", (vm->state).blockN); |
389 assert( (vm->state).blockN == 0 ); | |
383 | 390 |
384 return 1; /* Jump */ | 391 return 1; /* Jump */ |
385 } | 392 } |
386 | 393 |
387 int vm_next_pg(vm_t *vm) | 394 int vm_next_pg(vm_t *vm) |
448 link_values = play_PGC(vm); | 455 link_values = play_PGC(vm); |
449 link_values = process_command(vm, link_values); | 456 link_values = process_command(vm, link_values); |
450 assert(link_values.command == PlayThis); | 457 assert(link_values.command == PlayThis); |
451 (vm->state).blockN = link_values.data1; | 458 (vm->state).blockN = link_values.data1; |
452 fprintf(stderr, "vm_menu_call: blockN set to 0x%x\n", (vm->state).blockN); | 459 fprintf(stderr, "vm_menu_call: blockN set to 0x%x\n", (vm->state).blockN); |
460 assert( (vm->state).blockN == 0 ); | |
453 return 1; /* Jump */ | 461 return 1; /* Jump */ |
454 } else { | 462 } else { |
455 (vm->state).domain = old_domain; | 463 (vm->state).domain = old_domain; |
456 } | 464 } |
457 break; | 465 break; |
491 link_values = play_PG(vm); | 499 link_values = play_PG(vm); |
492 link_values = process_command(vm, link_values); | 500 link_values = process_command(vm, link_values); |
493 assert(link_values.command == PlayThis); | 501 assert(link_values.command == PlayThis); |
494 (vm->state).blockN = link_values.data1; | 502 (vm->state).blockN = link_values.data1; |
495 fprintf(stderr, "vm_resume1: blockN set to 0x%x\n", (vm->state).blockN); | 503 fprintf(stderr, "vm_resume1: blockN set to 0x%x\n", (vm->state).blockN); |
504 assert( (vm->state).blockN == 0 ); | |
496 } else { | 505 } else { |
497 (vm->state).cellN = (vm->state).rsm_cellN; | 506 (vm->state).cellN = (vm->state).rsm_cellN; |
498 (vm->state).blockN = (vm->state).rsm_blockN; | 507 (vm->state).blockN = (vm->state).rsm_blockN; |
499 fprintf(stderr, "vm_resume2: blockN set to 0x%x\n", (vm->state).blockN); | 508 fprintf(stderr, "vm_resume2: blockN set to 0x%x\n", (vm->state).blockN); |
500 /* (vm->state).pgN = ?? does this gets the righ value in play_Cell, no! */ | 509 /* (vm->state).pgN = ?? does this gets the righ value in play_Cell, no! */ |
1616 return pgcit; | 1625 return pgcit; |
1617 } | 1626 } |
1618 | 1627 |
1619 /* | 1628 /* |
1620 * $Log$ | 1629 * $Log$ |
1630 * Revision 1.15 2002/04/23 13:18:31 jcdutton | |
1631 * Insert some assert commands to hopefully catch a DVD which will give us information on what to do if these values are != 0. | |
1632 * | |
1621 * Revision 1.14 2002/04/23 12:34:39 f1rmb | 1633 * Revision 1.14 2002/04/23 12:34:39 f1rmb |
1622 * Why rewrite vm function, use it instead (this remark is for me, of course ;-) ). | 1634 * Why rewrite vm function, use it instead (this remark is for me, of course ;-) ). |
1623 * Comment unused var, shut compiler warnings. | 1635 * Comment unused var, shut compiler warnings. |
1624 * | 1636 * |
1625 * Revision 1.13 2002/04/23 02:12:27 jcdutton | 1637 * Revision 1.13 2002/04/23 02:12:27 jcdutton |