September 25 2016

Howto make a GAMEBOY PI

splash

Tutorial Time :-)

For awhile I have been trying to make a GAMEBOY and Raspberry Pi Mod.

My last post showing some real progress and installation of the software.

Today I will write a better guide for myself and others so they can learn from my mistakes.
If you follow this guide for setting up your SD cart this progress will take about 1,5 h to complete.
(guide is below show and tell :-) )

Warning: I still have to remove a error that i getting but i din’t find a solution for this atm:
”At random times i get: alsa lib pcm.c 7843: (snd_pcm_recover) underrun occurred” 
not when playing a game only if i am in the front end and during boot….

Lets start with show and tell:

Hardware used:
Gameboy case, wires, tact switches, empty PCB, power bar, cheap speakers and a Dremel

And of course a
Raspberry 1b:

000f Q4 2012 B 2.0 512 MB (Mfg by Qisda)

And a Adafruit 2-8 pitft capacitive touch:PiTFT 2.8

Below are some pictures of my GAMEBOY Pi that is mostly finished.
Things todo build in the speaker and power bar remove some plastic form d-pad because its fits to well…
But thinking of making a custom cartridge to slide in to the slot of the Gameboy.

(not my Picture just for show my version will have a power-bar also. How? wait and see )

Pictures:
How it looks now:

 

Build in Wifi and dongle for keyboard for now, in the future I gone extend one port to the side.
Ethernet is still available but don’t use a High-end cables, my own made utp cable works perfect :-)

The mod of the case….

conversion:

Gameboy Upgrade / Hack / crack :-)
The Layout
Gameboy Upgrade / Hack / crack :-)
 Fitting the LayoutBezel of Gameboy on top of screen (will lose touchscreen function so will be a sticker)
Gameboy Upgrade / Hack / crack :-)
Gameboy Upgrade / Hack / Crack - Part IIMade my custom button pcb´sNext step refitting the original buttons Problem Video out and speaker jack are on the wrong side. Need to de-solder them.
Gameboy Upgrade / Hack / Crack - Part IIMade my custom button pcb´sNext step refitting the original buttons 
Gameboy Upgrade / Hack / Crack - Part IIMade my custom button pcb´sNext step refitting the original buttons 
Gameboy Upgrade / Hack / Crack - Part IIMade my custom button pcb´sNext step refitting the original buttons 
Gameboy Upgrade / Hack / Crack - Part IIMade my custom button pcb´sNext step refitting the original buttons PiTFT pcb is to big for the Gameboy case need to chip it down.
Removed the hole left side (seen from picture above) until the FFC connector.
Lost the tact solder position but then again i would use them anyway.
Gameboy Upgrade / Hack / Crack - Part IIMade my custom button pcb´sNext step refitting the original buttons 
Gameboy Upgrade / Hack / Crack - Part IIMade my custom button pcb´sNext step refitting the original buttons 
First idea for custom joystick control but scraped this in the end.
(Do little things at the time don’t do everything at once grrr……. :-) )
Gameboy Upgrade / Hack / Crack - Part IIMade my custom button pcb´sNext step refitting the original buttons 
Gameboy Upgrade / Hack / Crack - Part IIMade my custom button pcb´sNext step refitting the original buttons 
Gameboy Upgrade / Hack / Crack - Part IIMade my custom button pcb´sNext step refitting the original buttons 
They fit  :-)
They fit  :-)
They fit  :-)
They fit  :-)
They fit  :-)
They fit  :-)
They fit  :-)
 The Screen fits the case
:-)
I Saw of a part of the display driver board and its still working :)next step connecting the wires to the raspberry pi directly without the header pins.
At first i wanted to solder all 26 pins to the pcb’s but then i ordered a FFC extender
This saved my so much time and cost 6 Euro 😛
I Saw of a part of the display driver board and its still working :)next step connecting the wires to the raspberry pi directly without the header pins.
I Saw of a part of the display driver board and its still working :)next step connecting the wires to the raspberry pi directly without the header pins.
I Saw of a part of the display driver board and its still working :)next step connecting the wires to the raspberry pi directly without the header pins.
I Saw of a part of the display driver board and its still working :)next step connecting the wires to the raspberry pi directly without the header pins.
 These pictures showing the concept of the build.

