Nugget
Bare-metal libraries and examples for the original PlayStation
Loading...
Searching...
No Matches
Functions | Variables
playing.c File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

 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
 
 if (!resetDone)
 
 waitCDRomIRQ ()
 
 initializeTime ()
 
 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, 820000)
 
 cester_assert_uint_lt (time1, 980000)
 
 ramsyscall_printf ("Simple Playing until end, Double Time, finished in %ius\n", time1)
 

Variables

 test_instances
 
int resetDone = resetCDRom()
 
int setModeDone = setMode(0x80)
 
int seekDone = seekPTo(0x71, 0x27, 0)
 
 CDROM_REG0 = 0
 
 CDROM_REG1 = CDL_PLAY
 
uint8_t response1 [16]
 
uint8_t cause1 = ackCDRomCause()
 
uint8_t responseSize1 = readResponse(response1)
 
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
 
uint8_t cause2b = CDROM_REG3_UC
 

Function Documentation

◆ cester_assert_uint_eq() [1/9]

cester_assert_uint_eq ( 0x18  ,
ctrl2   
)

◆ cester_assert_uint_eq() [2/9]

cester_assert_uint_eq ( 0x38  ,
ctrl1   
)

◆ cester_assert_uint_eq() [3/9]

cester_assert_uint_eq ( 0xe0  ,
cause2b   
)

◆ cester_assert_uint_eq() [4/9]

cester_assert_uint_eq ( 1  ,
responseSize1   
)

◆ cester_assert_uint_eq() [5/9]

cester_assert_uint_eq ( 1  ,
responseSize2   
)

◆ cester_assert_uint_eq() [6/9]

cester_assert_uint_eq ( 2  ,
response1  [0] 
)

◆ cester_assert_uint_eq() [7/9]

cester_assert_uint_eq ( 2  ,
response2  [0] 
)

◆ cester_assert_uint_eq() [8/9]

cester_assert_uint_eq ( 3  ,
cause1   
)

◆ cester_assert_uint_eq() [9/9]

cester_assert_uint_eq ( 4  ,
cause2   
)

◆ cester_assert_uint_ge()

cester_assert_uint_ge ( time1  ,
820000   
)

◆ cester_assert_uint_lt()

cester_assert_uint_lt ( time1  ,
980000   
)

◆ CESTER_TEST()

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); 
)

◆ if()

if ( !  resetDone)

◆ initializeTime()

initializeTime ( )

◆ ramsyscall_printf()

ramsyscall_printf ( "Simple Playing until  end,
Double  Time,
finished in %ius\n"  ,
time1   
)

◆ waitCDRomIRQ()

waitCDRomIRQ ( )

Variable Documentation

◆ cause1

uint8_t cause1 = ackCDRomCause()

◆ cause2

uint8_t cause2 = ackCDRomCause()

◆ cause2b

uint8_t cause2b = CDROM_REG3_UC

◆ CDROM_REG0

CDROM_REG0 = 0

◆ CDROM_REG1

CDROM_REG1 = CDL_PLAY

◆ ctrl1

uint8_t ctrl1 = CDROM_REG0 & ~3

◆ ctrl2

uint8_t ctrl2 = CDROM_REG0 & ~3

◆ resetDone

int resetDone = resetCDRom()

◆ response1

uint8_t response1[16]

◆ response2

uint8_t response2[16]

◆ responseSize1

uint8_t responseSize1 = readResponse(response1)

◆ responseSize2

uint8_t responseSize2 = readResponse(response2)

◆ seekDone

int seekDone = seekPTo(0x71, 0x27, 0)

◆ setModeDone

int setModeDone = setMode(0x80)

◆ test_instances

test_instances

◆ time1