Direct hardware access to serial fails after sceIoxxx() stuf

Discuss the development of new homebrew software, tools and libraries.

Moderators: cheriff, TyRaNiD

Post Reply
chrismulhearn
Posts: 80
Joined: Wed Feb 22, 2006 4:43 am

Direct hardware access to serial fails after sceIoxxx() stuf

Post by chrismulhearn »

Normally, code like this will loop until the headphone serial port TX buf is empty, and then output a '?'.

while(*(unsigned int*)0xbe500018 & 0x00000020) {
}
*(unsigned int*)0xbe500000 = '?';


However, after using the SDK functions to talk to the memory stick, this direct hardware IO no longer works.

Even if i reconfigure the baud rate, etc.

Anyone have any idea why that may be?
chrismulhearn
Posts: 80
Joined: Wed Feb 22, 2006 4:43 am

"system config" area controls a lot of IO function

Post by chrismulhearn »

OK it looks like the problem was that the fileio functions were altering some of the values in the system config area. That is the hardware register area in the range of 0xBC1000XX .

Code that saves the values in BC100000, BC100004, 08, ... through BC100080 and then restores the values after finishing up w/ the fileio functions took care of the problem.
adrahil
Posts: 274
Joined: Thu Mar 16, 2006 1:55 am

Post by adrahil »

Interesting :) Could you try printing out the values before/after and posting them here... My raw guess would be that 0xbc100078 or 0xbc10007c change....
Post Reply