I started this project awhile back so if you want to do this. Do little things, one thing at the time.
Don’t start doing lots of things at once because in the end you will need to change or rework it again…
(Tip from Ben Heck and now from me 😀 )

The Arivale of the FFC extender and extra Cable

 You need controls.

I have rebuild the pcb for the controls because this way its much stronger then before. And the board looks more like the original Gameboy PCB haha.
Also i made some video’s that show the different stages of the build :
RetroPi and PiTFT from Ada fruit test!

(I have 4 Pi’s: two models B and one Model 2B+

RetroPi and PiTFT and DIY Joystick test!

Testing the tact switches…

RetroPi and PiTFT and DIY Joystick test 2!

More testing of the tact switches… 😀 Mario is fun hahaha.

For those how notice i have some strange glitching in my screen in the video’s above.
This is because at that time my raspberry pi setup was not perfect. Not that its now LOL.
But the screen glitching is gone…

GAMEBOY PI Semi complete Test!

This is my last video i made for now showing it closed (taped down) and using the original GAMEBOY buttons on my custom pcb using those 8 tact switches.

If I have time i will make a new video showing it closed with screws and without glitches in the screen.

How i Did my software side:

This install will take about 1,5 hours

First download the 2016-03-25-28c.img.


Make sd img from 2016-03-25-28c.img

Boot in Raspberry pi, let it boot in to startx and then quit it to command line
And launch Raspi-config: (sudo raspi-config)

Last things: 1 Overscan disable, 4 SSH Enable, 5 Device tree Enable, 6 SPI 7 I2C and  8 Serial disable, 9 Audio force 3.5mm headphone jack.
Side note for those how need Tochscreen: I disable 6, 7 and 8 to get more Gpio pins working
but this will disable touchscreen control.

But this is not needed for this project anyway. And also you can make another SD card that can use the Touchscreen interface but you will lose the Gpio pins that use SPI, I2C and Serial.

Identifier “myfb”
Driver “fbdev”
Option “fbdev” “/dev/fb1″
EndSection

Close Nano and Save ( CTRL+X, Yes, ENTER)

cd .. ( goto home cd /~/ will do just fine)

git clone https://github.com/AndrewFromMelbourne/raspi2fb
cd raspi2fb/

mkdir build
cd build
cmake ..
make
sudo make install
sudo cp ../raspi2fb@.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable raspi2fb@1.service
sudo systemctl start raspi2fb@1

Almost done:

sudo dpkg-reconfigure console-setup

Select “UTF-8”, “Guess optimal character set”, “Terminus” and “6×12 (framebuffer only).”
Last edits before reboot.

sudo nano /boot/config.txt

sudo nano /etc/emulationstation/themes/carbon/carbon.xml

Close Nano and Save ( CTRL+X, Yes, ENTER)

sudo reboot

And check if everything is still working if you want to add your own controls continue below

Adding Controls:

cd /~/
git clone https://github.com/adafruit/Adafruit-Retrogame
cd Adafruit-Retrogame

nano retrogame.c

Edit the file retrogame.c, looking for the table called ioStandard  and the input.h table. Each line in brackets represents one pin on the GPIO header and a corresponding key code.
The full list of available keycodes can be found in /usr/include/linux/input.h

My setup:

// Input Output (from /usr/include/linux/input.h)
{ 22, KEY_LEFT }, // Joystick (4 pins)
{ 14, KEY_RIGHT },
{ 17, KEY_DOWN },
{ 4, KEY_UP },
{ 2, KEY_LEFTCTRL }, // A/Fire/jump/primary
{ 3, KEY_LEFTALT }, // B/Bomb/secondary
{ 15, KEY_5 }, // Credit
{ 18, KEY_1 }, // Start 1P
{ -1, -1 } }, // END OF LIST, DO NOT CHANGE

You’ll need to be careful in your GPIO pin selection…some are used by the PiTFT display, others have certain reserved functions. Any green GPIO pin is free to use…yellow pins may be okay with additional setup. If you’ve configured a tactile button on the PiTFT for shutdown, that pin is unavailable for game controls.

