Page 2 of 2

Re: Has anybody PM schematic ?

Posted: March 28th, 2015, 11:50
by Tauwasser
JustBurn wrote:
Tauwasser wrote:How do you come up with those numbers? 65 columns times 4 rows of 24 pixels or something?
The controller actually is 132 columns by 65 rows.

According to SED1565 datasheet:

Page 31 shows the clocking signal of a frame, CL and FR can be seen there.

Page 73 shows a table with the clocking rate.
fCL = fOsc / 4
fFR = fCL / 260 (260 is 4 x 65)

That proves 18720 Hz will result in a frame rate of 72 Hz
I was aware of the 132 col x 65 rows, it was the 4 * 65 = 260 part I was missing.
JustBurn wrote:Like I've said, FR should be always toggled for the controller to properly drive the voltage into the LCD, it has nothing to do with any shading. (Look page 31 and up).
Then maybe that's not the FR terminal after all? Until now I had thought that the ribbon cable is just some physical adapter. Maybe there's another controller on there to generate FR from CL? I find that somewhat unlikely though...
JustBurn wrote:The system does indeed runs at 4Mhz (250ns).
Well, they could have scaled that clock for certain internal parts. My point was, they didn't for the PRC.
JustBurn wrote:PRC will need to access the main BUS to get the data and read/write into the framebuffer. That means when PRC is being accessed the CPU will stall during the rendering and copy process. What you saw in your logic analyzer was the "copy" period.

The BIOS does some raw writes to the LCD (including clearing pixels) at startup before initializing (the PRC is still unconfigured at this point).
After all initialization if it detects that there's no cartridge, it will runs a "No cartridge" animation, this time it will use the PRC.

Using a cartridge won't actually change much or even anything.
That's what I thought. However, I should surely see more than one frame being copied in that case? Maybe something else makes the PRC hang and therefore the CPU never gets out of the stall?

I guess I'm going to try again, see if I can get it to work continuously or something.

cYa,

Tauwasser

Re: Has anybody PM schematic ?

Posted: April 1st, 2015, 06:24
by JustBurn
Not sure what else i need to add into the discussion after we talked in the forum chat :)

My only suggestion was to play around with the LCD, not only you have a chance to play around with it but also prove that all reversed engineered signals are actually correct... but considering it's a 0.5 pitch on flex cable.... yeeeeahhh... good luck on that ;)

Note to self: Pin 1 is on the left side of the bottom connector.
Tauwasser wrote: Then maybe that's not the FR terminal after all? Until now I had thought that the ribbon cable is just some physical adapter. Maybe there's another controller on there to generate FR from CL? I find that somewhat unlikely though...
It's extremely unlikely... in one way Nintendo is known for using custom parts (the ROM actually have custom logics to handle the addresses) but i think it will be unlogical to customize the LCD IC to only remove 1 signal out of so many... they might as well used serial communication and reduce I/Os count even further. right?
Tauwasser wrote: That's what I thought. However, I should surely see more than one frame being copied in that case? Maybe something else makes the PRC hang and therefore the CPU never gets out of the stall?

I guess I'm going to try again, see if I can get it to work continuously or something.
I never caught the BIOS reading the LCD I/O on the init... if there's a hang it's probably caused by the PRC circuit.

Also like i've said, the BIOS does raw writes on the init (PRC is off at that moment), make sure you are grabbing the LCD accesses during the PRC periods, not the raw initialization ones!

The BIOS setup the Frame Counter to /2 so you should be getting a "copy" each 36FPS after initialization (Unless you use a cartridge, in that case it will depend of the game).

Finally... You might try a demo that use direct LCD access if you suspect that the PRC might be the culprit, there's a few demos that you can download on this site, you can use this wiki page for reference.