Has anybody PM schematic ?

PM development, programming, hacking and all that fun stuff.
bakanovse
Posts: 2
Joined: January 24th, 2013, 17:02

Has anybody PM schematic ?

Post by bakanovse »

Has anybody Pokemon-Mini schematic? (in CAD or common bitmap format, don't mean)

And two question - EEPROM is internal (in Nintendo R&D3 chip) (http://wiki.sublab.net/index.php/Pokemon_Mini) or external component (because accessed with $61 I/O Data Register - http://wiki.sublab.net/index.php/PM_I/O_Port) ?
Lupin
Team Pokémé
Posts: 94
Joined: January 10th, 2005, 13:06

Re: Has anybody PM schematic ?

Post by Lupin »

There is no schematic of the PM. You can trace out the PCB and make one if you feel like it :-)

The EEPROM is an external component and a standard I2C eeprom.
Tauwasser
Posts: 5
Joined: November 20th, 2014, 04:17

Re: Has anybody PM schematic ?

Post by Tauwasser »

Heya,

I recently created a schematic for the mainboard and finally transferred it to an EDA tool. You can find it here.

Please let me know if you find any issues or outright errors. I haven't gotten around to testing the display signals. I'll get to that sooner or later, though.

cYa,

Tauwasser
scyther
Posts: 55
Joined: November 5th, 2013, 14:25

Re: Has anybody PM schematic ?

Post by scyther »

Wow, really cool Tauwasser. Been watching your Game Boy stuff. Great work everywhere!
JustBurn
Team Pokémé
Posts: 90
Joined: April 14th, 2011, 19:07

Re: Has anybody PM schematic ?

Post by JustBurn »

That schematic is really interesting :)
Dunno how you managed to trace the pins from the minx black blob, amazing job.

I'll be interested to know more about the LCD signals, buried in those Disp[5:0] pretty sure there's Control, Read, Write and Clock signals somewhere.
Tauwasser
Posts: 5
Joined: November 20th, 2014, 04:17

Re: Has anybody PM schematic ?

Post by Tauwasser »

I'll get to those ;) I expect the usual signals for 8000 or 6800 interfaces: #RD, #WR, A0, #CS. Since these are commercial parts, possibly C86, P/S, #HPM. I'm actually surprised there are six additional pins.

If and when the postal services manages to finally not lose track of my shipment of wire wrap again, I'll be able to scope that out.

I also noticed that I got the boost converter backwards. Apparently the pin labeled PG is actually what turns it on. EN pin should be the one that turns it off again. Having a hard time matching any of the parts on the actual converter PCB with SMD markings :-/

The PCB is a two-layer board. It's a high density design, so everything is a bit crowded. I might have missed a pin or two below the boost converter itself, but I was happy enough with exactly 64 pins, so yeah...

cYa,

Tauwasser

* Pin names from SED1565 datasheet.
Tauwasser
Posts: 5
Joined: November 20th, 2014, 04:17

Re: Has anybody PM schematic ?

Post by Tauwasser »

Just wanted to let you know that I finally managed to a) get my wire wrap delivered and b) semi-successfully put it on the Pokémon Mini.

The thing is working in 68k mode as far as I can tell. Read the whole story over at my blog or get the updated schematic here. Updates for the boost converter still pending.

cYa,

Tauwasser
JustBurn
Team Pokémé
Posts: 90
Joined: April 14th, 2011, 19:07

Re: Has anybody PM schematic ?

Post by JustBurn »

Good job in figuring out the LCD, loved reading the process in your blog but i kinda wished you took some pictures. :)

I hope you can fix your PM and still function normally (do a bridge between the damaged track?).

CN3-28 sounds right = ~18.7khz / 65 / 4 = ~72Hz (refresh rate)

According to the datasheet the FR should alternate in each frame during display so it shouldn't be always 0... maybe you only analyzed the signals of only one frame? ;)