One wire from each button connects to a GPIO pin, while the other wire connects to an available ground pin (GND). The 2.8″ PiTFT boards have an extra header breakout for the first 26 pins…for the remaining pins, you’ll need to get clever with female jumper wires on the exposed part of the Raspberry Pi GPIO header.
That is why i disable I2C and Serial so i can use gpio 2, 3, 14 and 15. Made a mistake and was easier to use gpio 14 and 15 instead. otherwise i would only disable I2C…

raspberry_pi_gpio-map.png

After editing, compile and install the code with:

make retrogame
sudo mv retrogame /usr/local/bin

Test fist before making something boot that is not working.

sudo /usr/local/bin/retrogame &

It works!

sudo nano /etc/rc.local

Reboot and you should now have “virtual” keys associated with GPIO buttons.

Or make it more fancy:

HOW TO HIDE BOOT TEXT:

sudo nano /boot/cmdline.txt

Add splach screen

Adding a splash screen can be done from in retropie so this is optional. but this way you know what is changed in retropie to show the splashscreen at start up, same method.
Custom Splash Screen for Raspberry Pi

This is a quick and dirty solution for an unanimated custom splash screen during boot.

First of all, you need to install fbi:

apt-get install fbi

Copy your custom splash image to /etc/ and name it “splash.png”

example code:

sudo mv splash.png /etc/init.d/

Next, create an init.d script called “asplashscreen” in “/etc/init.d/”.

sudo nano /etc/init.d/asplashscreen

I chose “asplashscreen” with an “a” at the beginning to be sure it starts first.

#! /bin/sh
### BEGIN INIT INFO
# Provides: asplashscreen
# Required-Start:
# Required-Stop:
# Should-Start:
# Default-Start: S
# Default-Stop:
# Short-Description: Show custom splashscreen
# Description: Show custom splashscreen
### END INIT INFO
do_start () {

/usr/bin/fbi -T 1 -noverbose -a /home/pi/RetroPie/splashscreens/splash.png
exit 0
}

case “$1″ in
start|””)
do_start
;;
restart|reload|force-reload)
echo “Error: argument ‘$1′ not supported” >&2
exit 3
;;
stop)
# No-op
;;
status)
exit 0
;;
*)
echo “Usage: asplashscreen [start|stop]” >&2
exit 3
;;
esac

:

Then make that script executable and install it for init mode:

chmod a+x /etc/init.d/asplashscreen
insserv /etc/init.d/asplashscreen

Reboot and watch your custom splash screen:

sudo reboot

If everything is correct you still boot in console but now is everything setup to start retropie

Start by typing:

emulationstation

After the startup you need to setup you fresh made controls by pressing one of the keys and then follow the onscreen text. Skipping by holding down one button.

After that your done and can start adding roms, you have 2 options for this by usb or by samba.

So you probably need to set that up 2 lucky for us you can do this from in emulationstation

choose retropie setup from the menu.

The let it boot directly in to emulationstation.
Next Samba: Oleee

and if you did’t follow my splashscreen install you can choose it here:

 

For now i leave this project to rest, i am glad whit the progress that i made.
also after 6 months I can close the case 😀 hooray!!!

Recap of what to do:
-Fix asla error….
-Build power cartridge for power.
-Build in speaker
-Extend usb to connector port and replace it by usb.

 

 

Category: Coding, DIY, Gameboy Pi, Homebrew, Linux, Mod´s, Raspberry Pi, Retro Hardware, Software, Soldering, Upgrade | Comments Off on Howto make a GAMEBOY PI
September 24 2016

Ps3 Mod by Ipod :-D

My first ps3 that i modded i used my ipod touch to unlock it.
it was fairly easy to do below you can find a guide to setup the exploit.

 

This picture shows the mod in progress.
(How to install PSfreedom on iPod touch 1G)Updated PL3 payload

