alt64 [release] alternative ED64 Menu for Everdrive 64 plays GB, NES, GG, MSX2 ROMs

Original Post by 


I have good and bad news for you guys. ^^
The bad one is, i’m going to stop working on that menu, but the good one is… you’ll maybe hear from me in conjuction with a new mystical retrogaming project. :D

Young minds, fresh ideas!
If you are interested in improving that menu, feel free to download the source and do whatever you want with it. ^^
Here’s a tutorial sanni made if you need some help to get started.

Tutorial + virtual machines
alt64 v0.186 source
Learn C The Hard Way

Hello everyone,

here is my menu for the ED64, it’s based on libdragon, Neo64Menu, ED64IO, nrage-plugin, lib-hkz, libmikmod and some great help of Krikzz. ^^

-no official support on that from krikzz! don’t blame him on that :D
use it on your own risk


Download 18 Dec 2013:
ALT64 Version

Source v0.1.6:

if you don’t give up until you hold something new in your hands. :D
here is a little update, which let you disable the bootup screen in the config file. ^^
you still need to install all files from the v0.1.8.6 archive, before using this.

update v0.1.8.6 -> v0.1.8.7

enable/disable splash screen

splash_on=0 ;1=enable splash 0=disable splash

Installation hints:
Make sure you have created all neccessary folders by hand

For the Mempak default save dir, it’s possible to change the name in ALT64.ini

Key settings;
L brings up the mempak menu
      B abort
      A backup
      R format
      Z view controller pak
Z about screen
A start rom/directory/mempak
B back/cancel
START start last rom
C-left rom info / mempak content view
C-right rom config  screen
C-up view full filename
C-down Toplist 15

Configuration comments:

Code: [Select]

[ed64] ; Menu config
This is the so called section.
All keys after the section declaration are associated with that
section, until a new one
is defined.

border_color_1=FFFFFFFF ; 0x00000080 RGBT
border_color_2=3F3F3FFF ; 0x3F3F3FFF RGBT 00000060 w light
The border colors are for the thin line around the boxes.

box_color=000000B6 ; 0x00000080 RGBT
This box color is used for the main filelist. The last byte is the
alpha value (transparency level).

selection_color=80008070  ; 80008070 RGBT 6495ED60
This color is used for the cursor line in the fileliste.

list_font_color=CDC9C940  ; 80008070 RGBT 6495ED60
The filelist font color for normal files.

list_dir_font_color=FFFFE040  ; 80008070 RGBT 6495ED60
The filelist font color for directory entries.

selection_font_color=FFB90FFF  ; 80008070 RGBT 6495ED60
The color for the font on to of the cursor line.

text_offset=0 ; shift menu horizontal e.g. -1
This key shifts the screen contet to the left or the right, not only
text, even the boxes.

cd_behaviour=1 ; 0=first entry 1=last entry
You can configure what happens if you leave a directory. The default setting
lets you return with the cursor over the just left directory.

scroll_behaviour=0 ; 0=page-system 1=classic
The scroll behaviour lets you switch between page-wise brwosing and a
pageless filelist.

quick_boot=1 ; 'START' boots last rom
If you disable that key 'START' boots roms like the 'A' button.

sound_on=1 ; sounds 1=on 0=off
If you disable the sound, you might be able to navigate a bit faster.

page_display=1 ; display page - 1=on 0=off
The e.g. '1/4' in front of SD:// on top of the filelist

tv_mode=0 ; 1=ntsc 2=pal 3=mpal 0=force_off
This is the key where you can force the menu to 60Hz if you are on PAL.
It's very useful if you have a RGB modded n64.

enable_colored_list=1 ; 1=enable 0=disalbe
This is the on/off switch for the rating colors in the filelist.
If you have rated a lot of games and have performance issues, try to disable it.

ext_type=0 ; 0=classic 1=OS64
ALT64 classics: e4k,e16,srm,128,fla
 OS64 settings: eep,eep,sra,sra,fla

sd_speed=2 ; 1=25MHz 2=50MHz
50/60Hz SDCard settings just like in the original menu

background_image=background.png ; backgrund png image 320x240 32bit
The name of the wallpaper in '/ED64/WALLPAPER'.

hide_sysfolder=0 ; 1=hide 0=don't hide
With this setting you decide if, you want to hide 'ED64' from the fileliste.

mempak_path=/MEMPAKS/ ; surround with slashes
The default save path for new mempak-backups (when you enter the filename).

save_path=SDSAVE ; save directory inside ED64
If you decide to use your old savegames you could change this to 'SAVE' and
'ext_type' to '1', instead of renaming the files. :>

