Main Weblog Projects Downloads Contact Links
Wiki Gallery

Weblog

PassMe PCBs Arrived!

April 1st, 2005

PassMe PCBs have arrived today. This is how they looked once unpackaged:

passme-pcbs1.jpg 

I have broken them apart and filed down the interconnections:

passme-pcbs2.jpg 

CPLDs also arrived today. Here is a nice picture of quite a few CPLDs emoticon 

passme-cplds.jpg 

Pictures of single PassMe PCB. All pads are gold-plated:

passme-pcb-iso-top.jpg passme-pcb-iso-bottom.jpg 

Still waiting for the connectors to arrive and all PassMes I am selling will have real connectors. One PassMe with PCI pins was made to test it:

 

passme-pcb-finished-iso-top.jpg passme-pcb-cart-iso-top.jpg

 

As expected, everything worked fine. More updates to follow. 

Soldering Cart To PassMe

March 30th, 2005

It’s possible to solder the cart directly to the PassMe PCB.

I took the cart PCB out and glued it to the PassMe. Afterwards, short wires were soldered between the pads. Here are pictures of the result:

 passme-soldered-iso-top.jpg passme-soldered-iso-bottom.jpg passme-soldered-inserted.jpg

 Overall, I think gluing the cart is a good idea to achieve robustness (especially if PCI pins are used).

Firmware Dumper

March 28th, 2005

Loopy figured out how to read the firmware from the DS.

Here is a program to dump it in blocks of 64KB.

Note: You have absolutely no need for this if you are not a developer.

 firmwaredumper.zip firmwaredumper.zip

PassMe Click-in Mechanism

March 20th, 2005

It’s possible to make PassMe click in just like a regular DS cart. You need to superglue a small piece of PCB into the location seen on the following picture.

passme-clickin-iso.jpg 

“Under Pressure” Demo

March 19th, 2005

The touchscreen controller in the DS allows to read out pressure of the touch. It should be called pseudo-pressure, really, because it’s based on the the touched area and not on real exerted pressure.

Here is a small demo to show touch pressure. Although an emulator binary is available there is not much use to it.

underpressure.png 

Source code and PassMe & ARM9 binaries:

underpressure.zip underpressure.zip

PassMe requires Insulation

March 19th, 2005

It’s necessary to insulate the back of the PassMe with a sticker or tape. Otherwise JTAG pads or vias could be shorted by touching the metal siding inside the DS slot.

Here is a picture of PassMe with a paper sticker applied to the back side.

passme-sticker-iso.jpg 

BattleshipDS Preview

March 17th, 2005

Here is the first preview edition of my BattleshipDS game.

Graphics are based on this flash game, however all the pixels are mine.

Known issues:
– touchpad code
– sprites can be improved
– no wireless

A few pictures of it running in Dualis follow.

battleship1.png battleship2.pngbattleship3.pngbattleship4.png

 

Here is a ZIP with ARM9 and PassMe binaries. No source code is available right now, sorry.

battleshipds.zip battleshipds.zip

New VHDL by DarkFader works with any DS cart

March 9th, 2005

DarkFader made new VHDL for the CPLD that makes PassMe work with any DS cart.
Visit his page for the new files.

In addition to CRC16 calculation, his VHDL changes the way ARM9 is taken over. Existing demos should copy ARM9 binary to 0x02004000 as before and then make the ARM9 CPU jump to it by issuing “*(volatile unsigned int *)0x027FFE24 = 0x02004000;” No longer need to overwrite the whole memory with a jump to an ARM9 waiter to capture that CPU. ARM7 starts at 0x080000C0 in GBA cart space as before.

Here is a quick way to make joat’s template boot with the new VHDL:

// In boot/main.cpp change main() to the following
// You can also remove the arm9flag define above main()

int main(int argc, char ** argv) {
  LoadBin(GETRAW(arm9_bin), 0x02004000, GETRAWSIZE(arm9_bin));
  LoadBin(GETRAW(arm7_bin), 0x02380000, GETRAWSIZE(arm7_bin));

  *(volatile unsigned int *)0x027FFE24 = 0x02004000;

  CallARM7();
  while (1) ;
  return 0;
}

Slashdotted

March 8th, 2005

Hello Slashdot!

Check this out for the current state of DS development.

Slashdot frontpage.

I finally built my PassMe

March 8th, 2005

After quite a few weeks of wait my two boards finally arrived today. This allowed me to build a PassMe right away.
This is how the PCB looked like after it came from manufacture:
PassMe PassMe PassMe PassMe
PassMe had an intentional border around the actual cart outline. This was necessary because PCB manufacturers have poor panelizing precision. This border had to be grinded down by hand resulting in the board shown below:
PassMe
Then the CPLD had to be soldered. Following Lynx’s suggestion, I simply added flux to the pads, positioned the CPLD and touched each pin with the soldering iron. Since the pads were tinned by the manufacturer, no additional solder was necessary. The pins for the cart connector came from a PCI connector and had to be soldered individually. They hold the cart in place quite firmly. A second option would have been to glue the cart to the PCB and solder small jumper wires in between. Here is the finished board ready to be programmed:
PassMe PassMe
Now the CPLD was programmed using the VHDL from passme1.4.zip and the free Xilinx ISE WebPACK software. Here are a few pictures of the finished PassMe with Metroid cart inserted:
PassMe PassMe PassMe PassMe
Here some more pictures of my DS with PassMe and GBA flash cart inserted. This setup lets me run all homebrew demos and is much more portable than my older FPGA setup.
PassMe PassMe PassMe


 
© 2010 Alexei Karpenko (natrium42)