What you will need:
An iPod Touch 1g running 3.1.2 with blackra1n
Vmware Player
Ubuntu 10.04
Openiboot
PS3freedom for ipod touch PL3
PS3freedom for iPhone 2g/3g PL3
Winscp
iFunbox
OpenSSH (Installed from Cydia on your iPod touch)Alright, so I start here assuming you have the above.
Please note that 3.1.2 iPods with redsn0w may or may not work.Install ubuntu on your vmware player and start it.
First we will install OpeniBoot, get it from the link.
First, make a folder in your home directory named openiboot, move the files from the download above into the openiboot folder.Now, open a terminal (under applications, accessories) and type “cd ~/openiboot” without the quotes. Next, type “sudo su” (for the rest of this section, do not type the commands with the quotes around them). Enter your password that you use to sign in to linux (don’t be afraid if you don’t see yourself typing anything, its a security feature).Now then, we get to installing openiboot. Plug your iPod touch in with recovery mode (shows up as connect to itunes on your iPod). In VMware, go to the VM tab, go to removable devices, and look for anything saying apple device or iPod. On that, click “Connect (Disconnect from Host)”.Now, in terminal type “./loadibec openiboot.img3″. You should see openiboot come up on your iPod Touch. On your iPod Touch, click the top left button once, so you highlight Console. Now, click your home button. On linux, in terminal, type “./oibc” quickly after doing that last step. You should see the text on your iPod come up in the linux terminal. When you see “Welcome to OpeniBoot” type “install” into the terminal.

You should it start to install, so wait a few minutes until it is completed. Congratulations, you have installed OpeniBoot and finished the first part of the tutorial!

Now then, to get the exploit installed installed ( Don’t need ubuntu from now on)

Take the 2 files from the .gz(extract using 7zip) you downloaded (android.img.gz, zimage) and put them in a place you will remember. Next, open up iFunbox(in windows) and navigate to root file system/private/ and copy those 2 files into the var folder (root file system/private/var).

Make sure that the 2 files are exactly the same size as the files on your computer, as this is an annoying part to screw up on. Now that that is done, open up winscp. But before you can do anything with that, go to your iPod Touch and find your IP address (Press the blue arrow in Wifi Settings).

Now, copy the IP address into the winscp “host name” box. Then put the name “root” as username, and the password “alpine” as the password. Now, before connecting, change the file protocol to scp. Then, press login. It should take a moment, then display your iPod Touch directories on the right side of the screen.

Navigate to private/var and check that all 2 files are there. Now, right click each file, select properties, and change the permissions to 777 (make sure the first 3 rows of boxes are selected).

Turn your iPod Touch off, and then on, and OpeniBoot should come up. Select Android, and it should boot.

The actual exploit.

Switch of ps3 and then switch it off and on at the back.
Have the iPod connected to the PS3 with no other USB devices.
Click on Android on your ipod
When you see the Loading Firmware line, hit your power+eject
Press power then eject quickly.
Should boot up with the 2 new icons

Category: Download, ipad/iphone, Linux, Mod´s, PS3 | Comments Off on Ps3 Mod by Ipod :-D
May 9 2016

Progress on the Gameboy Pi

raspberry_pi_gaming_pigrrl-adabot
 
 
 
 

Some progress pictures for my Gameboy Pi

Gameboy Pi install:

Make sd img from 2016-03-25-28c.img
Then install retropi:

sudo raspi-config

Enable ssh
Resize SD
Disable boot Gui boot Console:

sudo reboot.

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install -y git dialog
cd
git clone –depth=1 https://github.com/RetroPie/RetroPie-Setup.git
cd RetroPie-Setup
chmod +x retropie_setup.sh
sudo ./retropie_setup.sh

Install binary-based.
Install fb

sudo apt-get install cmake
sudo apt-get install libbsd-dev

Create file: /usr/share/X11/xorg.conf.d/99-fbdev.conf

sudo nano /usr/share/X11/xorg.conf.d/99-fbdev.conf

add in nano

Section “Device”
Identifier “myfb”
Driver “fbdev”
Option “fbdev” “/dev/fb1″
EndSection

Exit Nano

sudo apt-get install cmake
git clone https://github.com/AndrewFromMelbourne/raspi2fb
cd raspi2fb/
mkdir build
cd build
cmake ..
make
sudo make install
sudo cp ../raspi2fb@.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable raspi2fb@1.service
sudo systemctl start raspi2fb@1

TEST

sudo nano /etc/rc.local
add before exit 0
sudo systemctl daemon-reload
sudo systemctl enable raspi2fb@1.service
sudo systemctl start raspi2fb@1

END TEST

sudo dpkg-reconfigure console-setup

Select “UTF-8”, “Guess optimal character set”, “Terminus” and “6×12 (framebuffer only).”

sudo nano /boot/config.txt

Add

