[WIP] custom firmware neogeoX

Page 4 sur 4 Précédent  1, 2, 3, 4

Voir le sujet précédent Voir le sujet suivant Aller en bas

Re: [WIP] custom firmware neogeoX

Message par difool le Dim 29 Nov 2015 - 8:16

continu comme cela Davlar Wink bravo
avatar
difool
Petit X
Petit X

Messages : 12
Date d'inscription : 25/11/2015

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: [WIP] custom firmware neogeoX

Message par davlar le Sam 9 Avr 2016 - 23:05

Je relance le topic Custom firmware X-Community.
Je met mes avancées, en esperant que ça serve à des nouveaux activistes, un peu genre cahier de développement.
Pour l'instant je reproduis les trouvailles d'autres (Ack, horn.c et Steward Fu, ...). Petit à petit je recolle tous les morceau, et le plus important, je partage ça sur le forum pou que ce soit facile pour les prochains.

J'ai acheté un convertisseur USB<->UART. Je peux ainsi prendre la main sur l'OS de la neogeoX, le but pour moi est de taper des commandes et avoir le résultat en direct pour voir si ça marche.

C'est un convertisseur série (rappelez vous les vieux modems 56k) vers USB.

Sur la neogeoX, il y a les pastilles prètes pour souder les 2 fils (émission=TX / réception=RX).
Sur le site de Steward Fu, on voit la version en soudant et en sortant les 2 fils hors de la console:
http://steward-fu.github.io/website/neogeox_sdcard0_uart_connector.htm


Moi je ne veux pas modifier ma console en soudant des fils dessus, j'utilise les pointes de touche sur ressort (pogo pin) pour faire le contact électique.

En gros plan ça donne ça les pogo pin:


Des videos pour voir en action:
https://www.youtube.com/watch?v=XfxvxwSIjrU&list=PLLYfXnnDWRt0yjIZJdJ47BBut-oZQMzpP&nohtml5=False

https://www.youtube.com/watch?v=AX61-6RkXOU&nohtml5=False


Chez moi ça donne ça, le contact est en douceur (sur ressort), je ne raye même pas les pistes::

Et voici le résultat, ça fonctionne. Par contre je suis déçu, je reçois les données mais les commandes que je tape n'ont aucun effet, comme si je pouvais lire mais pas écrire.

boot dingux sur NGX:

��MMC init ok


U-Boot 1.1.6-g5ded7b39-dirty (Dec  4 2012 - 16:27:54)

Board: Umido@SNK (CPU Speed 1020 MHz)
DRAM:  256 MB
Error: Unknown flash ID, force set to 'SST_ID_39SF040'
Flash: 512 kB
NAND:nand_get_flash_type: No NAND device found!!!
NAND device: dev_id: 0x0000 ext_id: 0x000000 not known!
nand_scan: No NAND device found!!!
0 MiB
MMC init ok
*** Warning - MMC/SD first load, using default environment