name = saturnu        ; Username
Maybe it's useful for further customization, but now it's just a leftover
of a example ini. ^^

save_path=/ED64/SDSAVE/ ; save directory surround with slashes
tv_mode=0 ; 1=ntsc 2=pal 3=mpal 0=force_off
The gblite version auf gnuboy64 uses this two entries.
With the 'tv_mode' key you can force 60Hz like the setting for the menu itself.

Working features:
gameshark cheats
mempak restore
mempak backup – with filename input screen
savetyp detection based on a cart-id list
sd speed 25/50MHz
tv-type force
save force
cic force
boot_region force
crc fix
can run gameboy games (Colnes gnuboy64 port)
can run nes games (neon64)
can play gamegear roms
can maybe play msx2 roms
mpk file view
controller pak view
toplist of best rated roms
rom rating


png background loading from the sd card
color settings for the menu
horizontal menu shift
hide sysfolder

Wii dual partition SD card WBFS partition for Homebrew

I have successfully done exactly what you have tried. I have 32GB Sandisk SDHC which
I partitioned into two parts by using the modified 

Windows 7 64x Hitachi Microdrive drivers.

Info on how to install them here.

The first part is 10GB FAT32 and I also formatted the second part into FAT32 (for starters).

Than I put some homebrew (like SDUSBLoader 1.5) into FAT32 partition and put the card into
Wii. It found nicely all my stuff on the card and I started HBC and then SDUSBLoader 1.5.
I selected SD/SDHC as a drive and it said “no wbfs, please format”. I pressed A and
it showed me 10GB and 20GB partitions to select to format. I selected 20GB partition
and after very quick formatting I just started to rip discs [IMG] Worked like a charm for me.
I can also use the FAT32 part with Windows 7 normally.

I’m going to give up this “one card method” though because it’s not very convenient.
1. Windows does not understand at all the partitioning -> Cannot use WBFS Manager.
2. SDUSBLoader (Channel) always proposes first “USB drive” as a drive and I have the
change it to “SD/SDHC”. Small issue but anyways.
3. All (currently available) Wii Menu shortcut game Channels can start games only from HDD.

I’m planning now to use my 16GB SDHC as a “HDD” i.e. use it via USB adapter for WBFS.
Then I’ll use this another 4GB card for homebrew and covers etc.

Hope this has some help for you.

How to Make and Format Removable SD Card into two Partitions Windows 7 64x

I wanted to make two partitions on my Removable SD card in Windows 7 but windows only reads the first partition of a removable device.

After an afternoon of failures I have worked out how to flip the Removable Media Bit (RMB) on usb drives and SDHC cards under a 64 bit install of windows 7.

This is based off the Hitatchi Microdrive trick, but I found a 64 bit compiled version of the driver on some german site. I did not make this driver I just found it.

64 bit Driver here


Part A
First you need to find the name of your USB or SDHC device
run -> regedit -> navigate to:
find the key that matches your device. Right click on the key and click “copy key name”
My SDHC card plugged into a laptop card reader looks like “USBSTOREDisk&Ven_Multiple&Prod_Card__Reader&Rev_1.00”

Part B
unzip the files above and open cfadisk.inf in notepad.
scroll down to the section [cfadisk_device] you will see the line
%Microdrive_devdesc% = cfadisk_install,IDEDiskTS64GCF400__________________________ ____20101008

delete everything after the comma so you are left with
%Microdrive_devdesc% = cfadisk_install,
paste your device string starting from USBSTOR*whatever* into the line just after the comma, no spaces.
you should have something that looks like this
%Microdrive_devdesc% = cfadisk_install,USBSTORDisk&Ven_Multiple&Prod_Card__Reader& Rev_1.00
repeat this process for the section immediately below called 

If you are so inclined you can name your device at the bottom of the file by editing the text in the quotes in the last line after it says 
Microdrive_devdesc = “your device name here”
save the file, you now have a functioning driver.

Part C
You now need to install the driver
Open Device Manager, find your device and chose to update driver.
Tell windows you want to choose your own driver. Point it at your newly saved file.
Windows will bitch and complain that the file is not signed, and not a compatible driver. Proceed anyways.
Once installed you should see the USB device show up as a “Disk Drive”

Note: When I rebooted the first time, windows would not load, this was due to the driver being unsigned. When booting hit F8 to enter the bootloader, and choose to disable driver signing. Alternatively you can disable driver signing by doing the following:

Now type the following
bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS
press Enter:
bcdedit.exe -set TESTSIGNING ON
press Enter:

