NeoGeoX Hacking and Mods

ack

Ninja Combat Warrior
15 Year Member
Joined
Apr 9, 2009
Posts
539
This begs the question, why mess around with their os when we could put our own on it?

Not 100% sure what you mean, but I am referring to Ingenic's patched linux kernel. There is no support for their devices in the vanilla linux kernel.

-ack
 

ack

Ninja Combat Warrior
15 Year Member
Joined
Apr 9, 2009
Posts
539
I too am starting to think its hardware based. Probably swapped data lines or something, no idea yet. I popped open the SD card to see whats inside.

The mmc driver is setup in 4bit mode, so maybe they did swap the data lines to the card.

I will make a raw dump of the ninjam sd card from ngx and compare it to the PC dumped image and see if anything shows up for a simple bit swap.

-ack
 

GohanX

Horrible Goose
20 Year Member
Joined
Sep 28, 2001
Posts
12,511
I knew exactly what it was :D I've had a few RX-7's, with a 84 SE in my driveway right now.

Now back to your regularly scheduled Neo Geo thread...
 

SSS

neo retired
Joined
Sep 27, 2002
Posts
10,771
So.. I took mine apart with the intention of soldering in the joypad components from a Neo Geo CD controller. Unfortunately, the CD pad assembly and switches are too tall.
 

TurboRotary13b

Crossed Swords Squire
Joined
Dec 27, 2012
Posts
187
I totally don't mean to derail this thread, but I've literally attempted to join this forum 10+ times in the last month.. Every time I sign up (with the exact same user name mind you) I will have access for a few days, and then I have to reregister.. This is the first time that it has actually allowed me to post anything, but it still restricts me from doing everything else.. I've tried E-mailing admins, and all kinds of shit, to no avail. If any of the admins frequenting this thread could help me I would be very grateful.
 

NEO-GEO man

Fake account, shill troll for Christophe Ratel. Us
Joined
Aug 26, 2006
Posts
2,050
How long til someone puts in a screen with the correct aspect ratio?
 

BloodShed

New Challenger
Joined
Dec 26, 2012
Posts
51
The WP switch on the side is not connected to anything.
Actually, that's true for all SD cards. It's just a plastic slider. The card reader is supposed to recognize the position. It's the same design as the "write protection" on floppies and cassette tapes.

Great picture. A quick search suggests that the Samsung K9F120800B chip is a standard 64MB NAND flash chip. Nothing special. There should be an I/O controller under that black seal. That might be where they're blocking write access or simply, it's not wired up for it.
 

Ozfer

n00b
Joined
Dec 25, 2012
Posts
19
Code:
int get_tfcard_state()
{// addr = 0x00413618  --  defined in 'src/input.c' at line 168
    char[19] tfcard_state;                 // _cfa_ffffffe8
    intOrPtr _v4;                          // _cfa_fffffffc
    intOrPtr _v8;                          // _cfa_fffffff8
    int temp_draw_tf_card;                 // _cfa_ffffffe4
    FILE* _v32;           // _cfa_ffffffe0
    intOrPtr _v40;                         // _cfa_ffffffd8
    intOrPtr _t72;                         // _t72
    _unknown_ _t73;                        // _t73

    __sp = __sp + -56;
    _v4 = __ra;
    _v8 = _t72;
    _t73 = __sp;
    _v40 = 0x32928 + __t9;
    if(tfcard_fp != 0) {
        rewind(tfcard_fp);
        fgets( &temp_draw_tf_card, 20, tfcard_fp);
        if(strstr( &temp_draw_tf_card, 0x42999c) == 0) {
            _v32 = 1;
        } else {
            _v32 = 0;
            tf_card_open = 0;
            if(game_card_init_ok != 0) {
                deinit_game_card_conf();
            }
            fclose(tfcard_fp);
            tfcard_fp = 0;
        }
    }
    _t73 = _t73 + 56;
    return _v32;
}

Thats GREAT NeoTurfMasta for the picture of the sd card here is the complete samsung info sheet for that 64MB sd card

http://www.alldatasheet.com/datasheet-pdf/pdf/83764/SAMSUNG/K9F1208U0B.html

From what that sheet says on page 41, is that the card contains an identification mode. The device it is connected to sends a 90h signal to it followed by 00h and four read cycles output the manufacture code to the device. This may mean as stated earlier in this thread the neo geo x does a check to see if it is the right card+device before allowing it to be mounted. This would explain why all of our other cards are not working.

Also with the different card modes and pin layouts it may prevent writing to the card. Maybe that datasheet will shed some light on the external card situation!
 

distropia

SouthTown StreetSweeper
10 Year Member
Joined
Apr 28, 2010
Posts
1,075
I find that "unsoldered chip" space near the microSD intriguing.
 

ack

Ninja Combat Warrior
15 Year Member
Joined
Apr 9, 2009
Posts
539
The mmc driver is setup in 4bit mode, so maybe they did swap the data lines to the card.

I will make a raw dump of the ninjam sd card from ngx and compare it to the PC dumped image and see if anything shows up for a simple bit swap.

-ack

So the 4 data pins are backwards.

1000 => 0001
1100 => 0011
etc

I wrote a little program that will decode the pc dumped ninjam based on this info.

http://www.gotwalls.com/neogeox/neogeox_sd_decode.c

Code:
# gcc -o neogeox_sd_decode neogeox_sd_decode.c

# ls -l
total 64596
-rwxr-xr-x 1 root root     9010 Dec 29 21:54 neogeox_sd_decode
-rw-r--r-- 1 root root     2776 Dec 29  2012 neogeox_sd_decode.c
-rw-r--r-- 1 root root 66125824 Dec 29 20:27 pc-ninjam.img