-=-=-=-= 0x8ff7f000 -=-=-=-
jz4750_lcd.c 1439
usb status is 0
read vbat value is 4050
usb status is 0
SNK go go go!
act8600: Write register --00000080
data: 00000024
act8600: Read register --00000081
data: 00000005
act8600: Write register --00000081
data: 00000081
LCD quick disable timeout!
jz4750_lcd.c 1385
jz4750_lcd.c 1488
pix clk is 12142857
In jz4750fb_deep_set_mode  
pix clk is 12142857
jz4750_lcd.c 1500
LCD quick disable timeout!
pix clk is 12142857
jz4750_lcd.c 1515
usb status is 0
usb status is 0
jz4750_lcd.c 1612
MMC init ok
Linux version 2.6.31.3-g6113b4c-dirty (ugame_hhx@ugame-desktop) (gcc version 4.3.3 (GCC) ) #319 Tue Dec 4 16:29:54 CST 2012
Jz47XX Floating coprocessor work on 32*32bit mode
console [early0] enabled
CPU revision is: 2ed1024f (Ingenic JZRISC)
FPU revision is: 00330000
CPU clock: 1020MHz, System clock: 128MHz, Peripheral clock: 128MHz, Memory clock: 128MHz
JZ4770 F4770 board setup
Power Management for JZ
Determined physical RAM map:
memory: 04000000 @ 00000000 (usable)
User-defined physical RAM map:
memory: 10000000 @ 00000000 (usable)
Zone PFN ranges:
 Normal   0x00000000 -> 0x00010000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
   0: 0x00000000 -> 0x00010000
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 65024
Kernel command line: mem=256M console=ttyS2,57600n8 ip=off root=/dev/mmcblk0p1 ro
PID hash table entries: 1024 (order: 10, 4096 bytes)
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Primary instruction cache 16kB, VIPT, 4-way, linesize 32 bytes.
Primary data cache 16kB, 4-way, VIPT, no aliases, linesize 32 bytes
Memory: 254916k/262144k available (2954k kernel code, 6864k reserved, 1348k data, 152k init, 0k highmem)
SLUB: Genslabs=7, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:384
Console: colour dummy device 80x25
console handover: boot [early0] -> real [ttyS2]
Calibrating delay loop... 814.28 BogoMIPS (lpj=4071424)
Mount-cache hash table entries: 512
NET: Registered protocol family 16
jz_platform_init
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
jz_i2c0 jz_i2c0.0: JZ4760 i2c bus driver.
jz_i2c1 jz_i2c1.1: JZ4760 i2c bus driver.
jz_i2c2 jz_i2c2.5: JZ4760 i2c bus driver.
i2c-gpio i2c-gpio.3: using pins 101 (SDA) and 100 (SCL)
act8600_power:
4 84 1
5 49 1
6 57 0
7 57 1
8 36 1
===>start MSC0 clock
mmc0: No card detect facilities available
mmc0: new high speed MMC card at address 0001
JZ mmc0 driver registered
===>start MSC1 clock!
===>REG_CPM_CLKGR0 = 0x2fddb780
JZ mmc1 driver registered
musb_hdrc: version 6.0, musb-dma, otg (peripheral+host), debug=0
jz4760: Normal mode.
musb_hdrc musb_hdrc.0: DMA IRQ: Shared. DMA Channels: 6.
jz4760: Disable USB PHY.
jz_vbus_hotplug: Registered.
musb_hdrc musb_hdrc.0: USB OTG mode controller at b3440000 using DMA, IRQ 21
NET: Registered protocol family 1
cable state is OFFLINE
msgmni has been set to 498
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler cfq registered (default)
Medive printk:  create proc :  it6610_me!
LCDC: PixClock:12000000
REG_CPM_LPCDR=0x20000023
LCDC: PixClock:12000000
REG_CPM_LPCDR=0x20000023
test kernel argv from uboot start!
JZ4770: Char device core registered.
JZ4770: Virtual Driver of TCSM registered.
init rda5807p
++++++++++++ HP OUT +++++++++++++
REG_CPM_GPUCDR= 0x00000002
GPU CLOCK USE PLL0
GPU GPU_CLK2x= 340 MHz
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
��ɥ���250: ttyS2 at MMIO 0x0 (irq = 3) is a 16550A
loop: module loaded
efuse check OK!
register misc device efuse successed.
jz4770_mii_bus: probed
eth%d: Don't found any phy device at all
jz4770_mac jz4770_mac.0: MII Probe failed!
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
PPP BSD Compression module registered
PPP MPPE Compression module registered
usbmon: debugfs is not available
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
jz-ohci jz-ohci.0: JZ OHCI
jz-ohci jz-ohci.0: new USB bus registered, assigned bus number 1
jz-ohci jz-ohci.0: irq 20, io mem 0x13430000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
g_file_storage gadget: File-backed Storage Gadget, version: 20 November 2008
g_file_storage gadget: Number of LUNs=1
jz4760: Disable USB PHY.
musb_hdrc musb_hdrc.0: MUSB HDRC host driver
musb_hdrc musb_hdrc.0: new USB bus registered, assigned bus number 2
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
jz4760: Enable USB PHY.
jz-gpio-keys: scan interval 20ms
input: JZ GPIO keys as /class/input/input0
input: touchscreen as /class/input/input1
input: JZ Touch Screen registered.
Create vbat proc entry.
WARNING: can NOT get clock 4119!
jz4770-rtc jz4770-rtc: rtc core: registered jz4770-rtc as rtc0
mmcblk0: mmc0:0001 M2G1DE 1.86 GiB
mmcblk0: p1 p2 p3 p4
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
register codec 802adf58
===>enter init_jz_i2s
musb_stage0_irq 759: unhandled DISCONNECT transition (UNDEFINED)
drivers/video/jz4760_lcd.c 3103 avout_ack_timer 1
hdmi out
JZ I2S OSS audio driver initialized
NET: Registered protocol family 17
jz4770-rtc jz4770-rtc: setting system clock to 2010-10-01 12:33:15 UTC (1285936395)
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with writeback data mode.
VFS: Mounted root (ext3 filesystem) readonly on device 179:1.
Freeing unused kernel memory: 152k freed
mkdir: cannot create directory '/boot/local': Read-only file system
mkdir: cannot create directory '/usr/local/': No such file or directory
mkdir: cannot create directory '/usr/local/': No such file or directory
mkdir: cannot create directory '/usr/local/': No such file or directory
mkdir: cannot create dirkjournald starting.  Commit interval 5 seconds
ectory '/usr/local/': NoEXT3-fs: mounted filesystem with writeback data mode.
such file or directory
mkdir: cannot create directory '/usr/local/': No such file or directory
mkdir: cannot create directory '/usr/local/': No such file or directory
/etc/init.d/rcS: line 9: can't create /usr/local/etc/timezone: nonexistent directory
mixer set volume,is external codec 0