When you reboot, you should find your USB or SDHC device listed as a fixed disk. You can now partition, make it a dynamic disk, install picky programs that wont run on a removable disk etc.

Regex Regular Expressions – Find and Replace Text With Previous Matched Text That Regex Remembers with ( )

Using Regex to Replace Previous Matched Text

But even more useful is that you can use regex to help with replacing text as well. In the example above, you might want to keep the page numbers but replace the word “Page”. You could use then use something like:
  • Find:
    Page (d+)
  • Replace:
    This is page number 1
This will replace any occurrence of “Page” followed by a number with “This is page” followed by the same number:
  • Before:
    Page 418
  • After:
    This is page 418
The first point to note about this replacement is the use of the regex code (d+) in the Find box. The d+ code tells the search to look for numbers as above. But the use of parenthesis around the code tells the search to remember what those numbers were – to remember anything matched in the parenthesis. The other point to note is the use of the regex code 1 in the Replace box, which tells Replace to substitute the characters remembered in the Find statement for the string 1 wherever it finds it.

Using Regex to Change Formatting

As a further example of regex, this is how you might change the formatting of certain text into chapter headings.
Let’s say that you have an imported HTML file that contains lots of chapter headings, but none of them are marked using the h1 heading tag. Instead they are all marked as paragraphs like this:
<p>CHAPTER 7</p>
Assuming every paragraph like this is a chapter heading, you could use this regex:
  • Find:
  • Replace:
    <h1>Chapter 1</h1>
That’s quite a lot to digest, but if you look carefully you can see that it’s very similar to the Page number example above in that it’s remembering the digits in the chapter name and using them in the replace.
It’s the Find that is the most interesting. It breaks down like this:
  • <p> – Look for a starting paragraph tag.
  • s – Regex code to match any white space (blanks, tabs, etc.).
  • CHAPTER – Match the word CHAPTER (Regex is case-sensitive by default).
  • s – Regex code to match any white space.
  • (d+) – Regex code to match any number of digits in a row and remember them.
  • s – Regex code to match any white space.
  • </p> – Look for an end paragraph tag.
You could just use a space instead of s but s is more flexible since it will match any number of blank spaces and tabs.
So the results of that search could be:
  • Before:
    <p>  CHAPTER    14</p>
  • After:
    <h1>Chapter 14<h1>

Installing and Configuring Subversion (SVN) on Ubuntu Linux

Step 1
Make sure that svn is installed on your web host.  Just ssh into your account and type
which svn
Step 2
Create your repository. Once svn is installed on your host, you can proceed with the repository set up.  Just ssh into your server and create a repository wherever you’d like it.  In my case I put my repository in my user directory.  I would’ve preferred to have it in the root directory, but because it’s a shared host, I don’t have write access to anything outside of my user directory.  To create the repository, issue the following command:
svnadmin create ~/myrepository
Step 3
Create your SVN user: Now that your repository is successfully set up, you’ll need to create an svn user.  Simply open the svnserve.conf file in the editor of your choice:
pico ~/myrepository/conf/svnserve.conf
anon-access = none
auth-access = write
password-db = passwd
pico ~/myrepository/conf/passwd
exampleuser = examplepassword
Step 4
Create a hierarchy for your repository:

