| « Pokémon Patch Pirates Hit by Hackers "Gotta catch 'em all!!!" | PSGroove on a PIC microcontroller » |
Literally massive post this loads of info on the PSGroove, PSGooPic etc. pics, files all sorts it is a massive read, might take some time, you should really be looking at this from a technical point of view as its quite a feat, and in no way be looking at piracy as thats a fools game. You can sort thru the post to find what you need, from looking at it though I don't expect the average PS3 owner to be able to though :p

...
Load of info mirrored from all over the place :This thread is for the common questions we've came across in the discussion thread (http://psx-scene.com/forums/showthread.php?t=65391 ), so it's easier for newbies.
firmware means: the PSGrooPIC, a ported version of psgroove on PIC mcu;
bootloader means: an application flashed on to the chip, it's different to the firmware;
there's no firmware hex file with bootloader, only firmware that is compatible with bootloader;
why PIC?
it's available in DIP package which makes it very easy to solder and DIY this project;
Disadvantages:
it doesn't come with a bootloader to let you upgrade the firmware via usb; so you need a PIC Programmer.
You can use it to jailbreak PS3 with or without bootloader.
If you want to use bootloader, read the section about bootloader.
Clearly state this otherwise people can't help you:
what board are you using,
If you made it by yourself, which schematics do you use
does it has bootloader or if you intend to use
what crystal osc you have on it.
Post general question in the PIC discussion thread, it has more activity and there are more people reading it:
http://psx-scene.com/forums/showthread.php?t=65391
Reply here if you have suggestions/questions/updates about this thread itself.
http://www.elotrolado.net/hilo_inves...0_1479909_s460
Buy a supported commercial board, most of them comes with bootloader which is handy (don't need to build/buy PIC programmer);
(general a board with PIC 18F2455/2550/4455/4550/2553 may work, see below for boards confirmed to work, let us know if you confirmed a new commercial board works)
Use your XBox360 usb/spi flasher(18F2455) or buy one;
Build your own board plus build/buy a PIC programmer, cheap and cheerful, need to invest some time
Go for the AVR chip solution instead
Microingenia 18F2550 trainer, comes with bootloader;
Microingenia BEEPIC 18F2550,comes with bootloader 19,95€
Sparkfun USB Bit Whacker -18F2553 Development board,comes with bootloader, cheap and easy to find, $30
Sparkfun USB Bit Whacker - 18F2553 PTH Kit (assemble it yourself), comes with bootloader
Olimex PIC-USB-4550 (Olimex PIC-P28-USB and PIC-P40-USB empty board *should* work if pulg a chip in, but the chip won't have bootloader pre-burned.)
Firmware and bootloader
/* 1.4 moved LED from B5 to B4, if you use LVP programming, B5 should be grounded
/* 1.3 patches lv2 (PSGroove latest version)
/* 1.2 Led thing solved
/* 1.1 BRD emu thing solved
/* 1.0 Initial release */
for Microingenia ones, use the bootloader compatible one from PSgroopIC blog;
for Sparkfun UBW, use one that compatible with bootloader; it's status LED is on C0 and C1, so find one
built with LED defined on C0 or C1 otherwise you won't see the status LED working.
Like this one by MetalPhreak:
http://psx-scene.com/forums/showpost...&postcount=904
choose the bootloader version. Or download in the 3rd reply MP's build.
Tronix USB 18f2550 Development Board 2.0
* 18f2550
* 20Mhz Crystal Oscillator
* MCLR - Not used
* LED - Port B1
* MCHPUSB Bootloader - Memory offset for program - 0x800 (show as 0x0400 in winpic800)
try the bootloader version in 3rd reply MP's build. Edit it if MCLR enabled does cause problem.
Olimex PIC-USB-4550
MCHPUSB Bootloader
Use the bootloader version in 3rd reply MP's build, this board has LED on pin 22 which is B1(D3 on 4550 datasheet).
Look for the following replies for different schematics.
Use a PIC programmer
If you have the IC on IC Socket/ZIF socket or has built an ICSP interface,plues you have PIC programmer, you can pull the chip out and use the PIC Programmer to program it. (use none bootloader ones)
or use usb bootloader if you have the bootloader on chip;
If you have bootloader comes with your commercial boart/xbox360 usb spi falsher, let it enter bootloader programming mode, use PDFSUSB to update the firmware.
If you've built your own, the supported chips above don't come with a bootloader, so you'll need to buy/build a PIC programmer to program the IC (after you load a proper bootloader onto the chip, you can update it via usb later on.)
see How to use bootloader and how to check if the dongle has went into bootloader below
currently we are using two types of bootloader MCHPUSB bootloader and USB HID C18 bootloader, difference:
MCHPUSB bootloader:
need to install MCHPUSB Custom Driver for bootloader mode;
user application offset start from 0x800(show as 0x0400 in winpic800)
use PDFSUSB to flash firmware via usb;
The bootloader jump pin can be changed before compile;
USB HID C18 bootloader
HID driver automatically installed comes with OS;
user application offset start from 0x1000(show as 0x0800 in winpic800)
use HIDBootloader2.6b to flash firmware via usb;
The bootloader jump pin can be changed before compile;
Firmware built for one type bootloader above is not compatible to another one due to the difference of user application offset.
for Microchip's MCHPFSUSB bootloader(also apply to the 360 usb/spi flasher, Tronix, UBW, Olimex PIC-USB-4550)
C:\Microchip Solutions v2010-08-04\USB Device - Bootloaders\Vendor Class - MCHPUSB Bootloader
It will appear as an 'Unknown Device' in device manager after you short the boot jump pin and connect it to PC, otherwise it's not in bootloader mode.
install the driver for the Unknown Device, point it to 'MCHPUSB Custom Driver' (download below)
After installed the driver, you will have a 'Microchip Custom USB Device' in device manager's 'Custom USB Device' (not under usb controllers). Then you can use the 'PICDEM FS USB Demo Tool' (PDFSUSB) to update the firmware.
Microchip's Bootloader USB HID C18
found at C:\Microchip Solutions v2010-08-04\USB Device - Bootloaders\HID - Bootloader if you have MCHP_App_Lib_v2010_08_04_Installer installed.
Also applies to Microingenia boards and the PSGrooPIC 1.0 schematics use a modified one called 18F2550Trainer Bootloader USB HID C18.
It will appear as HID device in device manager if it's in bootloader mode; (firmware mode show as Generic USB Hub under usb controllers list if you have firmware loaded);
You don't have to install driver for HID device.;
Press the reset-BTL combo button to toggle between BTL mode and firmware mode;
Just use the updated HIDbootloader 2.6b application on PSgrooPIC blog (or download below) to update the firmware.
PSgrooPIC.blogspot.com
(the one from Microchip 2.6a has a bug with the hex compiled using CSS)
HIDBootlaoder2.6b will stuck at 'verify started' after 'verify is running', just wait for a while and it should be ok. I guess it should show verified ok but no verify started.
|
If you have a bootloader installed with all the correct fuse settings for crystal, MCLR etc, then when you load the bootloadable hex file via USB and chose NOT TO overwrite the config bits, then it doesn't matter what the settings are stored in the hex. So really, I could just have one universal bootloadable hex. But, if you click yes to overwrite the config bits, and the crystal setting is wrong, your device will no longer run even the bootloader.
Config bits are set universally. Also, as quite a few people have confirmed, the hex files are quite transportable between the different PICs. ... |
So be careful with config bits, they are shared between bootloader and firmware, you can wrongly change it while flashing firmware which will make the bootloader not function.
Then you'll need a PIC programmer...
1) Put it in bootloader mode
how? see below
How to use bootloader and how to check if the dongle has went into bootloader?, it depends on the bootloader you are using.
2) Open PDFUSB and select the device 'PICDEM FS USB 0 (BOOT)'
If you don't see this, there's a problem with the bootloader or the dongle is not in the bootloader mode,
see below
How to use bootloader and how to check if the dongle has went into bootloader
3) Click the button 'Load HEX'
4) Select the hex file that is for your crystal osc frequency
5) It will error out, select CANCEL. Clicking NO or even YES may work, but this is what works for me ERROR FREE.
6) Select 'PROGRAM DEVICE' (It shouldn't give you any errors)
7) Remove the jumper if you still has it shorted and test on pc
see below Test the dongle
then test on your PS3.
This applies to the stock Microchip USB HID Bootloader C18 families and the modified 18F2550Trainer one.
See the reply about PSGrooPIC blog schematics 1.0 below for details.
No.
Load it with [flash tool], if it's BTL compatible, the content of code tab should be empty(FF) from start to somewhere 0x800/0x1000 (0x0400/0x0800 in winpic800). Otherwise it's not BTL compatible.
Normally not, since MCHPUSB Bootloader has user application start from offset 0x800(0x0400 in winpic800) by default and USB HID bootloader has user application start from offset 0x1000(0x0800 in winpic800)
Yes, as long as the chips are one of the supported one of 2455/2550/4455/4550/2553. Make sure the oscillator value are match, see next question.
You need to make sure the file has the right osc value for your board, or change the osc value to the right value while flash; if the osc value is not match, the dongle won't work.
If use a [flash tool] to flash the chip, normally you can just select the proper oscillator value in fuse configuration/settings/config bits/word;
Even if you are flashing the dongle using PDFSUSB, you can use [flash tool] to change the osc vlaue and save as a new file, then load it into PDFSUSB.
Recommend to use mikro PICFLASH to edit the hex file if you can't find an existing file matching your needs;
download http://www.melektronikos.com/mikroe/...programmer.zip
winpic800 is a bit old,not recommended due to it shows code content in a different way we normally talk about, plus it has issue while editing
bootloader compatible firmware hex files and save to a new file. (still ok for editing none-bootloader compatible files).
If you use USB HID C18 bootloader, you can just use HIDBootloader2.6b to edit the config bits before flash.
Warning: Don't use winpic800 to edit a bootloader compatible firmware file as it will remove some important flag from the file, make it can't be read/flashed by PDFSUSB.
http://www.etc.ugal.ro/cchiculita/so...bootloader.htm
| A bootloader is a program that stays in the microcontroller and communicates with the PC (usually through the serial interface). The bootloader receives a user program from the PC and writes it in the flash memory, then launches this program in execution. Bootloaders can only be used with those microcontrollers that can write their flash memory through software. The bootloader itself must be written into the flash memory with an external programmer. In order for the bootloader to be launched after each reset, a "goto bootloader" instruction must exist somewhere in the first 4 instructions; There are two types of bootloaders, some that require that the user reallocate his code and others that by themselves reallocate the first 4 instructions of the user program to another location and execute them when the bootloader exits. |
In short the chip checks the pin for bootloader mode on reset, if it not sets, exit bootloader code and goto user application.Think bootloader like pc's bios, enter into it by press a equivalent DELETE button. If you don't press DELETE while booting, it goes into the operating OS, the psgroove.
The reset button/short jump pin for bootloader mode is defined in the bootloader itself, thus which pin to short is diff from one bootloader to another. Check if a bootloader use your current boot jump pin or modify your board to suit the bootloader's definition.
You can just hold bootloader button/short the jump pin and connect it to pc without a reset button. Same as press reset then hold bootloader button while it already connected.
The bootloader and firmware(psgroopic) are different, won't come together in one file.
| There are two ways to put a PIC into programming mode: a high voltage (around 14V) on the MCLR pin, this is called HVP (High Voltage Programming), (you'll need diode to protect the other components on your board, see PSGrooPIC 1.0 below). a logical one on the LVP enable pin (RB3 or RB4 or other pin configured in the bootloader) during a reset (Low Voltage Programming) |
see 'Start with PICs' http://www.voti.nl/swp/
It enables you to flash/update the dongle via usb and no longer need a PIC programmer to do this job.
PIC chips don't come with a bootloader, so you'll need to buy/build a PIC programmer to program the IC (after you load a proper bootloader onto the chip, you can update it via usb later on but careful about the config bits)
Or if you do have a PIC programmer, and either have IC Socket/ZIF Socket or ICSP interface built, you can just update psgroopic using the programmer and no worry about usb update.
MCHPUSB bootloader 0x800 (show as 0x0400 in winpic800)
USB HID C18 bootloader 0x1000 (show as 0x0800 in winpic800)
The status LED:
The correct LED pin out for a board needs to be defined in the source code before compile, otherwise the LED won't work.
This apply to both firmware and bootloader.
So you need to find the firmware with LED definition match your board, but even LED doesn't work, jailbreak will sill work.
Once plugged, the led will slowly blink till there is traffic on the bus, when it's being accessed, the led
will chirp while processing USB messages, and will stay on once it sees the success message from the descriptor payloads.
If the led keeps blinking for a long time (more than 10s) or stays off, there is something wrong, and you'll need
to reset and try again.
Test the dongle:
Try it on your pc first, make sure everything sold correctly as they should,
wrong wires *could* fry your USB port. (normally won't even something is wrong).
If the firmware aka user application, the psgroove, works correctly, you should see a 'Generic USB Hub' under USB controllers in the device manager.(Not USB Root Hub).
DIY your own jailbreak using PIC chips
PIC 18F2455/18F2550/18F4455/18F4550/18F2553
Buy the DIP version, with 'P' in name, so it's a lot easier to solder.
Keep the crystal and the two side stabling capacitor near to the chip, as not doing so will result some strange problem, unstable, not working etc.
Mount and solder an IC Socket or a ZIF Socket on the proto board, then put the IC into the IC socket, this way you can easily reprogram the IC using a programmer; or solder the IC and build an ICSP programming interface so you can program it via ICSP (see PSGrooPIC 1.0 schematics below);
Buy the 2455/2550/2553 which is 28Pin, easier and more popular than the 4455/4550 40 pin one;
The ZIF Socket is huge but perhaps it's a better choice over IC Socket, as it needs zero insertion force; For IC Socket better use a chip extractor or use a screwdriver - alternately lever up each end of the chip, lever one side will bend the pins on the other side.
ICSP is handy as you don't need to remove the target chip from it's circuit from programming.
[*]Which schematics to use?
Look for the following replies, I recommend MetalPhreak's version and the one from PSGrooPIC blog;
Generally, the LED pin and bootloader jump pin are set before compile and can't be changed after compile, so if you can't compile the source code yourself, you should stick with
the schematics that some one will compile for you and has good amount of users.
Summary of the schematics:
'the first schematics' Not recommended for new builds
doesn't support bootloader,
also needs to add capacitor to make it stable,
modify it to support bootloader is possible.
if you use LVP programmer, tie pin 26 low by ground it;
LED on B1
(modification method is different according to if you want to use the default/xbox360 MCHPSUSB bootloader (jump pin 17) or MP's custom bootloader (jump pin 28), modify it towards to the bootloader and schematics use that bootloader)
The PSGrooPIC 1.1 schematics, Not recommended for new builds
doesn't support bootloader,
LED on B5 conflicts with LVP programming;
modify it to support bootloader is possible, same as above;
for new builds and who use LVP programmer, check PSGrooPIC blog's PSGrooPIC 1.2 schematics to build/modify;
MP's schematics,
everything works, thanks for MP's hard work and support,
if you use LVP programmer, tie pin 26 low by ground it;
boot jump pin on 28, use MP's custom bootloader (modified MCHPSUSB bootloader)
LED on C0 C1 (his builds may also support LED on B0 or B1)
xbox360 spi/usb flasher schematics only for if you have one or want to buy one
boot jump pin on 17, just use the original bootloader comes with it (name it xbox360 MCHPSUSB bootloader)
iLLNESS's builds has LED on B5
The PSGrooPIC 1.0 schematics
everything's fine,
use a reset-bootloader combo button (bootloader jump pin is on pin 1 same as MCLR)
use USB HID C18 bootloader (this bootloader is not compatible with other firmware built for MCHPSUSB bootloader like MP and iLLNESS's builds)
LED on B5(conflicts with LVP, change to use new builds to have LED on B4 and ground B5 if you use LVP Programming);
[*]Schematic for 40pin PIC
check the one posted by MP on the second page of this thread;
adjust the bootloader jump pin to use with one of the bootloader we have here;
adjust the LED pin to use with one of the firmware here;
[*]DIY, the Crystal Oscillator and the capacitors for it:
4MHz 27pF x2,
8MHz 22pF x2,
12MHz 22~15pF x2,
16MHz 22~15pF x2,
20Mhz 15pF x2,
*24 and so on should be ok if they are 4n;
*Higher capacitor value than required will increase the stability, but also will increase start up times. Many people use 22pF for 20MHz, and it works great, I use 30pF and it never fails.
[*]resonator or oscillator?
Go for oscillator, it's much more accurate, if you only have resonator, it might still works.
[*]Cheap PIC programmer to make/buy?
You can build one a buy one from eBay;
For all the programmer use COM port, you need an actual COM port on your PC though. Onboard or PCI card. USB to COM port adapters WILL NOT work.
If you are using a laptop then don't use a pic programmer that is powered from the serial port itself as there may not be enough power/voltage available from it.
JDM 'type' serial port programmer is capable to do HVP,uses the serial port to provide a high voltage programmer that does not require an external power supply, cheap and easy to construct.
Better to use a IC Socket/ZIF Socket on the project board so use can easily pull the chip out and put into your PIC programmer to reprogram it; or build a ICSP interface on the project borad if your PIC programmer has ICSP interface.
Make sure the programmer you are trying to build/buy does support the chip you are going to program.
USB powered one are not quite easy to build, try buy one from eBay.
Good, cheap and simple to build example:
Art2003 PIC 18Fxxx Parallel Port PIC Programmer (LVP, check special instructions about LVP programming)
http://www.foxdelta.com/products/art2003.htm
Trivial LVP programmer, even simple one (parallel port, LVP) Who has used this please confirm it is compatible with 18F
http://finitesite.com/d3jsys/
Olimex's JDM based serial port programmer PIC-PG2 with ICSP
http://www.olimex.com/dev/pic-pg2.html
| Note: You can only change from LVP to HVP (High Volt Programming - normal ICSP programmer) if you have an HVP programmer. The parts that are LVP capable are factory shipped with LVP enabled. So always pull the PGM line low with 10k (approx.) when first programming (with HVP). |
[*]Winpic800 doesn't installed correctly or complains about language config
Download this and overwrite your install directory
http://dl.dropbox.com/u/1681417/WinPic8003.64.7z
[*]Want to know more, 18F2455/2550/4455/4550 datasheet
http://ww1.microchip.com/downloads/e...doc/39632d.pdf
[*]How to build the ICSP interface?
see the PSGrooPIC 1.0 schematics below, note you don't have to wire PGM B5 pin 26 (normally it connects to aux on the programmer).
You'd better leave RB6 PGC and RB7 PGD for use with ICSP only, any components on them will make ICSP programming unstable or fail. PGM is only needed while do LVP programming.
| # VPP - Programming voltage (usually 13V). # VDD - POWER (usually 5V). # VSS - GROUND. # PGD - DATA usual port and connection RB7. # PGC - CLOCK usual port and connection RB6. # PGM - LVP ENABLE usual port and connection RB5. |
[*]Bootloader pin
The bootloader starts after Power-On or Reset.
For MCHPUSB bootloader, the bootloader checks if pin RB4 (default pin for the PIC18F4550 Family Devices MCHPUSB bootloader from Microchip) is low or high:
RB4 = low (0V): PIC starts in bootloader mode
RB4 = high (5V): PIC starts user application
Short the bootloader pin to GND will make it low;
You can Short the bootloader pin and power the chip on to make it into bootloader mode;
or you can Short the bootloader pin and press reset while it already powered on;reset button is optional;
[*]MCLR
used for reset the chip; reset button is optional;
if you disabled MCLR in config bits, you don't need anything on MCLR pin 1
if you enabled MCLR in config bits, you need to connect pin 1 to VCC/VDD through a 10K resistor to pull MCLR up(provide some voltage on it);
you can add a button to short MCLR pin 1 to GND to reset the chip;
You need to enable MCLR config bits to use reset function;
The MCLR pin is the pin to which you will apply ~13 volts to enter HVP programming mode. For HVP programming mode, you should put a diode between the resistor and MCLR/Vpp pin (as shown in the PSGrooPIC 1.0 below). This keeps the programming voltage on the vpp pin, preventing destruction of other components on your board.
Useful information

Again how to do the jailbreak correctly
First test it is working on a PC, see above for instructions how to test;
You have the right 3.41 firmware (the first one *may* brick some PS3 system so SONY rolled out another one.)
The right one with m5sum e07d2b84c9e9691c261b73e5f1aada20 PS3UPDAT-341-NEW.PUP
make sure completely power down the PS3 (slim one requires pull out the plug or turn of the outlet);
only the jailbreak dongle connected, no other usb device connect to PS3;
power on then quickly press enject button;
If jailbreak is success, you won't see "unknow usb device connected" while login to a profile;
under game you should see install pkg options;
while load a backup game, it will return to the XMB interface and you can find the mounted backup game.
I read this FAQ completely and carefully, but still have no idea?
this PIC chip jailbreak solution is not suit for you, go to AVR chip solution or build one using AVR chip, it's a bit easier.
Where to find more help?
The on going PSGroove finally ported to a new chipset:PIC18F2550 thread
http://psx-scene.com/forums/showthread.php?t=65391
The PSGrooPIC IRC Channel, realtime chat and quick help
#psgroopic @ EFNet
Make sure you have read[*]Which schematics to use? above;
General schematics
MP's schematic support bootloader ,good for new builds
The custom bootloader use boot pin short 28 to GND as you can see;
also you need to connect pin 1 MCLR to VDD through a 10K resistor if you have MCLR enabled;
everything works, thanks for MP's hard work and support,
if you use LVP programmer, tie pin 26 low by ground it;
boot jump pin on 28, need to use MP's custom bootloader (modified MCHPSUSB bootloader)
LED on C0 C1 (his builds may also support LED on B0 or B1)
The current PSGrooPIC 1.2 schematic ,good for new builds
doesn't have bootloader support but can be modfied to support,
modified from PSGroopIC 1.1 schematic
added support for LVP programming;
LED moved from B5 to B4;
The old PSGrooPIC 1.1 schematic, Not recommended for new builds
image see attachment
doesn't support bootloader,
LED on B5 (will conflicts with LVP programming
modify it to support bootloader is possible;
for new builds and who use LVP programmer, check PSGrooPIC blog's 1.2 schemetics to build/modify;
Here VUSB the capacitor you can use 100~470nF,all should be fine if you don't have the one on the schematics.
The old 'the first scematics' without bootloader, Not recommended for new builds
image see attachedment
For this one, you should have a 100nF capacitor between VDD to GND to increase stability (so the jig works always.) see the schematics below on how to do this
USB: 1 VCC 2 d- 3 d+ 4 gnd
doesn't support bootloader,
also needs to add capacitor to make it stable,
if you use LVP programmer, tie pin 26 low by ground it;
Note the LED is on B1 pin 22
modify it to support bootloader is possible.
(modification method is different according to if you want to use the default/xbox360 MCHPSUSB bootloader (jump pin 17) or MP's custom bootloader (jump pin 28), modify it towards to the bootloader and schematics use that bootloader)
How to Modify your existing board to support bootloader
Basically is build a jump/button to short the bootloader jump pin to GND:
to use MCHPFSUSB bootlader:
default MCHPFSUSB bootloader use short pin 17 to GND like the bootloader you can find below in the 360 falsher reply customed by iLLNESS(the bootloader mode use LED on B5);
you also need to connect pin 1 MCLR to VDD through a 10k resistor if you have MCLR enabled, see the 360 falsher schemetics below;
after this modification, you can flash iLLNESS's custom MCHPFSUSB bootloader;
MP's custom MCHPFSUSB bootloader use short pin 28 to GND,see below,
you also need to connect pin 1 MCLR to VDD through a 10k resistor if you have MCLR enabled see MP's schematics below,
after this modification, you can falsh MP's custom MCHPFSUSB bootloader;
To use the modified USB HID C18 bootloader comes from Microingenia, ref to the PSGrooPIC 1.0 diagram below, just build it as it:
button between pin 20 and GND, also need the resistor, diode;
the button is also used for reset: short pin 1 MCLR to GND for reset function
after this you'll need to flash the USB HID C18 bootloader, and later on you'll always need to use firmware compatible for this bootloader;
as this bootloader is using 0x1000 user application address which is different to the MCHPFSUSB bootloader;
good thing is it doesn't need to install driver.
While you use a LVP programmer, pin B5 and PSGrooPIC 1.4
for 2455/2550/4455/4550 the LVP enable pin is 26 B5 PGM.
This LVP enable pin is dedicated to the LVP enable function and can not be used by the application for other purpose if the LVP option is enabled in the configuration bits;
new PIC chips all come with LVP enabled;
You can change the LVP option by change the config bits;
config bits can only be changed via HVP programming;
You'll need to tie pin 26 B5 low by connect it to GND through a 1K resistor or just ground it without resistor;
(during reset it's a logical 1 on LVP enabled pin B5 so the chip can enter into programming mode.);
(different to HVP, we put a high voltage (around 14V) on the MCLR pin to enter into programming mode);
For all the above concern, if you are using a LVP programmer,
tie pin 26 B5 to GND, and move LED to other pins (ref to PSGrooPIC.blogspot.com schematics 1.2 (LVP programmer compatible) , B5 grounded, B4 for LED, and use the PSGrooPIC 1.4 hex (recompiled to have LED on B4 for firmware mode);
Also read discussion about LVP programmer and the LVP option here http://psx-scene.com/forums/showpost...&postcount=988 and following replies
Firmware and bootloader
for boards have LED on C0 or C1 or B0 or B1 choose MP's buidls
MCLR enabled
12MHz and 20MHz
if your one doesn't use bootloader, choose PSGrooPIC1.3_noBTL_12MHz_20MHz_C0_B0_B1_MCLR_compi led_by_MP.zip
if your one use MP's custom MHCPUSB bootloader, choose PSGrooPIC1.3_BTL-ok_12MHz_20MHz_C0_B0_B1_MCLR_compiled_by_MP.zip
(if you have different crystal osc value, ref to the FAQ above on how to edit it)
MP's custom MCHPSUSB bootloader: MCHPFSUSB bootloader 20MHz custom by MP.zip
Note on how to flash via usb in bootloader mode:
MP's bootloader compatible firmware use MHCPUSB bootloader, it will require install a drive for bootloader mode and use PDFSUSB to flash the firmware, see FAQ above for details;
the bootloader and bootloader compatible firmwares build by MP have user application start from offset 0x800(show as 0x0400 in winpic800) (default for MHCPUSB bootloader)
for boards have LED on B5 (like the PSGrooPIC 1.1 schematics)
LEDR on B5
no bootloader compatibility (won't work if you have bootloader)
8MHz Crystal osc (see FAQ on how to change this for your needs)
NOMCLR (see FAQ on how to change this for your needs)
use PSgrooPIC1.3_18F2550_xMHz_NOMCLR_B5-LEDR_noBTL.zip
for boards have LED on B4 (like the PSGrooPIC 1.2 schematics to be compatible for LVP programming)
LED on B4
no bootloader compatibility (won't work if you have bootloader)
8MHz Crystal osc (see FAQ on how to change this for your needs)
NOMCLR (see FAQ on how to change this for your needs)
use : PSGrooPIC 1.4 (no difference to 1.3 except the LED moved to B4)
The Xbox360 PSI/USB Flasher by Darkstar, only for if you have one or want to buy one, not for DIY
boot jump pin on 17, just use the original bootloader comes with it (name it xbox360 MCHPSUSB bootloader)
iLLNESS's builds has LED on B5
It has 12MHz cystal osc;
For hex files to use for this board, ref to iLLNESS's reply here
http://psx-scene.com/forums/showpost...&postcount=807
The original firmware posted there doesn't work properly with PDFSUSB, download the fixed one here attached.
Firmware archive
PSgrooPIC 1.3
LED on B5
12MHz
bootloader compatible
good for xbox360 spi/usb flasher
Note:
You only need to flash the firmware file man.hex(psgroopic) on to the chip.
The 360 flasher as seen in the schematics above doesn't have LED, if you add one LED on B5, it will be supported by using this main.hex compiled by iLLNESS.
Bootloader
Default is Microchip MCHPFSUSB bootloader with short pin on 17;
the MCHPUSB bootloader jump pin17-RC6 LED-B5.zip in the attachment file is a modifyed Microchip MCHPFSUSB bootloader with LED on B5 and 12MHz by iLLNESS
This modified BTL is *only* for you to replace the original bootloader on it when needed.The default bootloader on 360 flasher doesn't support LED I guess, if you want the LED to work in bootloader mode as well, you'll need to replace the default bootloader with this one and this require a PIC programmer. So I would recommend just live with the original BTL.
How to flash the firmware?
See FAQ above.
Both the bootloader and firmware here use 0x800(show as 0x0400 in winpic800) as the offset of user application(firmware)
Edit: Now edited the firmware to make it work properly with PDFSUSB, download this and retry
PSGrooPIC blog http://psgroopic.blogspot.com/
The PSGrooPIC blog 1.0 schematics , good for new builds
everything's fine, this is the commercial product Microingenia 18F2550Trainer board's schematic;
use a reset-bootloader combo button
use USB HID C18 bootloader, no driver installation needed
(this bootloader is not compatible with other firmware built for MCHPSUSB bootloader like MP and iLLNESS's builds)
Note if you use LVP programming, ground B5 and use PSGrooPIC 1.4 hex (LED moved to B4 from B5)
LEDR B5 pin 26 (conflicts with LVP, change to use new builds to have LED on B4 and ground B5 if you use LVP Programming);
LEDG B4 pin 25( LEDG is currently not used in PSGrooPIC 1.3 , but it used in the HIDbootloader and PSGrooPIC 1.4 and later);
C1 470nF ~220nF
C2 100nF ~ 220nF
C3 C4 check the instructions in the first post about what value to use for a oscillator .
Resistors on LED, you can choose one that not too small which will burn out the LED, higher value will make the LED darker;
ICSP interface is optional only if you want to program it via ICSP later on.
The reset function needs MCLR enabled;
MCLR enabled needs to connect it to VCC/VDD through a 10k resistor to pull it up (provide some voltage on it);
MCLR is also the pin to which you will apply ~13 volts to enter HVP programming mode.The diode between MCLR and VCC is for ICSP programming, it keeps the programming voltage on the VPP pin, preventing destruction of othe components on your board.
The RST-BTL combo button will let you toggle between PSGrooPIC and bootloader mode while the dongle is connected to PC;
Bootloader pin is configured on pin 1; so if while you press the button, it does both reset and pull bootloader pin low to instruct the chip go into bootloader mode;
For the 18F2550Trainer HIDbootloader and HIDbootloader flashing software, goto PSGrooPIC.blogspot.com
also there's the source code ready to compile for PSGrooPIC.
Firmware archive:
PSgrooPIC 1.3
PSgrooPIC use LED pin on B5, the HIDbootloader mode use both B4 and B5 LEDs
HIDbootloader bootloader compatible (won't work with board don't have bootloader)
MCLR enabled
8MHz crystal osc (see FAQ on how to change this)
12/20MHz firmware compiled by me, have a try;
20MHz bootloader edited by me, have a try;
If your required frequency not list here, down the 8MHz bootloader/firmware and edit it using winpic800 or download the source code and compile it yourself;
How to flash the bootloader (or just flash a none-BTL firmware)?
Use a PIC Programmer.
How to flash/update the firmware(PSGrooPIC)?
First you need to get bootloader flashed onto the chip;
Put it into bootloader modeby pressing the reset/BTL combo button, presss it will toggle between firmware and BTL mode;
(If it's in bootloader mode, it shows as a HID device in device manager;
If it's in firmware mode, it will show up as a Generic USB Hub.)
See FAQ above bootloader section
Use the Microchip.BootLoader.USB.HID.v2.6b(the software) to flash the firmware via USBYou need .Net 4 framwork and Visual C++ 2010 Redistributable x32 installed to run it. Sometime it may stuck on the verification stage, just wait for a while and test the dongle to see if it works.
Both the firmware and bootloader here use 0x1000(winpic800 0x0800) as offset of the user application and
so the bootloader/firmware is not compatible with MP's custom firmware/bootloader(0x800 (winpic800 0x0400))
BootloaderUSBHIDC18_18F2550Trainer_V1.0 8MHz source code.zip
BootloaderUSBHIDC18_18F2550Trainer_V1.0 8MHz source code.zip BootloaderUSBHIDC18_18F2550Trainer_V1.0_20MHz_LEDG-B4-LEDR-B5_BTL-pin1.zip BootloaderUSBHIDC18_18F2550Trainer_V1.0_8MHz_LEDG-B4-LEDR-B5_BTL-pin1.zip
Manual_BootloaderUSB_HID_C18_18F2550Trainer_V1.0.pdf MCHPFSUSB bootloader BTL-pin28-RB7 20MHz custom by MP.zip MCHPUSB bootloader jump pin17-RC6 LED-B5.zip MCHPUSB Custom Driver.zip PDFSUSB programmer.zip
PSGrooPic1.3-b5_PIC18F2455-12MHz BTL-ok notMCLR_fixed.zip PSgrooPIC1.3_18F2550_12MHz_NOMCLR_B5-LEDR_noBTL.zip PSgrooPIC1.3_18F2550_20MHz_NOMCLR_B5-LEDR_noBTL.zip PSgrooPIC1.3_18F2550_8MHz_NOMCLR_B5-LEDR_noBTL.zip PSgrooPIC1.3_18F2550_CSS_12MHz_MCLR_B5-LEDR_BTL-ok.zip PSgrooPIC1.3_18F2550_CSS_20MHz_MCLR_B5-LEDR_BTL-ok.zip PSgrooPIC1.3_18F2550_CSS_8MHz_MCLR_B5-LEDR_BTL-ok.zip PSGrooPIC1.3_noBTL_12MHz_20MHz_C0_B0_B1_MCLR_compiled_by_MP.zip PSGrooPICV1.3_SRC_wBTL_CCS 8MHz SourceCode only.zip PSGrooPICV1.4_CSS_8MHz_MCLR_B4_BTL-ok.zip
This post has 99 feedbacks awaiting moderation...