Btw, you think those signals work in master or slave mode?
Tauwasser
Posts: 5
Joined: November 20th, 2014, 04:17

Re: Has anybody PM schematic ?

Post by Tauwasser »

JustBurn wrote:Good job in figuring out the LCD, loved reading the process in your blog but i kinda wished you took some pictures. :)
I did take some oscilloscope pictures, but as far as the setup, it's just 5 wires going out from the PM...
JustBurn wrote:I hope you can fix your PM and still function normally (do a bridge between the damaged track?).
Well, it wouldn't display anything anymore after my first attempt to solder the wires to the connector pads. It did before that, though.

So I guess I either damaged the connector (it was pretty crispy...) or one of the signals was shorted at that stage (though continuity test showed no short...). I'll need a new connector anyway, because mine was not usable after I removed it.
JustBurn wrote:CN3-28 sounds right = ~18.7khz / 65 / 4 = ~72Hz (refresh rate)
How do you come up with those numbers? 65 columns times 4 rows of 24 pixels or something?
JustBurn wrote:According to the datasheet the FR should alternate in each frame during display so it shouldn't be always 0... maybe you only analyzed the signals of only one frame? ;)
Well, I did not put a cartridge in. I'm not sure what happens in the bootstrap. Doesn't FR only toggle when different shades are displayed? I don't usually work with displays on this level, usually just the interface stuff, i.e. 8080, 6800 etc., is fine.

I'm also not sure what data I did analyze, because after reset, all I ever got was 6.5ms of data and then nothing.

Which leads me to believe I may have broken something else -- possibly the #RD pin -- before I started taking measurements.

Image

Cyan: #WR, yellow: #CS, magenta: A0, blue: #RD

After reset, it's some time before the first write, then 6µs, then 3µs, 3µs, 3µs. Every data access waits 7µs between accesses. So the whole thing is probably running a bit time of 250ns, i.e. 1µs per actual access.

This access shows (poorly, because of the resolution) 8 "packets". It's writes to the data register with 3 writes to some instruction register in-between, then again a number of data writes etc. It ends with writes to the instruction register and then nothing.
JustBurn wrote:Btw, you think those signals work in master or slave mode?
Well, they will need to be in SLAVE mode b/c the clock is supplied by the MIN. Didn't have a display connected at the time for obvious reasons.

I can try with a cartridge next time, maybe something changes. I don't know why I didn't think of that.

cYa,

Tauwasser
JustBurn
Team Pokémé
Posts: 90
Joined: April 14th, 2011, 19:07

Re: Has anybody PM schematic ?

Post by JustBurn »

Tauwasser wrote:
JustBurn wrote:CN3-28 sounds right = ~18.7khz / 65 / 4 = ~72Hz (refresh rate)
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
Tauwasser wrote:
JustBurn wrote:According to the datasheet the FR should alternate in each frame during display so it shouldn't be always 0... maybe you only analyzed the signals of only one frame? ;)
Well, I did not put a cartridge in. I'm not sure what happens in the bootstrap. Doesn't FR only toggle when different shades are displayed? I don't usually work with displays on this level, usually just the interface stuff, i.e. 8080, 6800 etc., is fine.
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).
Tauwasser wrote:
I'm also not sure what data I did analyze, because after reset, all I ever got was 6.5ms of data and then nothing.

. . .

After reset, it's some time before the first write, then 6µs, then 3µs, 3µs, 3µs. Every data access waits 7µs between accesses. So the whole thing is probably running a bit time of 250ns, i.e. 1µs per actual access.

. . .

I can try with a cartridge next time, maybe something changes. I don't know why I didn't think of that.
The PRC (The name we gave to the circuit that renders the background and sprites into the LCD) will only run when the Frame Counter match, the fastest setting is /2 (36 FPS) so unless you are accessing the LCD directly (registers $FE~$FF) with the PRC disabled you can only display up to 36 FPS maximum.

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 system does indeed runs at 4Mhz (250ns).

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.
Post Reply