boot fw 370:
MMC init ok


U-Boot 1.1.6-g5ded7b39-dirty (Dec  4 2012 - 16:27:54)

Board: Umido@SNK (CPU Speed 1020 MHz)
DRAM:  256 MB
Error: Unknown flash ID, force set to 'SST_ID_39SF040'
Flash: 512 kB
NAND:nand_get_flash_type: No NAND device found!!!
NAND device: dev_id: 0x0000 ext_id: 0x000000 not known!
nand_scan: No NAND device found!!!
0 MiB
MMC init ok
*** Warning - MMC/SD first load, using default environment

-=-=-=-= 0x8ff7f000 -=-=-=-
jz4750_lcd.c 1439
usb status is 0
read vbat value is 4006
usb status is 0
SNK go go go!
act8600: Write register --00000080
data: 00000024
act8600: Read register --00000081
data: 00000005
act8600: Write register --00000081
data: 00000081
LCD quick disable timeout!
jz4750_lcd.c 1385
jz4750_lcd.c 1488
pix clk is 12142857
In jz4750fb_deep_set_mode  
pix clk is 12142857
jz4750_lcd.c 1500
LCD quick disable timeout!
pix clk is 12142857
jz4750_lcd.c 1515
usb status is 0
usb status is 0
jz4750_lcd.c 1612
MMC init ok
Linux version 2.6.31.3-g6113b4c-dirty (ugame_hhx@ugame-desktop) (gcc version 4.3.3 (GCC) ) #319 Tue Dec 4 16:29:54 CST 2012
Jz47XX Floating coprocessor work on 32*32bit mode
console [early0] enabled
CPU revision is: 2ed1024f (Ingenic JZRISC)
FPU revision is: 00330000
CPU clock: 1020MHz, System clock: 128MHz, Peripheral clock: 128MHz, Memory clock: 128MHz
JZ4770 F4770 board setup
Power Management for JZ
Determined physical RAM map:
memory: 04000000 @ 00000000 (usable)
User-defined physical RAM map:
memory: 10000000 @ 00000000 (usable)
Zone PFN ranges:
 Normal   0x00000000 -> 0x00010000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
   0: 0x00000000 -> 0x00010000
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 65024
Kernel command line: mem=256M console=ttyS2,57600n8 ip=off root=/dev/mmcblk0p1 ro
PID hash table entries: 1024 (order: 10, 4096 bytes)
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Primary instruction cache 16kB, VIPT, 4-way, linesize 32 bytes.
Primary data cache 16kB, 4-way, VIPT, no aliases, linesize 32 bytes
Memory: 254916k/262144k available (2954k kernel code, 6864k reserved, 1348k data, 152k init, 0k highmem)
SLUB: Genslabs=7, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:384
Console: colour dummy device 80x25
console handover: boot [early0] -> real [ttyS2]
Calibrating delay loop... 814.28 BogoMIPS (lpj=4071424)
Mount-cache hash table entries: 512
NET: Registered protocol family 16
jz_platform_init
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
jz_i2c0 jz_i2c0.0: JZ4760 i2c bus driver.
jz_i2c1 jz_i2c1.1: JZ4760 i2c bus driver.
jz_i2c2 jz_i2c2.5: JZ4760 i2c bus driver.
i2c-gpio i2c-gpio.3: using pins 101 (SDA) and 100 (SCL)
act8600_power:
4 84 1
5 49 1
6 57 0
7 57 1
8 36 1
===>start MSC0 clock
mmc0: No card detect facilities available
mmc0: new high speed MMC card at address 0001
JZ mmc0 driver registered
===>start MSC1 clock!
===>REG_CPM_CLKGR0 = 0x2fddb780
JZ mmc1 driver registered
musb_hdrc: version 6.0, musb-dma, otg (peripheral+host), debug=0
jz4760: Normal mode.
musb_hdrc musb_hdrc.0: DMA IRQ: Shared. DMA Channels: 6.
jz4760: Disable USB PHY.
jz_vbus_hotplug: Registered.
musb_hdrc musb_hdrc.0: USB OTG mode controller at b3440000 using DMA, IRQ 21
NET: Registered protocol family 1
cable state is OFFLINE
msgmni has been set to 498
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler cfq registered (default)
Medive printk:  create proc :  it6610_me!
LCDC: PixClock:12000000
REG_CPM_LPCDR=0x20000023
LCDC: PixClock:12000000
REG_CPM_LPCDR=0x20000023
test kernel argv from uboot start!
JZ4770: Char device core registered.
JZ4770: Virtual Driver of TCSM registered.
init rda5807p
++++++++++++ HP OUT +++++++++++++
REG_CPM_GPUCDR= 0x00000002
GPU CLOCK USE PLL0
GPU GPU_CLK2x= 340 MHz
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
��ɥ���250: ttyS2 at MMIO 0x0 (irq = 3) is a 16550A
loop: module loaded
efuse check OK!
register misc device efuse successed.
jz4770_mii_bus: probed
eth%d: Don't found any phy device at all
jz4770_mac jz4770_mac.0: MII Probe failed!
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
PPP BSD Compression module registered
PPP MPPE Compression module registered
usbmon: debugfs is not available
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
jz-ohci jz-ohci.0: JZ OHCI
jz-ohci jz-ohci.0: new USB bus registered, assigned bus number 1
jz-ohci jz-ohci.0: irq 20, io mem 0x13430000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
g_file_storage gadget: File-backed Storage Gadget, version: 20 November 2008
g_file_storage gadget: Number of LUNs=1
jz4760: Disable USB PHY.
musb_hdrc musb_hdrc.0: MUSB HDRC host driver
musb_hdrc musb_hdrc.0: new USB bus registered, assigned bus number 2
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
jz4760: Enable USB PHY.
jz-gpio-keys: scan interval 20ms
input: JZ GPIO keys as /class/input/input0
input: touchscree
                 as /class/input/input1