This Step is optional.  It’s not needed in order to get svn to work properly, but if you’re planning on keeping multiple projects under revision control, then it’s a good idea to get organized before you start importing those projects.  In my case, I’ll be working on upgrading one of my sites from Drupal 5 to Drupal 6 soon (yes, I know…  I’ve been putting that off too.), so I wanted a trunk for the Drupal 5 project and a trunk for the soon-to-be-upgraded Drupal 6 project.  You can create directories in your repository in almost the same way you create them on your file system, using mkdir.  You’ll need to use svn’s mkdir command though like so: NOTE: Relative paths don’t seem to work here.  svn doesn’t seem to like ‘~’, so remember to start with the root directory (so it’ll look like ‘file:///root/rest/of/path…’.  With three forward slashes.
svn mkdir file:///path to your repository/myrepository/d5
svn mkdir file:///path to your repository/myrepository/d6
svn import /path to your project/myD5project file:///path to your repository/myrepository/d5
svn import /path to your project/myD6project file:///path to your repository/myrepository/d6
Step 5
Run the svn server as daemon:
svnserve -d
Step 6
Check out your repository onto your local machine: Back on your local machine, go to where you keep your nerd stuff.  In my case it’s in ~/workspace.  Then use the svn co command to check out a copy of your project.
cd ~/workspace
svn co svn+ssh://[email protected]/path to repository/myrepository/d6
Step 7
Go get a tasty beverage and rest comfortably in the knowledge that you’ll never have to scp another file again.  Well, except for maybe the occasional mysqldump file…

Install and Enable CGI-BIN on Apache Server for Ubuntu

It’s time to go a little old-school and lay out how to enable the Common Gateway Interface (CGI) for your Apache server. You might be wondering why we need CGI. It’s simple: CGI allows the web server to interact with external programs. These programs can range in purpose and scope, but primarily they help to add dynamic content to a website. Most often these applications are Perl programs with the extension .pl, but CGI execution is not limited to Perl.

Get started with CGI

One of the stumbling blocks most people come up against with CGI is getting their Apache server to recognize the CGI directory and to allow for the execution of commands from within that directory. I will demonstrate this process on a Ubuntu 11.04 server running the latest LAMP stack. For the most part, this LAMP stack is default, so a fresh install of LAMP will do just fine.

Let’s first talk about the directories. If you look in the /var/www (the document root of Apache), you will find a sub-directory called cgi-bin. This is not where your Perl programs and other various files will be placed. Within the /usr/lib/ directory, you will find another cgi-bin directory; it is the repository for your executables. If that directory does not exist, create it with the command: 

$ sudo mkdir /usr/lib/cgi-bin.

Now, make sure the permissions look like this:
drwxr-xr-x  3 root root         4096 2011-11-23 09:08 cgi-bin
Issue the command ls -l /usr/lib | less and scroll to check your directory’s permissions. If it’s not as you see above, issue the following commands:
$ sudo chmod 755 /usr/lib/cgi-bin

$ sudo chown root.root /usr/lib/cgi-bin
Now that your directory is ready, it’s time to configure Apache. Remember, this is Ubuntu, so you will have to make a few simple modifications if you’re using a different distribution with a different take on the Apache web server.

Configure Apache

A directive must be created so Apache knows about CGI — where its directories are located and what it can do. In some Apache configurations, this is done within the httpd.conf file. Because this is Ubuntu, we are going to add the directive to /etc/apache2/apache2.conf
$ sudo nano /etc/apache2/apache2.conf
Open that file with your favorite text editor and, before you add anything, search for this section:
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

<Directory "/usr/lib/cgi-bin">

AllowOverride None

Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch

Order allow,deny

Allow from all

If the above section does not exist, add it in the <Virtualhost *:80> section just above the line:
ErrorLog ${APACHE_LOG_DIR}/error.log
Save that file and be ready to restart Apache. To restart the server, issue the command:
$ sudo service apache2 restart

Test it out

Now it’s time to test this baby out. Let’s create a file (call it, and the file’s contents should be:
#!/usr/bin/perl -w
print "Content-type: text/htmlrnrn";

print "Hello there!<br />nJust testing .<br />n";

for ($i=0; $i<10; $i++)


print $i."<br />";

Save that file in /usr/lib/cgi-bin and give it 755 permissions. Now open that file in your web browser (point the browser to http://IP_OF_SERVER/cgi-bin/ where IP_OF_SERVER is the address of the server), and you should see the following:
Hello there!
Just testing .
If you see that, CGI is working. You can dump your programs into the /usr/lib/cgi-bin/ directory and start using them It’s simple and effective.

Linux: Howto Make a Directory Command

How do I make directory under Linux operating systems using the command prompt or bash shell?

You need to use the mkdir command to create new folders or directories under Linux operating systems. A directory (also known as folder in MS-Windows/OS X) is nothing but a container for other directories and files.

mkdir command Syntax

The mkdir command has the following syntax:

mkdir dirname
mkdir dirname1 dirname2
mkdir [option] dieNameHere
mkdir -p dir1/dir2/dir3


Open a terminal and use the mkdir command to create empty directories. The following command would create a directory called foo:
$ mkdir foo
To list directories, enter:
$ ls
$ ls -l

The following command would create two directories within the current directory:
$ mkdir tom jerry
$ ls -l

The -p option allows you to create parent directories as needed (if parent do not already exits). For example, you can create the following directory structure:
$ mkdir -p ~/public_html/images/trip

Sample mkdir demo

Animated gif 01: mkdir in action under Linux / Unix like operating systems

Animated gif 01: mkdir in action under Linux / Unix like operating systems

How To Use chmod and chown Command

How do I use chmod and chown command under Linux / Unix operating systems?
Use the chown command to change file owner and group information. Use the chmod command to change file access permissions such as read, write, and access.

chown command

chown command changes the user and/or group ownership of for given file. The syntax is:
chown owner-user file
chown owner-user:owner-group file
chown owner-user:owner-group directory
chown options owner-user:owner-group file


First, list permissions for demo.txt, enter:
# ls -l demo.txt
Sample outputs:
-rw-r--r-- 1 root root 0 Aug 31 05:48 demo.txt
In this example change file ownership to vivek user and list the permissions, run:
# chown vivek demo.txt
# ls -l demo.txt

Sample outputs:
-rw-r--r-- 1 vivek root 0 Aug 31 05:48 demo.txt
In this next example, the owner is set to vivek followed by a colon and a group onwership is also set to vivek group, run:
# chown vivek:vivek demo.txt
# ls -l demo.txt

Sample outputs:
-rw-r--r-- 1 vivek vivek 0 Aug 31 05:48 demo.txt
In this example, change only the group of file. To do so, the colon and following GROUP-name ftp are given, but the owner is omitted, only the group of the files is changed:
# chown :ftp demo.txt
# ls -l demo.txt

Sample outputs:
-rw-r--r-- 1 vivek ftp 0 Aug 31 05:48 demo.txt
Please note that if only a colon is given, or if NEW-OWNER is empty, neither the owner nor the group is changed:
# chown : demo.txt
In this example, change the owner of /foo to “root”, execute:
# chown root /foo
Likewise, but also change its group to “httpd”, enter:
# chown root:httpd /foo
Change the owner of /foo and subfiles to “root”, run:
# chown -R root /u
  • -R – Recursively change ownership of directories and their contents.

chmod command

The information about the chmod command is covered in our previous tutorial – “how to use change user rights using chomod command“.

How to Reinstall apache2 properly in linux

If you have issues with apache2 and you want to reinstall it but you are getting errors,then here it isthe solution for you.
For example, me i had an issue with apache, when i tried to start it i got this error message  :
root[email protected]:/etc/apache2# /etc/init.d/apache2   start
.: 45: Can't open /etc/apache2/envvars
Now i want to reinstall apache, but first i need to remove it completely  (If you currently have it removed improperly, reinstall it by “sudo apt-get install apache2″ before to use the command bellow). To do that i will use this command :
 sudo apt-get remove --purge apache2 apache2-utils
This command will completely remove all apache2 configuration files and directories.
– Reinstall again apache using the normal command
sudo apt-get install apache2

Now your config files and directories in /etc/apache2 all be back and at their defaults as well as the “apache2-utils previously removed.

[email protected]:/etc/apache2# /etc/init.d/apache2   start
 * Starting web server apache2                                 
using for ServerName
httpd (pid 7235) already running   [ OK ]

How to take a screen shot on the Samsung Galaxy S III

Capturing the screen is a great way to save something for posterity and show it off to your friends.

You just got your brand new Galaxy S III and you want to capture some of the cool stuff you can do with a screen shot, but it doesn’t work the same way as other Android phones, does it?
If you came to the Galaxy S III from a prior Android phone, you are most likely familiar with the “Android way” of capturing a screen; you hold down the Power button and the Volume down button simultaneously and the screenshot is captured and saved.

Saving a screenshot on the Galaxy S III: Method #1

There are two ways to capture a screenshot on the Galaxy S III; neither of them are the same as previous Android devices. For method #1, think iPhone – that is the button combination that will work on the Galaxy S III.
  1. Find the screen that you want to  capture
  2. Press and holdboth the Power button and the Home button together
  3. Screenshot will be captured and saved to the Gallery app

gallery albums  screen shot

Saving a screenshot on the Galaxy S III method #2

Samsung has built a bunch of innovative “motions” into the Galaxy S III – we will cover them all in time here on Android Central
One of the innovative motions is the ability to use your palm to swipe over the screen to capture a screen shot. This just needs to be enabled in your Settings app.
NOTE: This might already be enable on your Galaxy S III, if not, follow the steps below:
  1. Pull down the Notifications tray and touch the Settings icon or simply go to the Settings app on the Home screen
  2. Scroll down to the Motion tab and tap it
  3. Make sure there is a check mark in the top Motion activation box
  4. Scroll down to Hand motions
  5. Make sure there is a check mark in the Palm swipe to capture box
settings app  hand motions enabled
That’s all there is to it.   From any screen, use the side of your palm and just swipe across the screen.  It doesn’t matter if you go from right to left or left to right – either way will work just fine.
Go to your Gallery app and look in the Screenshots album and you will find the screenshots you just captured.
From there, you can email them, post them to Facebook, send via messaging, upload to Dropbox – whatever works best for you