framebuffer_width=810
framebuffer_height=540
hdmi_force_hotplug=1
hdmi_group=2
hdmi_mode=87
hdmi_cvt=320 240 51 1 0 0 0
dtoverlay=pitft28-capacitive-overlay,rotate=90,speed=80000000,fps=51
gpu_mem=44

sudo nano /etc/emulationstation/themes/carbon/carbon.xml
fontSize to 0.05

Controls

cd
git clone https://github.com/adafruit/Adafruit-Retrogame
cd Adafruit-Retrogame

Edit the file retrogame.c, looking for the table called ioStandard (not the ioTFT table — that’s for other projects). Each line in brackets represents one pin on the GPIO header and a corresponding key code.
The full list of available keycodes can be found in /usr/include/linux/input.h
raspberry_pi_retrogame.png
After editing, compile and install the code with:
Copy Code

make retrogame
sudo mv retrogame /usr/local/bin

To make retrogame start automatically when the system boots:
Copy Code

sudo nano /etc/rc.local

Before the final “exit 0” line, insert this one line:

Copy Code

/usr/local/bin/retrogame &

Just one more file needs editing, so that EmulationStation recognizes retrogame as a keyboard:
Copy Code

sudo nano /etc/udev/rules.d/10-retrogame.rules

Copy and paste this line exactly into the new file:
Copy Code

SUBSYSTEM==”input”, ATTRS{name}==”retrogame”, ENV{ID_INPUT_KEYBOARD}=”1″

Reboot and you should now have “virtual” keys associated with GPIO buttons.

Category: DIY, Linux, Mod´s, Raspberry Pi, Retro Hardware, Soldering | Comments Off on Progress on the Gameboy Pi
May 4 2015

Solved D6200 Reboot loop (EEPROM Reset)

sammygo

Hey Boy´s and Girls Today i tried to get PVR running on my Samsung UE46D6200TSXXN and failed horrible.
I have changed the model the location and region I made some backups of my service screen.
A result of that is that my tv now keeps rebooting at splash screen of smart tv:
See this movie.  So after few min I realize its a brick 😮 Of-course i made a backup using the Hospitality mode
Only one thing there is no way to load it back because of the reboot issue

I think the TV`s RS232 mode is on not sure but I don´t have a working Ex-Link Cable for C/D Series at hand so that option is out for now.

So I Tried the UnBricking TV by EEPROM Reset from the wiki:
Before trying the EEPROM reset, please try a this factory reset, that might revive your TV also.
Press “EXIT” button for 12 seconds (15 is better since you cannot see TV), than press “Left” and “Enter”
I tried this for a half hour or so but no luck the TV reboots before getting to 15 seconds.

The only thing to do was attaching the wires. first of locate the EEPROM
Here are some pictures of my TV maybe handy for the wiki:


I used a button because i got a feeling i need to do this more than once

So after everything is connected time to test it info from the wiki: power on TV and hold about for 20 seconds with the TV powered.
It just try to read (wrong) settings from EEPROM, since it cannot read anything, just start with defaults. That is what we want.
Than releasing SDA line and shutting TV off will update the settings on EEPROM with null values, that TV could boot with it.
After all, you can enter service menu and change the required changes
But for me its not working, when I turn on the switch, and making the connection the only thing that happens is the Smart TV logo turns upside down,
so there is something happening i made also a video
Did i forgot something?
is my wire to long?
can´t I use a button?
I have a few questions if someone got some answers for me that would help me a lot
Also i made a 1-1 copy of my samsungtv FTP in 2012 its 1,29 GB (1.387.958.272 bytes) 20.338 Files, 1.898 Folders

Thanks in Advance

For all of my pictures of my samsung UE46D6200TSXXN Take a look at my flickr

The Solution

Wait Longer… :-)

First time I turned on the tv right a way and waited 20sec when EEPROM was bridged then turned it of and switched it back to normal tv.
This did´t work..

Next time I powered my TV on waited about 30 to 60 sec then turned on the TV waited also 30 seconds then switched the switch to normal mode
and the very welcoming Samsung statement was greeting me to change the settings in service menu.
Connected my Lan cable opened service menu send the factory button and the 3x forward command and changed everything back
thank god for the backup pictures I made

Category: DIY, Info, Linux, Mod´s, Samsung TV | Comments Off on Solved D6200 Reboot loop (EEPROM Reset)