|
| | CESTER_TEST (cdlGetLocP, test_instances, int resetDone=resetCDRom();if(!resetDone) { cester_assert_true(resetDone);return;} initializeTime();CDROM_REG0=0;CDROM_REG1=CDL_GETLOCP;uint32_t ackTime=waitCDRomIRQ();uint8_t cause1=ackCDRomCause();uint8_t ctrl1=CDROM_REG0 &~3;struct LocPResult response;uint8_t responseSize=readResponse((uint8_t *)&response);uint8_t ctrl2=CDROM_REG0 &~3;CDROM_REG0=1;uint8_t cause1b=CDROM_REG3_UC;cester_assert_uint_eq(3, cause1);cester_assert_uint_eq(0xe0, cause1b);cester_assert_uint_eq(0x38, ctrl1);cester_assert_uint_eq(0x18, ctrl2);int inPregap=response.index==0;uint32_t relative=MSF2LBA(btoi(response.m), btoi(response.s), btoi(response.f));uint32_t absolute=MSF2LBA(btoi(response.am), btoi(response.as), btoi(response.af));uint32_t onefifty=absolute;if(inPregap) { onefifty=absolute+relative;} else { onefifty=absolute - relative;} cester_assert_uint_eq(1, response.track);cester_assert_uint_ge(onefifty, 150);cester_assert_uint_ge(response.index, 0);cester_assert_uint_le(response.index, 1);cester_assert_uint_ge(absolute, 145);cester_assert_uint_lt(absolute, 155);cester_assert_uint_lt(relative, 5);cester_assert_uint_eq(8, responseSize);cester_assert_uint_ge(ackTime, 500);cester_assert_uint_lt(ackTime, 7000);ramsyscall_printf("Basic getlocP, ack in %ius\n", ackTime);ramsyscall_printf("Full response: track: %02x, index: %02x, relative: %02x:%02x:%02x(%2i), absolute: %02x:%02x:%02x(%2i)\n", response.track, response.index, response.m, response.s, response.f, relative, response.am, response.as, response.af, absolute);) CESTER_TEST(cdlGetLocPafterSeekP |
| |
| | if (!resetDone) |
| |
| | initializeTime () |
| |
| | cester_assert_uint_eq (3, cause1) |
| |
| | cester_assert_uint_eq (0xe0, cause1b) |
| |
| | cester_assert_uint_eq (0x38, ctrl1) |
| |
| | cester_assert_uint_eq (0x18, ctrl2) |
| |
| | if (inPregap) |
| |
| | cester_assert_uint_eq (1, response.track) |
| |
| | cester_assert_uint_ge (onefifty, 150) |
| |
| | cester_assert_uint_eq (0, inPregap) |
| |
| | cester_assert_uint_ge (absolute, 224950) |
| |
| | cester_assert_uint_lt (absolute, 225000) |
| |
| | cester_assert_uint_ge (relative, 224800) |
| |
| | cester_assert_uint_lt (relative, 224850) |
| |
| | cester_assert_uint_eq (8, responseSize) |
| |
| | cester_assert_uint_ge (ackTime, 500) |
| |
| | cester_assert_uint_lt (ackTime, 7000) |
| |
| | ramsyscall_printf ("Basic getlocP after seekP, ack in %ius\n", ackTime) |
| |
| | ramsyscall_printf ("Full response: track: %02x, index: %02x, relative: %02x:%02x:%02x(%2i), absolute: %02x:%02x:%02x(%2i)\n", response.track, response.index, response.m, response.s, response.f, relative, response.am, response.as, response.af, absolute) |
| |
| | CESTER_TEST (cdlGetLocPafterSeekL, test_instances, int resetDone=resetCDRom();if(!resetDone) { cester_assert_true(resetDone);return;} int seekDone=seekLTo(0x50, 0, 0);if(!seekDone) { cester_assert_true(seekDone);return;} initializeTime();CDROM_REG0=0;CDROM_REG1=CDL_GETLOCP;uint32_t ackTime=waitCDRomIRQ();uint8_t cause1=ackCDRomCause();uint8_t ctrl1=CDROM_REG0 &~3;struct LocPResult response;uint8_t responseSize=readResponse((uint8_t *)&response);uint8_t ctrl2=CDROM_REG0 &~3;CDROM_REG0=1;uint8_t cause1b=CDROM_REG3_UC;cester_assert_uint_eq(3, cause1);cester_assert_uint_eq(0xe0, cause1b);cester_assert_uint_eq(0x38, ctrl1);cester_assert_uint_eq(0x18, ctrl2);int inPregap=response.index==0;uint32_t relative=MSF2LBA(btoi(response.m), btoi(response.s), btoi(response.f));uint32_t absolute=MSF2LBA(btoi(response.am), btoi(response.as), btoi(response.af));uint32_t onefifty=absolute;if(inPregap) { onefifty=absolute+relative;} else { onefifty=absolute - relative;} cester_assert_uint_eq(1, response.track);cester_assert_uint_ge(onefifty, 150);cester_assert_uint_eq(0, inPregap);cester_assert_uint_eq(1, response.index);cester_assert_uint_ge(absolute, 224990);cester_assert_uint_le(absolute, 225005);cester_assert_uint_ge(relative, 224840);cester_assert_uint_le(relative, 224855);cester_assert_uint_eq(8, responseSize);cester_assert_uint_ge(ackTime, 500);cester_assert_uint_lt(ackTime, 7000);ramsyscall_printf("Basic getlocP after seekL, ack in %ius\n", ackTime);ramsyscall_printf("Full response: track: %02x, index: %02x, relative: %02x:%02x:%02x(%2i), absolute: %02x:%02x:%02x(%2i)\n", response.track, response.index, response.m, response.s, response.f, relative, response.am, response.as, response.af, absolute);) CESTER_TEST(cdlGetLocPinT5 |
| |
| | cester_assert_uint_eq (5, response.track) |
| |
| | cester_assert_uint_eq (316500, start) |
| |
| | cester_assert_uint_ge (absolute, 316535) |
| |
| | cester_assert_uint_lt (absolute, 316575) |
| |
| | cester_assert_uint_ge (relative, 35) |
| |
| | cester_assert_uint_lt (relative, 75) |
| |
| | ramsyscall_printf ("Basic getlocP after seekP in track5's, ack in %ius\n", ackTime) |
| |