42 int seekDone = seekPTo(0x71, 0x27, 0);
146 int seekDone = seekPTo(0x71, 0x26, 0);
161 uint8_t responseSizes[32];
162 uint8_t responses[32 * 16];
174 if (
cause != 1)
break;
177 for (
unsigned i = 0;
i <
count;
i++) {
191 unsigned offset =
count - 15;
192 unsigned upCount = 0;
193 for (
unsigned i = offset;
i <
count;
i++) {
200 unsigned index =
i - offset;
201 if ((index & 1) == 0) {
208 static uint8_t seconds[15] = { 0x26, 0x81, 0x27, 0x81, 0x27, 0x82, 0x27, 0x82, 0x27, 0x82, 0x28, 0x82, 0x28, 0x83, 0x28 };
210 static uint8_t frames[15] = { 0x60, 0x40, 0x00, 0x55, 0x20, 0x00, 0x40, 0x20, 0x60, 0x40, 0x00, 0x55, 0x20, 0x00, 0x40 };
214 uint16_t peak = (responses[
i * 16 + 7] << 8) | responses[
i * 16 + 6];
215 uint16_t
flag = peak & 0x8000;
218 if (
flag == 0x8000) upCount++;
224 for (
unsigned i = 0;
i <
count;
i++) {
226 responses[
i * 16 + 0], responses[
i * 16 + 1], responses[
i * 16 + 2], responses[
i * 16 + 3],
227 responses[
i * 16 + 4], responses[
i * 16 + 5], responses[
i * 16 + 6], responses[
i * 16 + 7]);
uint8_t response[16]
Definition cdlgetlocl.c:84
@ CDL_PLAY
Definition cdrom.h:45
#define CDROM_REG3_UC
Definition cdrom.h:39
ramsyscall_printf("=== e01_kseg1_reads_no_fill ===\n")
uint32_t flag
Definition gte-edgecase.c:36
int i
Definition gte-regio.c:297
cester_assert_uint_eq(3, cause1)
CDROM_REG0
Definition playing.c:101
int setModeDone
Definition playing.c:88
uint8_t response2[16]
Definition playing.c:112
uint8_t responseSize2
Definition playing.c:113
CESTER_TEST(simplePlayingUntilEnd, test_instances, int resetDone=resetCDRom();if(!resetDone) { cester_assert_true(resetDone);return;} int setModeDone=setMode(0x00);if(!setModeDone) { cester_assert_true(setModeDone);return;} int seekDone=seekPTo(0x71, 0x27, 0);if(!seekDone) { cester_assert_true(seekDone);return;} CDROM_REG0=0;CDROM_REG1=CDL_PLAY;uint8_t response1[16];waitCDRomIRQ();uint8_t cause1=ackCDRomCause();uint8_t responseSize1=readResponse(response1);initializeTime();uint32_t time1=waitCDRomIRQ();uint8_t cause2=ackCDRomCause();uint8_t ctrl1=CDROM_REG0 &~3;uint8_t response2[16];uint8_t responseSize2=readResponse(response2);uint8_t ctrl2=CDROM_REG0 &~3;CDROM_REG0=1;uint8_t cause2b=CDROM_REG3_UC;cester_assert_uint_eq(3, cause1);cester_assert_uint_eq(4, cause2);cester_assert_uint_eq(0xe0, cause2b);cester_assert_uint_eq(0x38, ctrl1);cester_assert_uint_eq(0x18, ctrl2);cester_assert_uint_eq(2, response1[0]);cester_assert_uint_eq(1, responseSize1);cester_assert_uint_eq(2, response2[0]);cester_assert_uint_eq(1, responseSize2);cester_assert_uint_ge(time1, 1640000);cester_assert_uint_lt(time1, 1960000);ramsyscall_printf("Simple Playing until end, finished in %ius\n", time1);) CESTER_TEST(simplePlayingUntilEndDoubleTime
uint8_t responseSize1
Definition playing.c:106
cester_assert_uint_lt(time1, 980000)
int resetDone
Definition playing.c:82
uint8_t response1[16]
Definition playing.c:103
uint32_t time1
Definition playing.c:109
test_instances
Definition playing.c:81
uint8_t cause2b
Definition playing.c:116
uint8_t ctrl2
Definition playing.c:114
uint8_t cause1
Definition playing.c:105
uint8_t cause2
Definition playing.c:110
uint8_t ctrl1
Definition playing.c:111
CDROM_REG1
Definition playing.c:102
cester_assert_uint_ge(time1, 820000)
int seekDone
Definition playing.c:94
cester_assert_true(seekDone)
uint8_t cause
Definition reading.c:707
uint8_t causes[100]
Definition reading.c:142
__builtin_memset(sectorData, 0, sizeof(sectorData))
cester_assert_uint_le(readyCount, 2)
static const void size_t count
Definition syscalls.h:146
void uint32_t(classId, spec)