# md5sum pc-ninjam.img 
d30b280d6ca0cbf5c8f64aa6c7572f6e  pc-ninjam.img

# file pc-ninjam.img 
pc-ninjam.img: data

# ./neogeox_sd_decode pc-ninjam.img decoded.img
Written: 66125824
done

# file decoded.img 
decoded.img: x86 boot sector; partition 1: ID=0x1, starthead 1, startsector 39, 129145 sectors, extended partition table (last)\011, code offset 0x0

This decoded file has the same md5 has the dump I made of the sd card on the ngx.

But this doesn't really help much. If was just swapped data pins making a dd copy on a pc would work.

There is also something screwy with the partition table of the image, the ending sector of the partition is past the end of the device/image.

edit: the partition thing probably isn't worth looking into. The ngx bitches about it too in my dmesg output on page 14 of this thread.
jim
 
Last edited:

Retrogamer

Troller of Old Men,
20 Year Member
Joined
Apr 1, 2002
Posts
2,188
Hey guys long time.

I am highly impressed with the speed and ease that you guys have shown in dissecting the x to its bare bones both physically and binary. From what you have gathered so far does it look like it will be easy to soft mod, without dissecting the unit in the near future? Or is it too soon to tell?
This would be great, especially for those who have units with soldered memory.
 

NeoTheranthrope

Basara's Blade Keeper
Joined
Nov 4, 2003
Posts
3,676
jdZR9.gif


(Nothing to contribute per-se, but awesome thread guys!)
 

ack

Ninja Combat Warrior
15 Year Member
Joined
Apr 9, 2009
Posts
539
NTM,

I am curious your thoughts on this, since its way more up your alley then mine.

The sd pin out for 4bit mode is the following

1 = DATA3
2 = COMMAND
3 = GROUND
4 = POWER
5 = CLOCK
6 = GROUND
7 = DATA0
8 = DATA1
9 = DATA2

We know that the ninjam sd card is functional (but scrambled data) when put into a PC. That should mean all the all the non-ground pins are wired correctly within in the card? Is it feasible they could do something like this on the internal wiring of the ninjam sd card?

1 = DATA3
2 = COMMAND
3 = GROUND
4 = POWER
5 = CLOCK
6 = CLOCK
7 = DATA0
8 = DATA1
9 = DATA2

Then on the ngx card reader change the pin out such that its supplying the CLOCK on pin 6 and nothing on pin 5. This would allow the ninjam sd card to work, while a normal sd wouldn't because its expecting the CLOCK on pin 5.

-ack
 

Dion

Known Scammer, NeoGeoFreak Co-Founder
Joined
Aug 24, 2000
Posts
2,070
Sorry to break it to you, but this...

neo.jpg


...is THIS...

Atari_TV_Games_boite.jpg
 

rEdBuLl

n00b
Joined
Dec 29, 2012
Posts
3
so do we know whats in the conf file? is it pointing to the info on the card to tell it the game that is inserted or is it just info on screen size?... Ive had no luck on DD working on my card I dont know what Ive done wrong.

Just look at the quote, the content of the conf is there.

Specifically this:

Code:
$ cat game_card_configure.conf 
card_game_work_path=/mnt/mmc/card_game/
card_game_number=1

Hi guys, I'm new here. I used to own a NG back in 2003, but I sold it when I got a good offer. Now I also have an X at home to bring back the good old memories. Amazing finds you made! Keep up the good work :kekeke:
 

NEO-GEO man

Fake account, shill troll for Christophe Ratel. Us
Joined
Aug 26, 2006
Posts
2,050
Sorry to break it to you, but this...

neo.jpg


...is THIS...

Atari_TV_Games_boite.jpg

Yep... And MAME, Kawaks, NeoRageX or Nebula are still free ;)

If it had a 4:3 aspect screen on it i could understand the efforts, but it doesnt, so i cant. Still, its their time and their money, their business, and its not hurting anyone other than the people that developed this very poorly thought out emulator, so i wont judge them for doing what they enjoy :)
 

hatch

n00b
Joined
Feb 8, 2002
Posts
15
Hi,

I have downloaded the A380 firmware image, extracted the partitions from it and wrote them back to the NGX sd. To my surprise, I now have Dingux / Dmenu booting, but with display problems. Inputs and sound is working though, so I hope this is fixable via configuration files. Any suggestions?



Uploaded with ImageShack.us

Cheers,
Martin
 
Joined
Nov 10, 2012
Posts
30
Hi,

I have downloaded the A380 firmware image, extracted the partitions from it and wrote them back to the NGX sd. To my surprise, I now have Dingux / Dmenu booting, but with display problems. Inputs and sound is working though, so I hope this is fixable via configuration files. Any suggestions?



Uploaded with ImageShack.us

Cheers,
Martin

Very nice. I'm going to have to try this when I get a chance. Great work!
 
Joined
Dec 29, 2012
Posts
1
Hi all, I'm really psyched to be here after two whole weeks of trying to register. Glad someone just got dingux booting, that's a pretty major step! The display issue is just a matter of time, most likely just a difference in LCD drivers.

I have a quick question for someone with an open unit; does the trace for the 'USB_5v' pad on the board lead directly to the micro-usb port? It's the one in the top-middle of this picture:
IMG_0279_zps5c09e0d2.jpg


P.s. I understand the need for the whole mod approval thing, but it took sooooo long & so many tries for me. To make matters worse, I couldn't get in contact with any mod, the email addresses are not public & you can't even view the 'contact us' page without being logged in. Just something to think about, thank you for approving my account =]
 
Top