input: JZ Touch Screen registered.
Create vbat proc entry.
WARNING: can NOT get clock 4119!
jz4770-rtc jz4770-rtc: rtc core: registered jz4770-rtc as rtc0
mmcblk0: mmc0:0001 M2G1DE 1.86 GiB
mmcblk0: p1 p2 p3 p4
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
register codec 802adf58
===>enter init_jz_i2s
musb_stage0_irq 759: unhandled DISCONNECT transition (UNDEFINED)
drivers/video/jz4760_lcd.c 3103 avout_ack_timer 1
hdmi out
JZ I2S OSS audio driver initialized
NET: Registered protocol family 17
jz4770-rtc jz4770-rtc: setting system clock to 2010-10-01 14:49:04 UTC (1285944544)
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with writeback data mode.
VFS: Mounted root (ext3 filesystem) readonly on device 179:1.
Freeing unused kernel memory: 152k freed
Warning: unable to open an initial console.
kjournalD�х�ѥ���  Commit interval 5 seconds
EXT3-fs: mounted filesystem with writeback data mode.



Welcome to dingux
Medive printk: write it610 mode is 0
LCD disable timeout! REG_LCD_STATE=0x00000000x
Medive printk: write it610 mode is 0
LCD disable timeout! REG_LCD_STATE=0x00000006x
mixer set volume,is external codec 0
key_open



Dernière édition par davlar le Mer 10 Aoû 2016 - 10:56, édité 1 fois
avatar
davlar
Grand X
Grand X

Messages : 809
Date d'inscription : 15/01/2013
Age : 36
Localisation : rennes

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: [WIP] custom firmware neogeoX

Message par davlar le Jeu 14 Avr 2016 - 23:06

Un lien trouvé sur le net, les mêmes traces capturées avec un convertisseur UART/USB:
https://github.com/HackerFantastic/Public/blob/master/exploits/neogeox.txt

un script python de Carlos Wong
https://github.com/carlos-wong/auto_build_python/blob/master/app_rule.txt

Essayer le clavier dans le doc : http://www.neo-geo.com/forums/showthread.php?239578-NeoGeoX-Hacking-and-Mods/page14

Pour monter toutes les partitions de la console en une ligne (2 en comptant la creation des repertoires):

Code:

mkdir 1 2 3 4

for zag in {1..4}; do INFILE=337aPRO_HD_UB; MOUNTPT=${zag} PARTITION=${zag}; sudo mount "$INFILE" "$MOUNTPT" -o loop,offset=$[ `/sbin/sfdisk -d "$INFILE" | grep "start=" | head -n $PARTITION | tail -n1 | sed 's/.*start=[ ]*//' | sed 's/,.*//'` * 512 ]; done


EDIT : je n'ai pas réussi avec le clavier, à voir en profondeur plus tard.
avatar
davlar
Grand X
Grand X

Messages : 809
Date d'inscription : 15/01/2013
Age : 36
Localisation : rennes

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Page 4 sur 4 Précédent  1, 2, 3, 4

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum