您尚未登录。

#603 2021-10-20 16:46:19

IsaacJ
会员
注册时间: 2021-06-23
已发帖子: 4
积分: 8

Re: 研究FC3000掌機的開源可行性

@司徒  兄
我後來測試換了兩張記憶卡,一樣還是空卡無法正常開機。
研究了一下我發現這兩張卡之前都有寫入過ips_fc3000_v1.img,雖然後來有清除分區重新格式化,還是有問題。
原本使用的分區軟體是minitools partition magic, 後來使用DiskGenius也是同樣清況,最後使用SD CARD Formatter才終於恢復正常。

最近编辑记录 IsaacJ (2021-10-21 13:52:26)

离线

#604 2021-10-21 00:28:10

hox
会员
注册时间: 2020-02-17
已发帖子: 37
积分: 30.5

Re: 研究FC3000掌機的開源可行性

@司徒  最近入了一个 FC3000 V2, 说是 IPS 屏,拆机发现屏的型号是 T2812-M106-024C-7D , 网上查得驱动 IC 型号为 HX8347, 不知是否对你有帮助

离线

楼主 #605 2021-10-21 11:22:03

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@IsaacJ
感謝告知~

@hox
感謝你的訊息,我會找時間看下~

离线

#606 2021-10-21 18:52:00

lzgame02
会员
注册时间: 2021-07-08
已发帖子: 35
积分: 41.5

Re: 研究FC3000掌機的開源可行性

@司徒

Q8 最近出了很多套娃 , 小霸王Q4 , 還有的是改屏大小的 , 換彩色殼的
問過商家了 , 都是複合式的設計 , AV 端子那個輸出 , 都可以接耳機(2.5mm , 3.5mm) 的

Q8 不清楚能不雙打 , 有的似乎可以 , 但應該是特殊搖桿 , 一般的 PSx 搖桿應該不成

离线

楼主 #607 2021-10-28 21:29:05

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

哈~司徒好久沒上來更新了,主要原因是在等待FC3000的IPS屏,如今已經到貨,司徒大約測試一下,發現沒有燒屏,看似不錯,司徒接著會嘗試點屏,如果順利,司徒就會將屏的規格告訴大家,如果最後失敗,那司徒只能繼續使用原本的TFT屏幕~


收到貨才發現排線是反的
1_20211028-2115.jpg


司徒手邊剛好沒有24PIN上接,因此,只好使用45PIN上接代替,這部份玩家可以用延長排線解決,所以問題不大
2_20211028-2115.jpg


原本24PIN下接
3_20211028-2116.jpg


解焊
4_20211028-2116.jpg


上電後,沒有燒掉,終於可以開始點屏了~
5_20211028-2116.jpg

离线

#608 2021-10-28 22:47:35

hox
会员
注册时间: 2020-02-17
已发帖子: 37
积分: 30.5

Re: 研究FC3000掌機的開源可行性

@司徒
我之前买的 V2,和你发的屏外观也不一样,因此主控 IC 的信息可能有误,说明一下避免误导哈;
PS:  我肉眼目测屏不是 IPS 的,用先前 tft_v1_v2 的固件也点不亮,暂时没折腾了

离线

楼主 #609 2021-10-29 07:02:43

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@hox
好的~感謝告知

离线

楼主 #610 2021-10-30 09:33:17

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

商人的花招,司徒真是不敢恭維,屏,最後終於點亮,不過,仔細一看才發現不是IPS,詢問後,商家才說我沒有註明IPS,這...真是高招!加上這個屏是8bits且腳位的順序需要做FPC修正,成本以及難度都大大增加,因此,司徒最後決定不搞IPS屏的更換,所以,將會繼續使用原本的屏幕做系統~


正面
1_20211030-0927.jpg


下邊
2_20211030-0927.jpg


側面
3_20211030-0928.jpg


上邊(這個屏的品質真是...)
4_20211030-0928.jpg


側邊
5_20211030-0928.jpg

离线

楼主 #611 2021-10-30 20:55:26

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

更新項目:
1. FC3000 DPAD改造
2. FC3000 L2R2改造
3. FC3000 草食系統測試版


FC3000草食系統下載位置:https://github.com/steward-fu/fc3000/releases/download/v1.1/veganos_pocketgo_20211030.img.7z


草食系統不在支援雙重開機選單,也就是不在支援官方系統,取得代之,司徒把這些多餘的腳位用來改造L2R2按鍵,剛好趁這個機會,司徒也順便改造一下FC3000掌機的十字鍵,使用3D印表機打印一個墊高支撐架,讓手感更好一些,過程說明如下~


OpenSCAD程式代碼

$fn = 100;
 
difference(){
  union(){
    cylinder(5, 4, 2);
    translate([0, 0, 4.7]){
      sphere(2);
    }
  }
  translate([0, 0, -1.5]){
    sphere(3.5);
  }
}

預覽圖
1.jpg


列印後
2.jpg
3.jpg


直接插入即可卡住
4.jpg


墊高部份
5.jpg


接著司徒說明一下如何改造L2R2按鍵,由於,司徒超怕落塵,因此,先拆掉擋板,這樣比較方便找尋擺放按鍵的位置
1.jpg
2.jpg


原本位置如下,缺點是跟其它按鍵太過接近
3.jpg


接著找尋更好的位置
4.jpg


感覺不錯
5.jpg


漂亮
6.jpg


可以使用的GPIO
7.jpg


腳位
8.jpg


跳線
9.jpg


按鍵測試
10.jpg


R2鍵
11.jpg


L2鍵
12.jpg


堪用的機器
13.jpg

离线

#612 2021-11-04 09:41:39

9990次想她
会员
注册时间: 2021-11-04
已发帖子: 5
积分: 5

Re: 研究FC3000掌機的開源可行性

司徒先生,我用 Win32DiskImager 燒入 fc3000_v1_v2_flash.img檔 後  fc3000 開機黑屏,沒有升級的選擇畫面,然後用原機卡开機,也是黑屏了。。。

离线

#613 2021-11-04 10:37:12

hox
会员
注册时间: 2020-02-17
已发帖子: 37
积分: 30.5

Re: 研究FC3000掌機的開源可行性

9990次想她 说:

司徒先生,我用 Win32DiskImager 燒入 fc3000_v1_v2_flash.img檔 後  fc3000 開機黑屏,沒有升級的選擇畫面,然後用原機卡开機,也是黑屏了。。。

是不是 FC3000 v2, 目测你是不支持的屏,开机黑屏,但升级功能是正常的,你肯定按到 SELECT 或 START 升级按钮了;司徒前面有说的,如果是黑屏的话是不支持的屏,不要按升级键,你只能去找一下原厂固件,看能不能恢复了

离线

楼主 #614 2021-11-04 12:15:54

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

如果開機是黑屏,代表是不支援的屏,請不要繼續操作~如果不小心刷了,可以翻翻前面的貼子,看看有無機會救回來~

离线

#615 2021-11-04 17:24:06

huanxing
会员
注册时间: 2021-06-27
已发帖子: 19
积分: 18.5

Re: 研究FC3000掌機的開源可行性

前段时间忙好久没关注了,看到LR2出来了,司徒大哥真给力!我抽点时间整理下,到时分享下小横米改加LR2键的试案

离线

#616 2021-11-04 17:40:18

9990次想她
会员
注册时间: 2021-11-04
已发帖子: 5
积分: 5

Re: 研究FC3000掌機的開源可行性

请问有原厂固件吗?能分享一个给我吗?感谢。。。

离线

#617 2021-11-04 17:40:57

9990次想她
会员
注册时间: 2021-11-04
已发帖子: 5
积分: 5

Re: 研究FC3000掌機的開源可行性

@hox
我的机子是V1的。

离线

#618 2021-11-04 17:58:36

9990次想她
会员
注册时间: 2021-11-04
已发帖子: 5
积分: 5

Re: 研究FC3000掌機的開源可行性

@hox
我拆开看了一下,我屏幕上的编号是RB411-11A G021E。

离线

#619 2021-11-04 19:10:00

9990次想她
会员
注册时间: 2021-11-04
已发帖子: 5
积分: 5

Re: 研究FC3000掌機的開源可行性

我的机器救回来了。。。刷的IPS-FC3000-V1.IMG。换言之,我这台机器就是IPS的屏8个模拟器的V1。是这样吗?也就是说,要用司徒大神的固件刷机,目前是不可能的,我这样理解对吗?

离线

#620 2021-11-04 21:02:24

IsaacJ
会员
注册时间: 2021-06-23
已发帖子: 4
积分: 8

Re: 研究FC3000掌機的開源可行性

9990次想她 说:

@hox
我拆开看了一下,我屏幕上的编号是RB411-11A G021E。

我的也是V1 IPS屏,屏幕編號RB411-11A G022A,上面板子寫35Pto24P
IMG_20211104_210435.jpg

最近编辑记录 IsaacJ (2021-11-04 21:06:56)

离线

楼主 #621 2021-11-05 07:06:04

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@huanxing
好的,感謝~

@9990次想她
對,目前你的那款屏幕,不支援~

离线

#622 2021-11-06 12:45:06

lzgame02
会员
注册时间: 2021-07-08
已发帖子: 35
积分: 41.5

Re: 研究FC3000掌機的開源可行性

司徒 说:

如果開機是黑屏,代表是不支援的屏,請不要繼續操作~如果不小心刷了,可以翻翻前面的貼子,看看有無機會救回來~

Q8 應該可以拿 Miyoo Bitboy v2 CFW 來改吧
LCD 驅動換下 , 按鍵配置修復 , 那 CFW 應該就能用吧 .....

看 Github Miyoo 上 discord 有老外成功搞定螢幕了 ...
系統版本可能是 v1.2 or v1.6 其中一個 , 聽說這機子有三個版本 ......

屏的驅動可能在這裡 or discord  上(關鍵字 xyc q8) :

https://drive.google.com/drive/folders/15F4P9uKCGn5lPhkMSBVke8pjMkTMdbTm
or
http://drive.google.com/drive/folders/1sHdBiyfWhgUOLh0SCPZ73H3el6t1NCuJ

BitBoy v2 CFW
https://rs97.bitgala.xyz/Miyoo%20Devices/Bittboy%20cfw/

@司徒 有沒興趣整個一版 CFW 出來

Bitboy v2 CFW

最近编辑记录 lzgame02 (2021-11-07 09:22:48)

离线

#623 2021-11-07 12:57:37

yugaosi
会员
注册时间: 2021-11-07
已发帖子: 6
积分: 6

Re: 研究FC3000掌機的開源可行性

q8把能刷的包都刷了一遍。老外的也刷了(那个谷歌云盘费我好大劲才下载下来),屏幕没花,但是画面反着的,然后控制方向和按键错位,也没法用。xyc q8还是没法整了,个人就是好奇刷着玩。看到大佬们有提到就被吸引过来了。

离线

#624 2021-11-07 12:59:44

yugaosi
会员
注册时间: 2021-11-07
已发帖子: 6
积分: 6

Re: 研究FC3000掌機的開源可行性

还有就是@lzgame02发的链接,我试过了。。依旧不行。

离线

#625 2021-11-07 17:01:15

lzgame02
会员
注册时间: 2021-07-08
已发帖子: 35
积分: 41.5

Re: 研究FC3000掌機的開源可行性

@yugaosi

第一個 Google 雲盤的連結中有 screen fix , 還有附上兩張圖
那兩張圖沒反 , 這機子聽說有三種屏版本 , 看起來有些能用有些不行 ....

离线

楼主 #626 2021-11-07 22:04:47

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@lzgame02 @yugaosi
目前沒有打算繼續開發Q8部份, 最主要的原因是, 我已經把它丟掉了~

离线

#627 2021-11-07 22:49:33

yugaosi
会员
注册时间: 2021-11-07
已发帖子: 6
积分: 6

Re: 研究FC3000掌機的開源可行性

@司徒 。。。是cpu超频灭了吧?大佬威武。

离线

楼主 #628 2021-11-08 11:25:20

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@yugaosi
哈~不是,只是手上機器太多,把一些不重要的丟掉而已~

离线

#629 2021-11-08 23:39:06

abiao
会员
注册时间: 2021-11-08
已发帖子: 0
积分: 0

Re: 研究FC3000掌機的開源可行性

该评论内容与本帖子无关,鼓励各位坑友积极发言讨论与帖子有关的内容!

离线

  • 不通过:其他

#630 2021-11-14 18:47:57

walter
会员
注册时间: 2021-11-14
已发帖子: 1
积分: 1

Re: 研究FC3000掌機的開源可行性

该评论内容与本帖子无关,鼓励各位坑友积极发言讨论与帖子有关的内容!

离线

  • 不通过:其他

楼主 #631 2021-11-21 16:25:59

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

更新項目:
1. TRIMUI L2R2改造
2. TRIMUI 草食系統測試版

TRIMUI草食系統下載位置https://github.com/steward-fu/trimui/releases/download/v1.3/veganos_trimui_20211121.img.7z


雖然司徒最近比較忙碌一點,不過,作為司徒寨機旅程的最後一站,司徒還是希望可以把這三台寨機(小橫米、TRIMUI、FC3000)作到一定的質量,因此,即使一年的開發時間到期,如果還沒有達到司徒要求,司徒還是會延續開發週期,然而~因為重新寫了很多新東西,因此,進度比較緩慢,建議可以一個月來看一下進度就可以,接著司徒說明 下TRIMUI L2、R2的改機說明~


尋得一塊風水寶地
1.jpg


標記位置
2.jpg


拆掉NAND FLASH
3.jpg


L2、R2使用的腳位
4.jpg


上按鍵
5.jpg


跳線
6.jpg


鑽孔,右邊竟然算錯位置...
7.jpg


完成
8.jpg


按鍵高度可以購買符合需求的高度
9.jpg


開啟L2R2
10.jpg


測試按鍵
11.jpg


R2
12.jpg


L2
13.jpg


10年一見的高CP值開源掌機
14.jpg

离线

#632 2021-11-27 11:13:34

haistart
会员
注册时间: 2020-01-05
已发帖子: 11
积分: 1

Re: 研究FC3000掌機的開源可行性

司徒大神,简直是教育界的劳模!

离线

#633 2021-11-30 13:16:59

huanxing
会员
注册时间: 2021-06-27
已发帖子: 19
积分: 18.5

Re: 研究FC3000掌機的開源可行性

哈。看到TRIMUI有振动马达项!:)

离线

#634 2021-11-30 13:43:08

zh_tao518
会员
注册时间: 2021-04-17
已发帖子: 6
积分: 1

Re: 研究FC3000掌機的開源可行性

确实不错,怎么找不到在哪里下载呢?

离线

#635 2021-12-03 19:50:00

tt556
会员
注册时间: 2021-10-07
已发帖子: 16
积分: 16

Re: 研究FC3000掌機的開源可行性

司徒大佬,你好,我想问下你研究过开源掌机能玩ps2的有可能吗?目前硬件水平都不差了,对于20年前的游戏机来说按道理可以模拟出来的。网上很少有研究这个的。

离线

楼主 #636 2021-12-04 08:13:02

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@haistart
感謝支持

@huanxing
TRIMUI並沒有支援振動馬達,因此,這個選項是灰色,也就是無法開啟

@tt556
之前只有簡單看過PS2模擬器源代碼,知道該模擬器有針對SSE、GPU部份做優化,如果要移植到ARM晶片,這部份可能要先解決,最快方式可以用模擬在模擬方式換取,雖然有ARM版本的PCSX2模擬器,不過似乎沒有看到相關源代碼,至於你說的問題,是否可能移植到開源掌機?答案是一定可行的,只是效能問題~

离线

#637 2021-12-06 09:01:26

lzgame02
会员
注册时间: 2021-07-08
已发帖子: 35
积分: 41.5

Re: 研究FC3000掌機的開源可行性

@司徒

Aethersx2 , 用 apk decompiler , 運氣好可能可以獲取到源代碼
不然就要等作者釋出,聽說是這一兩個月內,如果不是忽悠的話

离线

楼主 #638 2021-12-06 11:00:25

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@lzgame02
恩,有看到這個模擬器,大約看了下主要core只有一個,位於lib/arm64-v8a/libemucore.so,大小是10.2MB,其餘兩個比較特別的文件夾是(gx_dx11, gs_opengl),裡面有一些源代碼,看來應該是有一些動態編譯技術,你或許可以研究下接口,從classes.dex逆向看接口的使用方式,這樣你或許有機會可以直接使用在RK3326上面~


檔案格式(全部寫在一起,沒有其它相依元件,佛心~)

$ file lib/arm64-v8a/libemucore.so
  lib/arm64-v8a/libemucore.so: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=c0271fd2edb2c3c2452bd3ab904d04e2efbb79ae, stripped

$ aarch64-linux-gnu-readelf -d libemucore.so | grep NEED
 0x0000000000000001 (NEEDED)             Shared library: [libEGL.so]
 0x0000000000000001 (NEEDED)             Shared library: [libdl.so]
 0x0000000000000001 (NEEDED)             Shared library: [liblog.so]
 0x0000000000000001 (NEEDED)             Shared library: [libOpenSLES.so]
 0x0000000000000001 (NEEDED)             Shared library: [libandroid.so]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so]
 0x000000006ffffffe (VERNEED)            0xfb4c
 0x000000006fffffff (VERNEEDNUM)         3

使用NDK方式,因此,可以使用C語言串接此接口

JNI_OnLoad
pthread_key_create
JNI_OnUnload
Java_xyz_aethersx2_android_NativeLibrary_getScmVersion
Java_xyz_aethersx2_android_NativeLibrary_getFullScmVersion
Java_xyz_aethersx2_android_NativeLibrary_initialize
Java_xyz_aethersx2_android_NativeLibrary_refreshGameList
Java_xyz_aethersx2_android_NativeLibrary_getGameListEntries
Java_xyz_aethersx2_android_NativeLibrary_getGameListEntry
Java_xyz_aethersx2_android_NativeLibrary_isBIOSAvailable
Java_xyz_aethersx2_android_NativeLibrary_runVMThread
Java_xyz_aethersx2_android_NativeLibrary_stopVMThreadLoop
Java_xyz_aethersx2_android_NativeLibrary_isVMPaused
Java_xyz_aethersx2_android_NativeLibrary_pauseVM
Java_xyz_aethersx2_android_NativeLibrary_resetVM
Java_xyz_aethersx2_android_NativeLibrary_applySettings
Java_xyz_aethersx2_android_NativeLibrary_reloadGameSettings
Java_xyz_aethersx2_android_NativeLibrary_changeDisc
Java_xyz_aethersx2_android_NativeLibrary_setDisplayAlignment
Java_xyz_aethersx2_android_NativeLibrary_hasValidRenderSurface
Java_xyz_aethersx2_android_NativeLibrary_changeSurface
ANativeWindow_fromSurface
Java_xyz_aethersx2_android_NativeLibrary_loadStateSlot
Java_xyz_aethersx2_android_NativeLibrary_saveStateSlot
Java_xyz_aethersx2_android_NativeLibrary_setFrameLimitEnabled
Java_xyz_aethersx2_android_NativeLibrary_toggleFrameLimit
Java_xyz_aethersx2_android_NativeLibrary_toggleSoftwareRenderer
Java_xyz_aethersx2_android_NativeLibrary_getPadButtonIndex
Java_xyz_aethersx2_android_NativeLibrary_getPadAxisIndex
Java_xyz_aethersx2_android_NativeLibrary_setPadButton
Java_xyz_aethersx2_android_NativeLibrary_setPadAxis
Java_xyz_aethersx2_android_NativeLibrary_setDefaultSettings
_ZNSt6__ndk19to_stringEj
Java_xyz_aethersx2_android_NativeLibrary_setDefaultSettingsToIni
Java_xyz_aethersx2_android_NativeLibrary_getBIOSDescription
Java_xyz_aethersx2_android_NativeLibrary_reloadPatches
Java_xyz_aethersx2_android_NativeLibrary_addOSDMessage
Java_xyz_aethersx2_android_NativeLibrary_addKeyedOSDMessage

OpenGL and Vulkan

eglInitialize
eglGetError
eglQueryString
eglGetDisplay
eglGetProcAddress
eglGetCurrentContext
eglMakeCurrent
eglDestroySurface
eglQuerySurface
eglSwapBuffers
eglSwapInterval
eglCreateWindowSurface
eglCreatePbufferSurface
eglGetConfigAttrib
eglDestroyContext
eglGetCurrentSurface
eglChooseConfig
eglBindAPI
eglCreateContext

glCreateShader
glDeleteShader
glUniform4f
glVertexAttrib4Nbv
glEndConditionalRender
glUniform4ui
glDrawElementsInstancedBaseVertex
glSamplerParameterfv
glQueryCounter
glVertexAttribP1ui
glVertexAttribP3ui
glTexCoordP4uiv
glMultiTexCoordP4uiv
glUniform2dv
glGetSubroutineUniformLocation
glUniformSubroutinesuiv
glProgramUniformMatrix3dv
glProgramUniformMatrix2x3dv
glClearBufferData
glInvalidateBufferSubData
glShaderStorageBlockBinding
glTransformFeedbackBufferBase
glMapNamedBufferRange
glNamedFramebufferTextureLayer
glClearNamedFramebufferfi
glTextureParameterfv
glCreateProgramPipelines

vkCreateDisplayModeKHR
vkCreateFence
vkGetPipelineCacheData
vkResetDescriptorPool
vkCmdCopyImageToBuffer
vkCmdFillBuffer
vkCmdResolveImage

元件

libdl.so
LIBC
libm.so
libc.so
LIBC_N
libEGL.so
liblog.so
libOpenSLES.so
libandroid.so
libemucore.so

有趣的字串(Rockchip)

DynGenFunc *_DynGen_EventTest(bool)
/home/user/p2-arm-gp/3rdparty/wxwidgets3.0/include/wx/log.h
/home/user/p2-arm-gp/3rdparty/wxwidgets3.0/src/common/hashmap.cpp
/home/user/p2-arm-gp/3rdparty/wxwidgets3.0/src/common/zipstrm.cpp
/home/user/p2-arm-gp/3rdparty/wxwidgets3.0/src/common/time.cpp
/home/user/p2-arm-gp/3rdparty/vixl/src/aarch64/macro-assembler-aarch64.cc
Android (7714059, based on r416183c1) clang version 12.0.8 (https://android.googlesource.com/toolchain/llvm-project c935d99d7cf2016289302412d708641d52d2f7ee)
Linker: LLD 12.0.8 (/buildbot/src/android/llvm-r416183/out/llvm-project/lld c935d99d7cf2016289302412d708641d52d2f7ee)
/tmp/GS_HW_dump32/
fcma
Samsung
Nvidia
Rockchip
bool VMManager::Initialize(const VMBootParameters &)
VM is shutdown
PCSX2.index.gzip.v1|

這模擬器不是憑空出世,從這些資訊來看應該是針對Android平台花了蠻長的時間製作,因此,如果是有OpenGL支援的平台,如:RK3326,應該是有很大的機會可以搬上去~

离线

#639 2021-12-06 13:07:01

智囊
会员
注册时间: 2021-12-06
已发帖子: 1
积分: 1

Re: 研究FC3000掌機的開源可行性

慕名而来,认真学习。YYDS~~~

离线

#640 2021-12-12 07:25:44

fullniz
会员
注册时间: 2021-09-17
已发帖子: 11
积分: 9.5

Re: 研究FC3000掌機的開源可行性

snk模拟器怎么没有任何进展了是不是忙别的去了
原先还隔几天或一星期修正不能模拟的rom
期待100%那一天

离线

楼主 #641 2021-12-12 20:11:43

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@fullniz
目前還是持續專注在RK模擬器以及草食系統的開發上,沒有參與其它東西,只是改了相當多的東西,也寫了很多新東西,只是開發初期,問題確實相當多,因此,花了很多時間在除錯上以及架構調整上,新的架構確實沒有我想像中的好,尤其是性能變成負優化,不過,我還是希望可以把這顆ARM9晶片作到一個最好的狀態,因此,還是會繼續花費時間在這個項目上,我估計還需要一段時間才會有成果出來,這些時間,請大家去玩玩其它機器,有好的成果時,我會更新~感謝大家的關注~

离线

#642 2021-12-19 09:26:07

大园丁
会员
注册时间: 2021-12-19
已发帖子: 1
积分: 1

Re: 研究FC3000掌機的開源可行性

报告司徒大佬,fc3000的IPS版正式开卖了,如果能成功开源的话,这个外观和价格或将大洗牌开源圈子,期待司徒大佬研究一下,前线消息汇报完毕,小的告退~

离线

楼主 #643 2021-12-20 10:53:55

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@大园丁
了解,感謝告知,不過目前確實沒有時間去研究FC3000 IPS部分,我目前必須先把RK整合完畢,等以後有時間再看研究FC3000 IPS~

离线

#644 2021-12-20 21:55:09

vjcmain
会员
注册时间: 2020-10-02
已发帖子: 13
积分: 7.5

Re: 研究FC3000掌機的開源可行性

该评论内容与本帖子无关,鼓励各位坑友积极发言讨论与帖子有关的内容!

离线

  • 不通过:其他

#645 2021-12-22 19:32:53

lzgame02
会员
注册时间: 2021-07-08
已发帖子: 35
积分: 41.5

Re: 研究FC3000掌機的開源可行性

@司徒

喵到可能比 TRIMUI 搞的還小的機子出現啦 .....
牙膏狗 , 看來後續可能又有新貨可繼續搞了 .....

https://www.youtube.com/watch?v=tfo33IcMMYA YGG 掌機

最近编辑记录 lzgame02 (2021-12-22 19:45:36)

离线

楼主 #646 2021-12-24 13:46:42

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@lzgame02
感謝你的資訊~

牙膏狗的作品我蠻久以前就注意到,就知道的資訊來看(應該是使用F1C200S),確實很用心在做,不過,比較值得說的是他的背後那個人,此人頗有來歷~這個人就是Miyoo第一代的作者,當初我移植Linux系統上Miyoo掌機,導致此人沒有了這個項目的收入,確實讓我相當內疚,而且剛好我跟他都是被謝工迫害的兩個人,於是,我們兩個成了好朋友,我也再次跟他道歉,害他沒有收入,他人相當好,並沒有再次怪罪,後來的Miyoo閃屏問題,我也是詢問他的意見,然後再加上"MiyooCROM"這位作者的解說,最終才知道解法,所以,牙膏狗的掌機,我是不會去碰的~畢竟,移植開源系統到掌機上,可能讓方案商沒了工作~最終自己只會惹來一身腥~

离线

#647 2021-12-24 15:21:43

bigbigcong
会员
注册时间: 2021-09-03
已发帖子: 16
积分: 10.5

Re: 研究FC3000掌機的開源可行性

司徒大佬,请问你是台湾的吗?还是香港的啊?

离线

楼主 #648 2021-12-24 16:19:14

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@bigbigcong
台灣

离线

#649 2021-12-25 07:30:50

lzgame02
会员
注册时间: 2021-07-08
已发帖子: 35
积分: 41.5

Re: 研究FC3000掌機的開源可行性

@司徒

那還是等 POWKIDDY Q36 好了
1.5" 左右的 , PS1 也跑的順 .... ^^

离线

#650 2021-12-30 20:50:04

lzgame02
会员
注册时间: 2021-07-08
已发帖子: 35
积分: 41.5

Re: 研究FC3000掌機的開源可行性

@司徒

前面文章有提到 RS-90 ....
這好像最近有出 RetroArch Cross Platform for RS-90
官網有

离线

楼主 #651 2021-12-31 07:41:48

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@lzgame02
了解~

此帖先暫時停止更新~

离线

#652 2022-01-08 19:17:44

geekchun
会员
注册时间: 2020-11-11
已发帖子: 50
积分: 30

Re: 研究FC3000掌機的開源可行性

由于买不到司徒大大同款的q8掌机,所以我在司徒大大的源码基础上,对我的q8掌机屏幕进行了驱动移植,我的屏幕排线如图
lcd.jpg
q8.jpg
固件发出来和大家分享,感谢司徒大大的开源代码:D
链接:https://pan.baidu.com/s/19snjAws6KQ8AXpDDyKzs_g
提取码:r2yy

离线

#653 2022-01-08 19:40:43

lzgame02
会员
注册时间: 2021-07-08
已发帖子: 35
积分: 41.5

Re: 研究FC3000掌機的開源可行性

@geekchun

這是指有換過屏還是沒有呢 ?
這機子聽說有三種屏 ....

最近编辑记录 lzgame02 (2022-01-08 19:44:27)

离线

#654 2022-01-08 21:37:59

geekchun
会员
注册时间: 2020-11-11
已发帖子: 50
积分: 30

Re: 研究FC3000掌機的開源可行性

lzgame02 说:

@geekchun

這是指有換過屏還是沒有呢 ?
這機子聽說有三種屏 ....

我这个某鱼收来的,就用的原来的屏

离线

#655 2022-01-08 21:51:02

lzgame02
会员
注册时间: 2021-07-08
已发帖子: 35
积分: 41.5

Re: 研究FC3000掌機的開源可行性

geekchun 说:
lzgame02 说:

@geekchun

這是指有換過屏還是沒有呢 ?
這機子聽說有三種屏 ....

我这个某鱼收来的,就用的原来的屏

測試後可用 .... 不過好像找不到調整音量的地方 ....
感謝司徒與geekchun 啦 ...

最近编辑记录 lzgame02 (2022-01-08 22:23:45)

离线

#656 2022-01-08 22:36:26

geekchun
会员
注册时间: 2020-11-11
已发帖子: 50
积分: 30

Re: 研究FC3000掌機的開源可行性

@lzgame02
你说的问题我这也存在,建议多换几张卡试下
我这里几张卡也有一张32G不行的,其他的没问题

离线

#657 2022-01-08 22:38:12

lzgame02
会员
注册时间: 2021-07-08
已发帖子: 35
积分: 41.5

Re: 研究FC3000掌機的開源可行性

geekchun 说:

@lzgame02
你说的问题我这也存在,建议多换几张卡试下
我这里几张卡也有一张32G不行的,其他的没问题

對 , 卡在開機畫面真的換卡就成了 ....
或是一直重開機 , 會有成功的一次 , 然後就好了 ...

不過好像找不到調整音量的地方 ....

最近编辑记录 lzgame02 (2022-01-08 22:38:38)

离线

#658 2022-01-08 23:55:54

lzgame02
会员
注册时间: 2021-07-08
已发帖子: 35
积分: 41.5

Re: 研究FC3000掌機的開源可行性

@geekchun

測試後基本上操作都正常 , 離開的組合鍵要自行測試找出
音量沒有發現統一調整的APP , 似乎只能在個別的模擬器選單中調整 ....
硬體面板上的音量按鈕變成了其他輔助功能的樣子 .....

离线

#659 2022-01-10 17:47:50

masahiko
会员
注册时间: 2021-06-24
已发帖子: 10
积分: 16

Re: 研究FC3000掌機的開源可行性

@geekchun
q8韌體更新成功, 感謝你提供的固件

离线

#660 2022-01-22 14:31:49

yugaosi
会员
注册时间: 2021-11-07
已发帖子: 6
积分: 6

Re: 研究FC3000掌機的開源可行性

感谢大神们的研发

离线

#662 2022-02-13 04:26:53

8000945
会员
注册时间: 2022-02-13
已发帖子: 6
积分: 6

Re: 研究FC3000掌機的開源可行性

司徒大佬,Q8那個兩個包可不可以帶上遊戲整合成進去。包裏面自帶的【F:\emus\fba-a320\roms\】三國戰紀和西遊記可以運行,但我別的地方下載的無法運行。
【F:\Images\】帶著許多遊戲的預覽圖,是否它最開始是整合了所有遊戲的。
可不可以弄個帶著這些遊戲的包。

离线

#663 2022-02-13 04:30:24

8000945
会员
注册时间: 2022-02-13
已发帖子: 6
积分: 6

Re: 研究FC3000掌機的開源可行性

如何給司徒寄掌機?我有個69的掌機,自帶的系統可以跑合金彈頭1245X,但跑不了合金彈頭3,跑不了三國戰紀和西遊記。但是拳皇2000和2003可以跑。
感覺上和Q8差不多,如何寄給司徒?希望可以幫著弄個系統包

离线

#664 2022-02-13 05:03:31

8000945
会员
注册时间: 2022-02-13
已发帖子: 6
积分: 6

Re: 研究FC3000掌機的開源可行性

@geekchun
大哥,Q8掌机另一个包能不能也弄一下,另个包界面更好看。
或者说一下哪个路径哪个文件是显示驱动,

最近编辑记录 8000945 (2022-02-13 05:03:56)

离线

#665 2022-02-17 09:57:02

jck0430
会员
注册时间: 2022-02-13
已发帖子: 2
积分: 2

Re: 研究FC3000掌機的開源可行性

特意前来支持司徒大大,加油

离线

#666 2022-02-18 15:50:10

hydize
会员
注册时间: 2022-02-14
已发帖子: 1
积分: 1

Re: 研究FC3000掌機的開源可行性

前来支持下。顺便问一下,司徒大神提供的miyoo包和gpsp_fix_tearing那个模拟器按键不一致有修复吗?现在还在用江西恐龙的包,不知道是不是心里作用,感觉显示有点伤眼……

离线

#667 2022-02-22 22:56:17

波贺顺顺
会员
注册时间: 2021-07-07
已发帖子: 12
积分: 6

Re: 研究FC3000掌機的開源可行性

该评论内容与本帖子无关,鼓励各位坑友积极发言讨论与帖子有关的内容!

离线

  • 不通过:其他

楼主 #668 2022-03-05 17:27:04

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@geekchun
感謝分享~

@lzgame02
Q8音量並沒有實做在Kernel, 因此, 需要User Application自己去管理音效裝置

@8000945
很抱歉我盡量不放ROM在GitHub, 因此,無法整合遊戲包, 另外, Q8我沒有在研究了, 不用寄機器給我~

@jck0430
感謝支持~

@hydize
這部份需要你自己確認下~



此帖最後更新通知
司徒最近剛從深山修行出來~意識到此帖太過複雜且很多東西都混在一起,因此,司徒決定要拆帖~把接下來的東西,拆成各自獨立的開源帖子,所以,還是會繼續搞F1C100S/F1C200S~ARM9是一個里程碑,如果可以讓它跑出極致效能,那將會是一個很棒的成果(對我個人來說),當然,這些都是偏研究樂趣為主,如果真要玩遊戲,司徒還是真心建議去玩PSP, PSV, N3DS掌機,另外,不要再說我又拿了全志好處~


由於接下來的開源帖子都是以草食系統為製作方向,屬於全新製作,因此,司徒目前已經將手上的源代碼(FC3000, 小橫米, TRIMUI)都開源出來了,有興趣研究的玩家可以從如下位置下載:
Kernel、UBoot、Mininit源代碼https://github.com/steward-fu/fc3000/releases/tag/source
FC3000編譯步驟https://github.com/steward-fu/fc3000
小橫米編譯步驟https://github.com/steward-fu/pocketgo
TRIMUI編譯步驟https://github.com/steward-fu/trimui
FC3000恐龍包https://github.com/steward-fu/fc3000/releases/download/v1.0/fc3000_tft_od_jckl_no_roms.img.7z
FC3000老外包https://github.com/steward-fu/fc3000/releases/download/v1.0/fc3000_tft_od_jutleys_no_roms.img.7z
小橫米恐龍包https://github.com/steward-fu/pocketgo/releases/download/v1.0/pocketgo_od_jckl_no_roms.img.7z
小橫米老外包https://github.com/steward-fu/pocketgo/releases/download/v1.0/pocketgo_od_jutleys_no_roms.img.7z
TRIMUI恐龍包https://github.com/steward-fu/trimui/releases/download/v1.0/trimui_od_jckl_no_roms.img.7z
TRIMUI老外包https://github.com/steward-fu/trimui/releases/download/v1.0/trimui_od_jutleys_no_roms.img.7z
Toolchainhttps://github.com/steward-fu/miyoo/releases/download/v1.0/toolchain.7z
Buildroot Confighttps://github.com/steward-fu/miyoo/releases/download/v1.0/devel.zip


作為結帖,司徒說明一下源代碼的一些移植需要注意的地方,方便有興趣的玩家可以快速入手
Kernel
1. 配置統一使用arch/arm/configs/suniv_defconfig,DeviceTree位於如下位置:

arch/arm/boot/dts/pocketgo.dts
arch/arm/boot/dts/trimui.dts
arch/arm/boot/dts/fc3000.dts

2. FC3000, 小橫米, TRIMUI共用一份Kernel, 使用變數區隔(由CMDLINE在編譯時帶入)
init/main.c

int suniv_variant=0;
// 0: 小橫米
// 1: TRIMUI
// 2: FC3000

3. 按鍵驅動位於:drivers/input/keyboard/suniv-keypad.c,如果要打印按鍵訊息,開啟如下配置

#define DEBUG_LOG 1

P.S. 按鍵的處理,由suniv_variant判斷是要處理哪台機器(小橫米, TRIMUI, FC3000)

4. 屏幕背光、馬達驅動位於:drivers/pwm/pwm-suniv.c,馬達控制使用IOCTL方式控制

#define VMOTOR_ENABLE _IOWR(0x100, 0, unsigned long)
#define VMOTOR_SET    _IOWR(0x101, 0, unsigned long)

控制裝置/dev/vmotor

  alloc_chrdev_region(&major, 0, 1, "vmotor");
  myclass = class_create(THIS_MODULE, "vmotor");
  device_create(myclass, NULL, major, NULL, "vmotor");
  cdev_init(&mycdev, &myfops);
  cdev_add(&mycdev, major, 1);

  switch(suniv_variant){
  case 1:
    break;
  case 2:
    break;
  default:
    pin = (32 * 4) + 12;
    break;
  }
  do_gpio_request(pin);

5. 電池量測驅動位於:drivers/power/supply/suniv-battery.c
6. 顯示驅動位於:drivers/video/fbdev/sunivfb.c,由suniv_variant判斷是要處理哪台機器(小橫米, TRIMUI, FC3000)
小橫米、TRIMUI的顯示是60FPS,FC3000因為沒有手冊,所以速度有待調整

 759   if(suniv_variant == 0){
 760     writel((0xf << 28) | (6 << 0), iomm.lcdc + TCON_CLK_CTRL_REG);
 761   }
 762   else if(suniv_variant == 2){
 763     //writel((0xf << 28) | (63 << 0), iomm.lcdc + TCON_CLK_CTRL_REG);
 764     writel((0xf << 28) | (127 << 0), iomm.lcdc + TCON_CLK_CTRL_REG);
 765   }

目前4個Layer全用上,使用者可以直接DMA映射填充像素,速度可以大大提昇

 849   writel((uint32_t)(par->vram_phys + 320*240*2*0) << 3, iomm.debe + DEBE_LAY0_FB_ADDR_REG);
 850   writel((uint32_t)(par->vram_phys + 320*240*2*1) << 3, iomm.debe + DEBE_LAY1_FB_ADDR_REG);
 851   writel((uint32_t)(par->vram_phys + 320*240*2*2) << 3, iomm.debe + DEBE_LAY2_FB_ADDR_REG);
 852   writel((uint32_t)(par->vram_phys + 320*240*2*3) << 3, iomm.debe + DEBE_LAY3_FB_ADDR_REG);
 853 
 854   writel((uint32_t)(par->vram_phys + 320*240*2*0) >> 29, iomm.debe + DEBE_LAY0_FB_HI_ADDR_REG);
 855   writel((uint32_t)(par->vram_phys + 320*240*2*1) >> 29, iomm.debe + DEBE_LAY1_FB_HI_ADDR_REG);
 856   writel((uint32_t)(par->vram_phys + 320*240*2*2) >> 29, iomm.debe + DEBE_LAY2_FB_HI_ADDR_REG);
 857   writel((uint32_t)(par->vram_phys + 320*240*2*3) >> 29, iomm.debe + DEBE_LAY3_FB_HI_ADDR_REG);

為了解決閃屏,User Application必須映射DMA,然後自己控制Layer輸出

 315 static void flip_lcd(struct myfb_par *par)
 316 {
 317 #if 0
 318   static uint32_t report=0;
 319  
 320   if((report++ % 60) == 0){
 321     printk("%s, vsync\n", __func__);
 322   }
 323 #endif
 324   suniv_clrbits(iomm.lcdc + TCON_INT_REG0, (1 << 15));
 325   suniv_clrbits(iomm.lcdc + TCON_CTRL_REG, (1 << 31));
 326   
 327   if(par->lcdc_ready){
 328     if(suniv_variant == 0){
 329       lcdc_wr_cmd(0x2c);
 330     }
 331     
 332     if(par->app_virt->yoffset == 0){
 333       suniv_setbits(iomm.debe + DEBE_MODE_CTRL_REG, (1 << 8));
 334       suniv_clrbits(iomm.debe + DEBE_MODE_CTRL_REG, (1 << 9));
 335       suniv_clrbits(iomm.debe + DEBE_MODE_CTRL_REG, (1 << 10));
 336       suniv_clrbits(iomm.debe + DEBE_MODE_CTRL_REG, (1 << 11));
 337     }
 338     else if(par->app_virt->yoffset == 240){
 339       suniv_clrbits(iomm.debe + DEBE_MODE_CTRL_REG, (1 << 8));
 340       suniv_setbits(iomm.debe + DEBE_MODE_CTRL_REG, (1 << 9));
 341       suniv_clrbits(iomm.debe + DEBE_MODE_CTRL_REG, (1 << 10));
 342       suniv_clrbits(iomm.debe + DEBE_MODE_CTRL_REG, (1 << 11));
 343     }
 344     else if(par->app_virt->yoffset == 480){
 345       suniv_clrbits(iomm.debe + DEBE_MODE_CTRL_REG, (1 << 8));
 346       suniv_clrbits(iomm.debe + DEBE_MODE_CTRL_REG, (1 << 9));
 347       suniv_setbits(iomm.debe + DEBE_MODE_CTRL_REG, (1 << 10));
 348       suniv_clrbits(iomm.debe + DEBE_MODE_CTRL_REG, (1 << 11));
 349     }
 350     else if(par->app_virt->yoffset == 720){
 351       suniv_clrbits(iomm.debe + DEBE_MODE_CTRL_REG, (1 << 8));
 352       suniv_clrbits(iomm.debe + DEBE_MODE_CTRL_REG, (1 << 9));
 353       suniv_clrbits(iomm.debe + DEBE_MODE_CTRL_REG, (1 << 10));
 354       suniv_setbits(iomm.debe + DEBE_MODE_CTRL_REG, (1 << 11));
 355     }
 356   }
 357   suniv_setbits(iomm.debe + DEBE_REGBUFF_CTRL_REG, (1 << 0));
 358   suniv_setbits(iomm.lcdc + TCON_CTRL_REG, (1 << 31));
 359   
 360   par->app_virt->vsync_count+= 1;
 361   wake_up_interruptible_all(&wait_vsync_queue);
 362 }

有實做VSYNC

 147 static int wait_for_vsync(struct myfb_par *par)
 148 { 
 149   uint32_t count = par->app_virt->vsync_count;
 150   long t = wait_event_interruptible_timeout(wait_vsync_queue, count != par->app_virt->vsync_count, HZ / 10);
 151   return t > 0 ? 0 : (t < 0 ? (int)t : -ETIMEDOUT);
 152 }

支援FBIO_WAITFORVSYNC

1027 static int myfb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg)
1028 {
1029   struct myfb_par *par = info->par;
1030 
1031   switch(cmd){
1032   case FBIO_WAITFORVSYNC:
1033     wait_for_vsync(par);
1034     break;

如果玩家想修改以符合自己的FC3000屏,可以修改如下:

237 static void fc3000_gpio_init(void)

593 static void fc3000_lcd_init(void)

7. 音效驅動位於:sound/soc/suniv/dac.c,小橫米因為音效致能跟UART綁在一起,如果要開啟UART列印,可以打開

53 #define POCKETGO_USE_EARPHONE 1

UBoot
1. 司徒把UBoot, boot.scr, zImage, dtb都寫到啟動磁區,避免被誤刪,位置如下:
fs/fs.c

22 #include "hex_dtb.h"
23 #include "hex_boot.h"
24 #include "hex_kernel.h"

568   len_read = sizeof(hex_boot);
569   memcpy((void*)0x80c50000, (void*)hex_boot, sizeof(hex_boot));
570   memcpy((void*)0x80c00000, (void*)hex_dtb, sizeof(hex_dtb));
571   memcpy((void*)0x80008000, (void*)hex_kernel, sizeof(hex_kernel));

2. 啟動參數位置:param.cmd


mininit
1. mininit是用來載入rootfs.squashfs,傳統方式使用Partition方式(不正常斷電容易發生卡崩)
2. 開啟Debug Log

16   #define dbg(...) LOG("<14>", __VA_ARGS__)


最後,感謝大家對於此帖的熱情回復,司徒感謝大家的支持,期望開源可以發展的越來越好~

离线

#669 2022-03-05 19:31:38

geekchun
会员
注册时间: 2020-11-11
已发帖子: 50
积分: 30

Re: 研究FC3000掌機的開源可行性

感谢司徒先生的付出!

离线

#670 2022-03-06 01:41:37

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

专门注册帐号来支持一下司徒大神!

说起来有缘,我是在咸鱼找开源掌机才找到这里来的。

看到司徒大神的无私奉献甚是感动。

顺手在咸鱼收了一台 68RMB 的 FC3000v1 2G 。

SD 卡刷了 fc3000_tft_od_jutleys_no_roms.img.7z 启动黑屏(估计并非司徒大神兼容的屏了)。

sad 当时还没来翻司徒大神的帖,被我乱按过按键,不知道有没被刷坏。

后来发现断电后拔卡可以进入系统。

等抽空拆机研究一下。

这两天把司徒大神发的帖基本看完,也刚发现 FC3000 已经开源了。

有空可以尝试一下适配我手上的屏。

离线

#671 2022-03-06 04:27:47

fullniz
会员
注册时间: 2021-09-17
已发帖子: 11
积分: 9.5

Re: 研究FC3000掌機的開源可行性

司徒达人,我严格按照着小橫米編譯步驟:
https://github.com/steward-fu/pocketgo

到Build kernel的最后一步./run.sh pocketgo 报错如下:
error.png
然后我尝试修改run.sh里面的CROSS_COMPILE=arm-linux-gnueabihf- 为arm-linux-也好像不对
error2.png

离线

楼主 #672 2022-03-06 10:24:30

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@kendling
感謝支持

@fullniz
感謝回報問題~

第一個問題,需要安裝gcc-arm,使用如下方式安裝

$ sudo apt-get install gcc-arm* -y

至於第二個問題,是缺少bc,使用如下方式安裝

$ sudo apt-get install bc -y

使用arm-linux-gnueabihf-或者arm-linux-編譯都可以使用,不過,我本意是使用miyoo toolchain,晚點會更新kernel.tar.gz檔案,感謝~

离线

楼主 #673 2022-03-06 16:23:09

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

司徒竟然忘記說明超頻的部份...
DRAM超頻是在UBoot設定,CPU超頻則可以在User Application設定(如:GMenu2X),如下說明:

UBoot (DRAM)
arch/arm/mach-sunxi/dram_suniv.c

 56 // 156, 168, 192, 204, 216, 228, 240, 252
 57 struct dram_para suniv_dram_para = {
 58   .size = 32,
 59   .clk = 156,
 60   .access_mode = 1,
 61   .cs_num = 1,
 62   .ddr8_remap = 0,
 63   .sdr_ddr = DRAM_TYPE_DDR,
 64   .bwidth = 16,
 65   .col_width = 10,
 66   .row_width = 13,
 67   .bank_size = 4,
 68   .cas = 0x3,
 69 };

目前預設是跑156MHz,玩家可以加壓測試DRAM的超頻~


為了避免超頻導致UBoot無法開機,司徒有做按下按鍵即可回復到156MHz的保護,超過252MHz的判斷記得拿掉~

407 static void do_dram_init(struct dram_para * para)
408 {
409   u8 m;
410   u32 val;
411   struct sunxi_ccm_reg * const ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
412 
413   val = readl(SUNXI_PIO_BASE + (4 * 0x24) + 0x00) & 0xfffff0ff;
414   writel(val, SUNXI_PIO_BASE + ((4 * 0x24) + 0x00));
415   writel(0x00000010, SUNXI_PIO_BASE + ((4 * 0x24) + 0x1c));
416   udelay(5000);
417   m = readl(SUNXI_PIO_BASE + (4 * 0x24) + 0x10) & 4;
418   if(m == 0){
419     printf("(use default 156MHz)");
420     para->clk = 156;
421   }
422 
423   if((para->clk < 156) || (para->clk > 252)){
424     printf("(adjust dram clock from 0x%x to 156MHz)", para->clk);
425     para->clk = 156;
426   }
427 
428   printf("%d MHz,", para->clk);

CPU
GMenu2X CPU超頻修正:https://github.com/steward-fu/trimui/releases/download/v1.2/gmenunx_fix_oc.zip
直接Map Register(0x01c20000)做設定就可以,

876 void GMenu2X::hwInit() {
 877 #if defined(TARGET_GP2X) || defined(TARGET_WIZ) || defined(TARGET_CAANOO) || defined(TARGET_RS97) || defined(TARGET_MIYOO)
 878   memdev = open("/dev/mem", O_RDWR);
 879   if (memdev < 0) WARNING("Could not open /dev/mem");
 880 #endif
 881 
 882   if (memdev > 0) {

 900     memregs = (uint32_t*)mmap(0, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, memdev, 0x01c20000);

 902     if (memregs == MAP_FAILED) {
 903       ERROR("Could not mmap hardware registers!");
 904       close(memdev);
 905     }
 906   }

2474     uint32_t x, v;
2475     uint32_t total=sizeof(oc_table)/sizeof(uint32_t);
2476 
2477     for(x=0; x<total; x++){
2478       if((oc_table[x] >> 16) >= mhz){
2479         memregs[0] = (1 << 31) | (oc_table[x] &  0x0000ffff);
2480         break;
2481       }
2482     }
2483     INFO("Set CPU clock: %d(0x%08x)", mhz, v);

离线

#674 2022-03-06 21:16:13

fullniz
会员
注册时间: 2021-09-17
已发帖子: 11
积分: 9.5

Re: 研究FC3000掌機的開源可行性

司徒能再介绍下怎么Build rootfs吗,
Build rootfs (remember configure filesystem as squashfs)
download buildroot-2018.02.9 from https://buildroot.org
use config_buildroot-2018.02.9(in miyoo repo) and then make it
是用uboot里面的.config吗?
make menuconfig里的选项哪些需要改动,我就照着教程改了2个
toolchain改成custom,/opt/miyoo,FIlesytem images改成squashfs
但是make过不了哈

离线

#675 2022-03-06 23:25:19

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

@司徒

大神,我在走 FC3000 的编译流程。遇到些问题:

环境:
系统:Debian 11
GCC:gcc 10.2
toolchain:toolchain.7z 解压到 ./opt/miyoo
GCC-ARM: sudo apt install 'gcc-arm-*'
PATH:export PATH=$PATH:/opt/miyoo/bin

1. Kernel
在执行 ./run.sh fc3000 命令之后报以下错误:

/usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition of `yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status

我在 https://blog.csdn.net/qq_36393978/article/details/117695708 找到解决方法。
修改 scripts/dtc/dtc-lexer.lex.c_shipped 文件,把 YYLTYPE yylloc; 一行改成 extern YYLTYPE yylloc; (在前面增加 extern)。

改后顺利编译完成。

2. UBoot
A) 我看到 UBoot 里的 run.sh 文件调用了 bin2header 命令,apt 仓库和 toolchain.7z 都找不到这个程序。
我在 https://github.com/spacerace/bin2header.git 仓库找到了匹配  run.sh 文件里调用方法的源代码编译了一个。

B) UBoot 也有 multiple definition of `yylloc'; 的问题,修改方法同上。

C)

Error: arch/arm/dts/.suniv-f1c100s-licheepi-nano.dtb.pre.tmp:45.1-10 syntax error
FATAL ERROR: Unable to parse input tree

这次在 https://blog.csdn.net/wanpengpenga/article/details/122313358 找到解决方法。
修改 scripts/Makefile.lib 文件的 321 行,

(cat $<; $(if $(u_boot_dtsi),echo '\#include "$(u_boot_dtsi)"')) > $(pre-tmp); \

把 echo 后面的 \# 改成 #

D)

ERROR:root:code for hash md5 was not found.
Traceback (most recent call last):
  File "/opt/miyoo/lib/python2.7/hashlib.py", line 147, in <module>
    globals()[__func_name] = __get_hash(__func_name)
  File "/opt/miyoo/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
    raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type md5
ERROR:root:code for hash sha1 was not found.
Traceback (most recent call last):
  File "/opt/miyoo/lib/python2.7/hashlib.py", line 147, in <module>
    globals()[__func_name] = __get_hash(__func_name)
  File "/opt/miyoo/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
    raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha1
ERROR:root:code for hash sha224 was not found.
Traceback (most recent call last):
  File "/opt/miyoo/lib/python2.7/hashlib.py", line 147, in <module>
    globals()[__func_name] = __get_hash(__func_name)
  File "/opt/miyoo/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
    raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha224
ERROR:root:code for hash sha256 was not found.
Traceback (most recent call last):
  File "/opt/miyoo/lib/python2.7/hashlib.py", line 147, in <module>
    globals()[__func_name] = __get_hash(__func_name)
  File "/opt/miyoo/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
    raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha256
ERROR:root:code for hash sha384 was not found.
Traceback (most recent call last):
  File "/opt/miyoo/lib/python2.7/hashlib.py", line 147, in <module>
    globals()[__func_name] = __get_hash(__func_name)
  File "/opt/miyoo/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
    raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha384
ERROR:root:code for hash sha512 was not found.
Traceback (most recent call last):
  File "/opt/miyoo/lib/python2.7/hashlib.py", line 147, in <module>
    globals()[__func_name] = __get_hash(__func_name)
  File "/opt/miyoo/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
    raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha512

这个网上搜了一下,貌似是 miyoo 工具链的 Python 没有链接 OpenSSL 的问题。


大神,这是需要更新工具链还是说可以修改一下调用系统的 Python 环境?

另外: run.sh 脚本里的 make 命令的参数 -j4 改成 -j 可以让 make 程序自动适配 CPU 核心数。

离线

楼主 #676 2022-03-07 07:16:37

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@fullniz
buildroot編譯步驟可以參考:https://steward-fu.github.io/website/handheld/miyoo/build_buildroot.htm
如果你是使用外部toolchain,要記得選擇glibc作為相容(除非是musl),還需要知道你toolchain對應的kernel header版本,可以參考這篇:https://whycan.com/t_3177.html

$ cd
$ wget https://github.com/steward-fu/miyoo/releases/download/v1.0/devel.zip
$ unzip devel.zip -d devel
$ wget https://buildroot.org/downloads/buildroot-2018.02.9.tar.gz
$ tar xvf buildroot-2018.02.9.tar.gz
$ cp devel/config_buildroot-2018.02.9 buildroot-2018.02.9/.config
$ cd buildroot-2018.02.9
$ make -j

P.S. make menuconfig => 把filesystem改成squashfs


@kendling
目前我的編譯環境都是基於Debian 9和Debian 10,Debian 11換成了GCC 10.x,看來有很多相容問題,建議使用Debian 10作為編譯環境,可以省去一些問題,也感謝提供make -j資訊~

离线

#677 2022-03-07 09:44:54

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

@司徒

gcc 10 的问题已经解决了,最后是使用 miyoo 的工具链出问题了:

ERROR:root:code for hash md5 was not found.
Traceback (most recent call last):
  File "/opt/miyoo/lib/python2.7/hashlib.py", line 147, in <module>
    globals()[__func_name] = __get_hash(__func_name)
  File "/opt/miyoo/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
    raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type md5

这部分要怎么解决?我转外部工具链试试。

离线

#678 2022-03-07 09:58:10

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

@司徒

使用外部 Python 就可以。

cd /opt/miyoo/bin
sudo mkdir bak
sudo mv py* bak

再到 uboot 目录执行 ./run.sh /dev/sdX fc3000 顺利编译完成。

离线

#679 2022-03-07 10:43:43

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

@司徒

另外我作死把 130 FC 那个卡反插过,现在只要插上那个卡就无法开机,不知道是不是某些电路烧坏了。

离线

楼主 #680 2022-03-07 13:00:04

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@kendling
miyoo toolchain確實沒有md5,不過,在Debian 11環境上,目前看來差異頗大,感謝你的分享~
至於130 FC卡,倒是沒有去查看那個A20腳位是拉到哪裡去了~不過,這個就是寨機的魅力,相當秀氣,一碰就不得了~

离线

#681 2022-03-07 13:36:41

uuid
会员
注册时间: 2020-12-08
已发帖子: 32
积分: 18

Re: 研究FC3000掌機的開源可行性

请问司徒 f1c 驱动 i80 mcu屏用的是 gpio 模式吗? 还是别的方式?

离线

#682 2022-03-07 13:46:01

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

@司徒 果然和你的屏不一样,也是 35to24 的屏,4 个角度没有变色。

1.jpg
2.jpg
3.jpg
4.jpg
5.jpg
6.jpg

离线

#683 2022-03-07 14:25:00

yrl
会员
注册时间: 2022-03-07
已发帖子: 6
积分: 1

Re: 研究FC3000掌機的開源可行性

这机器用的是IPS面板屏?

离线

楼主 #684 2022-03-07 14:30:12

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@uuid
使用i80 DMA方式驅動,不是GPIO,因為如果是使用GPIO,CPU會花費在GPIO傳輸上面~

@kendling
哈~這視角真是不錯,靠你把LCD初始化資料找出來了~

离线

#685 2022-03-07 15:38:37

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

@司徒

网上搜了一下,没有找到这块屏的资料。

抓初始化资料这一块我不懂,目前只能借助逻辑分析仪了吗?

另外:那张 130FC 的“游戏卡”插进去后只是短路了几个脚。不插也能玩 FC 游戏呀,这卡实际有啥作用。。

离线

#686 2022-03-07 16:45:36

新人
会员
注册时间: 2022-03-07
已发帖子: 5
积分: 5

Re: 研究FC3000掌機的開源可行性

@司徒
大神,小横米屏幕的pin脚是什么,屏幕搞坏了,买的时候还要这个,求教

离线

楼主 #687 2022-03-07 16:52:25

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@kendling
有如下方式找出屏的初始化代碼:
1. 找廠商拿資料 <= 如請鬼拿藥單的困難
2. 逆向原始SPI代碼 <= 如爬刀梯一樣的困難
3. 使用邏輯分析儀 <= 比較像正常人的做法

至於那張IBM 20MB FC卡,插入跟沒有插入是有差別的,好像是遊戲的差別,不過像我們這種偏研究的人來說,一般是可以忽略的~

离线

#688 2022-03-07 17:24:27

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

感谢回答,那我得先学习学习这方面的知识了

最近编辑记录 kendling (2022-03-07 17:24:42)

离线

#689 2022-03-07 17:48:44

新人
会员
注册时间: 2022-03-07
已发帖子: 5
积分: 5

Re: 研究FC3000掌機的開源可行性

大佬,能推荐个小横米使用的屏幕么?想自己换个屏

离线

楼主 #690 2022-03-07 20:16:17

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@新人
這恐怕買不到小橫米的屏(ST7789V),因為這個屏有Screen Tearing(TE)腳位,一般買不到~建議去二手市場買小橫米替換~

离线

#691 2022-03-07 20:49:19

新人
会员
注册时间: 2022-03-07
已发帖子: 5
积分: 5

Re: 研究FC3000掌機的開源可行性

司徒 说:

@新人
這恐怕買不到小橫米的屏(ST7789V),因為這個屏有Screen Tearing(TE)腳位,一般買不到~建議去二手市場買小橫米替換~

我看淘宝有好多st7789v,但是他们要参数不知道是要啥,我已经买了别的,就是想给这个整好

离线

楼主 #692 2022-03-07 21:45:19

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

腳位如下:
1_20220307-2144.jpg
找到一樣的就可以~

离线

#693 2022-03-08 00:03:51

mrnull
会员
注册时间: 2022-02-24
已发帖子: 5
积分: 5

Re: 研究FC3000掌機的開源可行性

哇,大佬还在继续更新哇。
我想问一下大佬,我手里只有树莓派zero2w搭建的gpi case,想编译retrofw系统玩玩,我目前能用buildroot编译出自定义的系统,具体怎么搞?

离线

#694 2022-03-08 00:12:28

新人
会员
注册时间: 2022-03-07
已发帖子: 5
积分: 5

Re: 研究FC3000掌機的開源可行性

司徒 说:

腳位如下:
https://whycan.com/files/members/3145/1_20220307-2144.jpg
找到一樣的就可以~

感谢🙏

离线

楼主 #695 2022-03-08 07:17:38

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@mrnull
RetroFW是基於GMenuNX(GMenu2X的延伸)作為桌面管理,所以你可以基於你的Buildroot去編譯GMenuNX:
GMenuNX https://github.com/pingflood/gmenunx

RetroFW當初是給JZ4760(MIPS CPU)整合的一套系統,所以RetroFW裡面的那些模擬器,如:ReGBA,你無法搬到你的系統上,你可以找gpSP或者mGBA使用,然後把模擬器或者遊戲一個一個移植到你的系統上就可以~
RetroFW https://github.com/retrofw/retrofw.github.io

离线

#696 2022-03-08 17:05:13

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

买了个 24M 的逻辑逻辑分析仪,应该够用了吧?

离线

#697 2022-03-08 17:21:26

hox
会员
注册时间: 2020-02-17
已发帖子: 37
积分: 30.5

Re: 研究FC3000掌機的開源可行性

kendling 说:

买了个 24M 的逻辑逻辑分析仪,应该够用了吧?

24M 的估计够呛,能用也不好用;24M 最高速率,实测一般一两秒就卡死了。另外 24M 对应的是总速率,8个通道使能时达不到

离线

楼主 #698 2022-03-08 21:18:58

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@kendling
用了就知道好壞,需要時,自然會找更好的,一般取樣率至少要兩倍,但是你目前不知道屏的速度,所以,不用擔心,用下去就對了~

离线

#699 2022-03-08 21:27:34

新人
会员
注册时间: 2022-03-07
已发帖子: 5
积分: 5

Re: 研究FC3000掌機的開源可行性

司徒 说:

腳位如下:
https://whycan.com/files/members/3145/1_20220307-2144.jpg
找到一樣的就可以~

真的找不到,这就要扔了么!

离线

#700 2022-03-09 00:14:36

mrnull
会员
注册时间: 2022-02-24
已发帖子: 5
积分: 5

Re: 研究FC3000掌機的開源可行性

@司徒
谢谢大佬的指点,我buildroot出系统了,也试着去编译那个桌面管理软件,但是不知道为什么,启动了之后一直都是黑屏。

离线

楼主 #701 2022-03-09 07:38:29

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@新人
可以學學GKDmini,用一個箱子裝起來,然後賣888元~

@mrnull
查找方向:
1. 先確定屏可以正常點亮使用(系統起來時有顯示就可以)
2. GMenuNX Platform配置問題
3. GMenuNX會透過UART輸出錯誤訊息
4. 可以使用gdb定位問題(使用GMenuNX.debug)

离线

#702 2022-03-09 09:10:45

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

hox 说:
kendling 说:

买了个 24M 的逻辑逻辑分析仪,应该够用了吧?

24M 的估计够呛,能用也不好用;24M 最高速率,实测一般一两秒就卡死了。另外 24M 对应的是总速率,8个通道使能时达不到

先试试。

司徒 说:

@kendling
用了就知道好壞,需要時,自然會找更好的,一般取樣率至少要兩倍,但是你目前不知道屏的速度,所以,不用擔心,用下去就對了~

我也是想着先试试,24M 的成本低很多,再往上成本就高很多了。

离线

#703 2022-03-09 12:05:49

mrnull
会员
注册时间: 2022-02-24
已发帖子: 5
积分: 5

Re: 研究FC3000掌機的開源可行性

@司徒
好的,感谢

离线

#704 2022-03-09 13:35:26

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

2022-03-09_13-33.png

big_smile 画了个板专门用来做逻辑分析,这样就不用刮焊点了。

离线

#705 2022-03-09 13:55:19

哇酷小二
本站客服
所在地: 你猜
注册时间: 2020-04-22
已发帖子: 3,013
积分: 1897
个人网站

Re: 研究FC3000掌機的開源可行性

kendling 说:

https://whycan.com/files/members/8656/2022-03-09_13-33.png

big_smile 画了个板专门用来做逻辑分析,这样就不用刮焊点了。

https://item.taobao.com/item.htm?id=602894766167






淘宝: whycan.taobao.com 可提供技术支持 V3sR11 / F1C200s / D1 / D1s / XR32 / XR829 / XR806

离线

#706 2022-03-09 14:25:21

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

哇酷小二 说:
kendling 说:

https://whycan.com/files/members/8656/2022-03-09_13-33.png

big_smile 画了个板专门用来做逻辑分析,这样就不用刮焊点了。

https://item.taobao.com/item.htm?id=602894766167

我画之前去找过,都是转 24P 2.54MM ,用了它就接不了屏,除非再用面包板转接。

离线

#707 2022-03-09 14:47:03

哇酷小二
本站客服
所在地: 你猜
注册时间: 2020-04-22
已发帖子: 3,013
积分: 1897
个人网站

Re: 研究FC3000掌機的開源可行性

@kendling
喔~ 原来如此






淘宝: whycan.taobao.com 可提供技术支持 V3sR11 / F1C200s / D1 / D1s / XR32 / XR829 / XR806

离线

#708 2022-03-12 17:56:00

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

@司徒 我测了一下屏的脚,好像除了 VDD GND DB0~15 其他有点不同,我晚上再确认一下。

另外,我用 PulseView 12M 到 16M 可以采到数据。初始化屏的资料是不是只看前面一段数据可以了?

最近编辑记录 kendling (2022-03-12 19:17:29)

离线

楼主 #709 2022-03-12 21:48:39

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@kendling
這裡是當初如何找出FC3000屏的過程,你可參考:https://steward-fu.github.io/website/handheld/fc3000/lcd_init.htm
P.S. 當沒有任何CMD送出時,就是初始化結束的訊息~

离线

#710 2022-03-12 23:13:47

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

@司徒 这个页面看过不止一次了,还有这个帖子也是从头到尾看过。

我尝试一下看能否找到吧。

离线

#711 2022-03-12 23:48:40

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

1   VDD
2   GND
3   ?(没有量到直通的脚)
4   ?(没有量到直通的脚)
5   PD21
6   PD19
7   PD18
8   VDD
9   PD13
10 PD14
11 PD15
12 PD16
13 PD17
14 PD6
15 PD7
16 PD8
17 PD10
18 PD11
19 PD12
20 PD1
21 PD2
22 PD3
23 PD4
24 PD5

@司徒 3、4 两个没有量到直通的引脚,其他都和你的一致。

离线

楼主 #712 2022-03-13 08:01:18

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@kendling
看來IPS屏使用轉板,把腳位轉成跟原本一致,3、4應該如下:
3:LEDA
4:RST

這樣的話,你可以直接量測WR、RS、DB0~15的訊號應該就可以知道初始化命令~

离线

#713 2022-03-13 10:34:51

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

lcd_init_1.png
lcd_init_2.png
lcd_init_3.png

@司徒
D6 - RS
D7 - WR
D0~D5:
图1 - DB0~DB5
图2 - DB5~DB10
图3 - DB10~DB15

初始化是不是就在前面的 300ms 左右的时间,后面那些应该是刷新界面的信号了吧?

离线

楼主 #714 2022-03-13 11:11:26

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

你附上一個csv檔案,我看一下~

离线

#715 2022-03-13 11:25:36

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

@司徒 我试过 PulseView 导出几个选项都产生数 G 大小的文件,我不知道应该用哪个菜单导出。
pulseview_export_menu.png

离线

#716 2022-03-13 11:28:50

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

FC3000_IPSLCD_INIT.7z

我把 PulseView 保存的档案打包上来了。

最近编辑记录 kendling (2022-03-13 11:34:33)

离线

#717 2022-03-13 12:17:15

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

FC3000_IPSLCD_INIT_CSV.7z
@司徒

我把采样时长调整到 2 秒,导致的 CSV 就小很多了。

离线

#718 2022-03-13 16:16:48

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

big_smile 24M 采样貌似拿到的数据也不稳定啊

离线

#719 2022-03-13 17:14:43

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

@司徒
感谢你的帮助和指导,我重新采样了 4 次 RS,WR,DB0~DB5 。
我用以下流程分析,不知道对不对:
1、把导出的 csv 档案去除相邻的重复行
2、以 RS=0,WR=1 为起始信号,把前面的信号清除
3、以 RS=0,WR=1 为结束信号,把后面的信号清除
4、剩下的信号 4 次采样都基本可以对上。

离线

楼主 #720 2022-03-13 20:36:59

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

FC3000_IPSLCD_INIT_CSV.7z,這個檔案裡面有三個檔案,格式是:

logic,logic,logic,logic,logic,logic,logic,logic
0,0,0,0,0,0,0,0

檔案裡面,從每一行,左到右,順序是如下嗎?
new1.csv:RS, WR, DB0~DB5
new2.csv:RS, WR, DB5~DB10
new3.csv:RS, WR, DB10~DB15

离线

#721 2022-03-13 20:57:43

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

@司徒

new1.csv:DB0~DB5, RS, WR
new2.csv:DB5~DB10, RS, WR
new3.csv:DB10~DB15, RS, WR

离线

#722 2022-03-13 21:38:01

jck0430
会员
注册时间: 2022-02-13
已发帖子: 2
积分: 2

Re: 研究FC3000掌機的開源可行性

感谢司徒为开源作出的贡献~
小弟小白一个,只能默默为司徒加油:)
现有个问题请教,刷了横米的江西恐龙系统发现模拟器里面的按键反了(例如GBA和GB的A、B,PS的方块三角交叉圆圈等等),虽然有一些模拟器设置里面可以改回来,但像GB模拟器的设置就没有改按键,有没有办法能调整全局的按键可以一把改回正确?
最后期待你的草食~:)

离线

#723 2022-03-13 22:02:43

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

@司徒 我分析出来是这个初始化资料,不知道对不对。

HEX	RS	WR
3800	0	1
0	1	0
0	1	1
800	0	0
800	0	1
100	1	0
100	1	1
1000	0	0
1000	0	1
0	1	0
0	1	1
1800	0	0
1800	0	1
C022	1	0
C022	1	1
2000	0	0
2000	0	1
0	1	0
0	1	1
4000	0	0
4000	0	1
1200	1	0
1200	1	1
4800	0	0
4800	0	1
0	1	0
0	1	1
5000	0	0
5000	0	1
4000	1	0
4000	1	1
6000	0	0
6000	0	1
0	1	0
0	1	1
6800	0	0
6800	0	1
0	1	0
0	1	1
7000	0	0
7000	0	1
8020	1	0
8020	1	1
7800	0	0
7800	0	1
0	1	0
0	1	1
8000	0	0
8000	0	1
0	1	0
0	1	1
8800	0	0
8800	0	1
3800	1	0
3800	1	1
9000	0	0
9000	0	1
0	1	0
0	1	1
9800	0	0
9800	0	1
0	1	0
0	1	1
8000	0	0
8000	0	1
8720	1	0
8720	1	1
8800	0	0
8800	0	1
B920	1	0
B920	1	1
9000	0	0
9000	0	1
C1A0	1	0
C1A0	1	1
9800	0	0
9800	0	1
402	1	0
402	1	1
4820	0	0
4820	0	1
4000	1	0
4000	1	1
4020	0	0
4020	0	1
6800	1	0
6800	1	1
5020	0	0
5020	0	1
80	1	0
80	1	1
20	0	0
20	0	1
78E0	1	0
78E0	1	1
820	0	0
820	0	1
0	1	0
0	1	1
8020	0	0
8020	0	1
3F00	1	0
3F00	1	1
8820	0	0
8820	0	1
3800	1	0
3800	1	1
9020	0	0
9020	0	1
1E00	1	0
1E00	1	1
9820	0	0
9820	0	1
700	1	0
700	1	1
A020	0	0
A020	0	1
1200	1	0
1200	1	1
A820	0	0
A820	0	1
1000	1	0
1000	1	1
B020	0	0
B020	0	1
7F03	1	0
7F03	1	1
B820	0	0
B820	0	1
3F00	1	0
3F00	1	1
C020	0	0
C020	0	1
0	1	0
0	1	1
C820	0	0
C820	0	1
0	1	0
0	1	1
D020	0	0
D020	0	1
3F00	1	0
3F00	1	1
D820	0	0
D820	0	1
0	1	0
0	1	1
E020	0	0
E020	0	1
3800	1	0
3800	1	1
E820	0	0
E820	0	1
0	1	0
0	1	1
8040	0	0
8040	0	1
0	1	0
0	1	1
8840	0	0
8840	0	1
78E0	1	0
78E0	1	1
9040	0	0
9040	0	1
0	1	0
0	1	1
9840	0	0
9840	0	1
F920	1	0
F920	1	1
60	0	0
60	0	1
704	1	0
704	1	1
860	0	0
860	0	1
0	1	0
0	1	1
5060	0	0
5060	0	1
0	1	0
0	1	1
80	0	0
80	0	1
0	1	0
0	1	1
880	0	0
880	0	1
0	1	0
0	1	1
1080	0	0
1080	0	1
0	1	0
0	1	1
1880	0	0
1880	0	1
0	1	0
0	1	1
2080	0	0
2080	0	1
0	1	0
0	1	1
2880	0	0
2880	0	1
0	1	0
0	1	1
8080	0	0
8080	0	1
8000	1	0
8000	1	1
9080	0	0
9080	0	1
0	1	0
0	1	1
9880	0	0
9880	0	1
1800	1	0
1800	1	1
A880	0	0
A880	0	1
8100	1	0
8100	1	1
B880	0	0
B880	0	1
0	1	0
0	1	1
C080	0	0
C080	0	1
0	1	0
0	1	1
3800	0	0
3800	0	1
820	1	0
820	1	1
3800	0	0
3800	0	1
860	1	0
860	1	1
3800	0	0
3800	0	1
9960	1	0
9960	1	1
1800	0	0
1800	0	1
4020	1	0
4020	1	1
8040	0	0
8040	0	1
0	1	0
0	1	1
8840	0	0
8840	0	1
78E0	1	0
78E0	1	1
9040	0	0
9040	0	1
0	1	0
0	1	1
9840	0	0
9840	0	1
F920	1	0
F920	1	1
20	0	0
20	0	1
78E0	1	0
78E0	1	1
820	0	0
820	0	1
0	1	0
0	1	1
1020	0	0
1020	0	1
1020	1	1
0	1	1

离线

楼主 #724 2022-03-13 22:35:58

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@jck0430
目前源代碼已經釋出,如果你無法自己修改,很抱歉~你只能等草食系統再回報問題了~

@kendling
你解析出來的資料跟我解析出來的不一樣,但是,就我感覺,都不像是屏的初始化資料~我的方法如下:


原始檔案大小

-rw-r--r-- 1 steward steward 800000048 Mar 12 22:57 new1.csv
-rw-r--r-- 1 steward steward 800000048 Mar 12 23:11 new2.csv
-rw-r--r-- 1 steward steward 800000048 Mar 12 23:13 new3.csv

slim.py (合併重複資料)

#!/usr/bin/python
import os
import sys

if len(sys.argv) != 2:
  print 'slim.py xxx.csv'
  sys.exit()

f = open(sys.argv[1])
c = f.readlines()
f.close()

pre = ''
for x in c:
  l = x.replace('\r', '').replace('\n', '')
  if pre != l:
    pre = l
    print l

合併後大小

-rw-r--r-- 1 steward steward 162121808 Mar 13 09:16 s1.csv
-rw-r--r-- 1 steward steward 153456496 Mar 13 09:17 s2.csv
-rw-r--r-- 1 steward steward 139407888 Mar 13 09:18 s3.csv

run.py (位元重組)

#!/usr/bin/python
import os
import sys

f = open('s1.csv')
c1 = f.readlines()
f.close()

f = open('s2.csv')
c2 = f.readlines()
f.close()

f = open('s3.csv')
c3 = f.readlines()
f.close()
cc = len(c3)

for x in range(cc):
  l1 = c1[x].replace('\r', '').replace('\n', '').split(',')
  l2 = c1[x].replace('\r', '').replace('\n', '').split(',')
  l3 = c1[x].replace('\r', '').replace('\n', '').split(',')
  l1.reverse()
  l2.reverse()
  l3.reverse()
  if l1[0] == 'logic':
    continue

  if (l1[5] != l2[5]) or (l2[5] != l3[5]) or (l3[5] != l1[5]):
    print 'error'
    sys.exit()

  wr = l1[0]
  rs = l1[1]
  t3 = ''.join('{:x}'.format(int(v)) for v in l3[2:8])
  t2 = ''.join('{:x}'.format(int(v)) for v in l2[3:8])
  t1 = ''.join('{:x}'.format(int(v)) for v in l1[3:8])
  t = t3 + t2 + t1
  v = '0x%04x' % int(t, 2)
  if wr == '0':
    if rs == '0':
      print 'CMD:{}'.format(v)
    else:
      print 'DAT:{}'.format(v)

  if 0:
    print l3
    print l2
    print l1
    print t
    print v
    print ''

最後取得的屏初始化資料

CMD:0x0000
CMD:0x0421
CMD:0x0c63
CMD:0x1ce7
CMD:0x3def
CMD:0x7fff
CMD:0xffff
DAT:0x0000
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x8842
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x8000
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x8000
CMD:0x0000
DAT:0x8000
CMD:0x0000
DAT:0x8000
CMD:0x0000
DAT:0x0842
CMD:0x8000
DAT:0x0000
CMD:0x8000
DAT:0x0000
CMD:0x8000
DAT:0x0000
CMD:0x8000
DAT:0x8000
CMD:0x8000
DAT:0x0000
CMD:0x8000
DAT:0x0000
CMD:0x8000
DAT:0x0000
CMD:0x8000
DAT:0x0000
CMD:0x8000
DAT:0x0000
CMD:0x8000
DAT:0x0000
CMD:0x8000
DAT:0x0000
CMD:0x8000
DAT:0x0c63
CMD:0x8000
DAT:0x0000
CMD:0x8000
DAT:0x8000
DAT:0x0000
CMD:0x8000
DAT:0x0000
CMD:0x8000
DAT:0x0000
CMD:0x8000
DAT:0x0000
CMD:0x8000
DAT:0x0000
CMD:0x8000
DAT:0x0000
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x8000
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x8000
CMD:0x8000
DAT:0x1084
CMD:0x8000
DAT:0x0000
CMD:0x8000
DAT:0x0000
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x8000
CMD:0x0000
DAT:0x8000
CMD:0x0000
DAT:0x8000
CMD:0x0000
DAT:0x8000
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x0000
DAT:0x8000
CMD:0x8000
CMD:0x0000
DAT:0x0000
CMD:0x0000
DAT:0x8000
CMD:0x8000
DAT:0x8000
CMD:0x8000
DAT:0x0000
CMD:0x8000

雖然感覺都怪怪的,不過,我還是把它做成燒錄檔案給你測試,你依序燒錄到MicroSD並且插入到你的FC3000開機看看,如果有顯示RGB顏色,那代表可以動作~
20220313_0.img
20220313_1.img

离线

#725 2022-03-13 23:04:32

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

@司徒 cool 感动的一刻终于来了!

真心感谢 司徒大神 的帮助和指导,这个是我以前无法想像任务!

ipc_lcd_inited.jpg

离线

#726 2022-03-13 23:23:21

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

@司徒 我成功点亮 IPS 屏的代码在这里,我是把你的点屏代码改了初始化部分:
ips_lcd_init.7z

编译烧写到 SD 卡后,启动的时候看到是花屏的,然后从上到下刷新整个屏幕,不知道有没有异常的地方。

离线

#727 2022-03-13 23:44:58

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

最后一步编译 uboot 报错了,估计还是 Debian 11 环境的问题。明天再继续,已经是突破性进展了。

离线

#728 2022-03-13 23:47:52

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

@司徒

我没有用你解析出来的资料,今天一直在用逻辑分析仪抓资料,没来看帖。

我是用我解析出来的那份资料,然后把所有 WR==0 的行去除。

最后把剩下的资料更新你的点屏代码,成功点亮了。

离线

楼主 #729 2022-03-14 07:16:05

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@kendling
相當好的進展~你自己把這個困難的任務解決了,那種激動的心情,想必你應該整夜睡不著~哈~
接下來,你可以慢慢把UBoot、Kernel、RootFS整合打包,分享給大家使用,大家會相當感激你的付出,我總是相信,有志者事竟成~

离线

#730 2022-03-14 08:36:54

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

@司徒 确实躺下一段时间都睡不着。

另外有个问题请教一下,液晶接口 3、4 脚我没有量到直通的 MCU 引脚。你是怎么确定它用哪个引脚控制的?

离线

#731 2022-03-14 09:11:32

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

complete1.jpg

@司徒 完整编译写 SD 卡可以进入系统了。

目前发现 2 个小问题:
1、没有显示电池电量
2、A/B X/Y 调换了

离线

#732 2022-03-14 09:25:22

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

另外几个问题:
3、我应该刷的是 fc3000_tft_od_jutleys_no_roms.img.7z 包,启动时没有看到选择系统的界面
4、所有模拟器都找不到游戏,我看到 OD 分区 games 目录里是有游戏的
5、中文显示乱码,这个应该替换字体可以了

离线

楼主 #733 2022-03-14 10:02:11

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

A1: 第三腳位是LEDA,一般是接到PWM IC,所以你可以從PWM EN腳位查出是哪根F1C100S腳位
A2: 第四腳位是RST,一般是直接連接到F1C100S,FC3000則是透過MOSFET連接,你可以從MOSFET查到F1C100S腳位
A3: 電池電量需要看App是讀取那個位置,目前應該是不一樣的位置,GMenuNX可以改
A4: ABXY按鍵如果要更換,你可以修改驅動程式
A5: 选择系统的界面,這部份代碼沒有保留,因為後來轉到草食系統,不過,你只要在UBoot裡面添加按鍵判斷就可以
A6: games遊戲問題,你可能需要查下,這部份,從目前訊息,看不出哪裡有問題
A7: 中文亂碼,替換字型就可以,GMenu2X支援中文顯示

离线

#734 2022-03-14 10:12:43

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

@司徒

感谢回答,我有时间再看看,现在先上班。

离线

#735 2022-03-14 13:48:38

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

@司徒 今天午休的时候我制作了一个 fc3000ips 的 kernel 代码补丁。

kernel_fc3000ips.7z

离线

楼主 #736 2022-03-14 16:39:42

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

好的,相當感謝你的分享~

离线

#737 2022-03-14 22:41:50

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

司徒 说:

好的,相當感謝你的分享~

对了,打包好的 rootfs.squashfs 是烧写到 SD 卡什么位置的?

离线

楼主 #738 2022-03-15 07:13:05

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

第一磁區的rootfs檔案

离线

#739 2022-03-15 08:36:23

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

司徒 说:

第一磁區的rootfs檔案

原来是这里,我还以为 FC3000 分区全是官方系统使用的,难怪在 OD 分区没找到。

离线

#740 2022-03-15 09:11:28

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

更换 mininit 能成功启动。
更换 rootfs 黑屏,我要焊个 uart 看看是啥问题才行。
另外,我编译的 rootfs 比原来的小很多,是不是还没有 GMenu 那些程序?

离线

楼主 #741 2022-03-15 09:19:27

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

預設rootfs不包含GMenu2X,我都是使用miyoo的rootfs配置檔案,你可以參可:https://github.com/steward-fu/miyoo

离线

#742 2022-03-15 13:01:13

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

司徒 说:

預設rootfs不包含GMenu2X,我已经是使用miyoo的rootfs配置檔案,你可以參可:https://github.com/steward-fu/miyoo

我已经是使用 miyoo 的配置档案,编译出来的 rootfs 只有 25.8 MB ,jutleys 包的 rootfs 有 48.5 MB 。

大小差太多了。

离线

楼主 #743 2022-03-15 17:56:04

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

diff了一下,發現,舊版(jutleys)裡面包含:X11、SDL2、Kernel Module、怒鐵執行檔案,不過就功能面來看,25.8MB就可以~

离线

楼主 #744 2022-03-15 19:31:19

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@kendling
不知道你是否可以提供一個MicroSD鏡像IMG燒錄檔案(沒有包含ROMS)給我,我想給Dingoonity玩家測試一下~感謝

离线

#745 2022-03-15 21:58:38

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

司徒 说:

@kendling
不知道你是否可以提供一個MicroSD鏡像IMG燒錄檔案(沒有包含ROMS)給我,我想給Dingoonity玩家測試一下~感謝

非常乐意提供,是使用 jetleys 的 IMG 档案修改一个吗?

rootfs 我还没有启动成功,这两天也没有时间焊接 UART 。

PS:本来为了做逻辑分析画的板子今天才到货,暂时用不上了。
24pin_to_24pin.jpg

离线

#746 2022-03-15 22:41:38

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

司徒 说:

@kendling
不知道你是否可以提供一個MicroSD鏡像IMG燒錄檔案(沒有包含ROMS)給我,我想給Dingoonity玩家測試一下~感謝

https://github.com/kendling/my_bin_file/releases/download/v1.0/fc3000_ips_od_jutleys_no_roms.img.7z

离线

楼主 #747 2022-03-16 07:08:12

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

感謝~

离线

#748 2022-03-16 10:21:28

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

司徒 说:

感謝~

大神客气了,是我感谢你的帮助和指导,我受益匪浅。

离线

#749 2022-03-16 23:48:11

光明之歌
会员
注册时间: 2021-06-26
已发帖子: 11
积分: 15

Re: 研究FC3000掌機的開源可行性

kendling 说:
司徒 说:

@kendling
不知道你是否可以提供一個MicroSD鏡像IMG燒錄檔案(沒有包含ROMS)給我,我想給Dingoonity玩家測試一下~感謝

https://github.com/kendling/my_bin_file/releases/download/v1.0/fc3000_ips_od_jutleys_no_roms.img.7z

看到有大佬接手了IPS屏的工作,真是喜出望外。我也刷了你这个镜像,很幸运能进系统,看起来我们是同一批的屏幕。有个问题是我从进系统之后就有非常大的电流音,不知道是我这边的个例还是目前的通病?在原系统是没有这个问题的。

离线

楼主 #750 2022-03-17 09:05:16

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

你可以幫忙測試下,同一款遊戲,在原廠系統下跟在OD系統下,聲音開到最大後,兩個系統是一樣的音量嗎?
因為,OD系統下,預設使用最大輸出音量設定,如果本身,硬件沒有設計好,最大音量將導致電流聲音,這個電流聲音,理應該不會跟模擬器有相關~

离线

#751 2022-03-17 09:56:16

光明之歌
会员
注册时间: 2021-06-26
已发帖子: 11
积分: 15

Re: 研究FC3000掌機的開源可行性

@司徒
晚上回去试一下。应该不是模拟器问题,开机后黑屏的时候没问题,到了选择模拟器那个界面就开始有电流音了。

离线

楼主 #752 2022-03-17 12:55:19

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

好的~
另外,測試請使用電池,不要接上USB電源~

离线

#753 2022-03-17 13:47:44

光明之歌
会员
注册时间: 2021-06-26
已发帖子: 11
积分: 15

Re: 研究FC3000掌機的開源可行性

司徒 说:

好的~
另外,測試請使用電池,不要接上USB電源~

今天中午居然有机会回去了一趟,正好试了一下。音量开到最大的话两个系统下音量是一样的,用的FC魂斗罗测试的。我没有接USB充电,只用电池。

离线

#754 2022-03-17 17:35:13

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

@司徒
我这边的情况是:
1、是只要进了 OD 系统就听到电流声(小声音就可以听到)
2、同样的音量原厂系统没有听到

离线

#755 2022-03-17 17:37:00

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

@光明之歌

big_smile 我只是刚入门而已,并非大佬。

有幸得到 @司徒 的帮助和指导才得以完成这个工作。

离线

#756 2022-03-17 20:35:55

光明之歌
会员
注册时间: 2021-06-26
已发帖子: 11
积分: 15

Re: 研究FC3000掌機的開源可行性

kendling 说:

@司徒
我这边的情况是:
1、是只要进了 OD 系统就听到电流声(小声音就可以听到)
2、同样的音量原厂系统没有听到

对的,电流音什么音量都有。看来不是我的个例

离线

#757 2022-03-17 21:19:00

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

@司徒
会不会是音频输出电路不同?

离线

#758 2022-03-18 12:06:46

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

我靠近喇叭听了一下,原厂系统也是有杂音的。无论多大的音量。

离线

#759 2022-03-18 20:23:27

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

@司徒

请教一个问题,我按你的教程焊接了 uart1 。

我也看了 dts 文件,stdout 输出到 uart1 。但是我接好 TTL 线没有看到输出。

  aliases {
    serial1 = &uart1;
  };

  chosen {
    stdout-path = "serial1:115200n8";
  };

离线

#760 2022-03-18 20:27:33

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

我只接 GND+TX 倒是有输出了。

离线

#761 2022-03-18 20:32:28

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

输出只有这些,后面运行游戏就没有输出了。

F1C200S SPL Loader
DRAM:156 MHz, 32 MB
Boot: MMC1
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.14.0-vegan+ (kend@kendnb) (gcc version 10.2.1 20210110 (Debian 10.2.1-6)) #71 Mon Mar 14 13:42:45 CST 2022
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] OF: fdt: Machine model: allwinner suniv handheld
[    0.000000] Memory policy: Data cache writeback
[    0.000000] random: fast init done
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 8128
[    0.000000] Kernel command line: rootwait root=/dev/mmcblk0p1 ro fstype=vfat init=/mininit -- fc3000ips
[    0.000000] suniv model: fc3000ips
[    0.000000] PID hash table entries: 128 (order: -3, 512 bytes)
[    0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Memory: 29064K/32768K available (2355K kernel code, 103K rwdata, 540K rodata, 112K init, 188K bss, 3704K reserved, 0K cma-reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xc2800000 - 0xff800000   ( 976 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xc2000000   (  32 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0255250   (2357 kB)
[    0.000000]       .init : 0xc02de000 - 0xc02fa000   ( 112 kB)
[    0.000000]       .data : 0xc02fa000 - 0xc0313d00   ( 104 kB)
[    0.000000]        .bss : 0xc0315e90 - 0xc034500c   ( 189 kB)
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.000000] sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836475000000ns
[    0.000000] Console: colour dummy device 80x30
[    0.000000] console [tty0] enabled
[    0.070000] Calibrating delay loop... 203.16 BogoMIPS (lpj=1015808)
[    0.070000] pid_max: default: 32768 minimum: 301
[    0.070000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.070000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.070000] CPU: Testing write buffer coherency: ok
[    0.070000] Setting up static identity map for 0x80008400 - 0x8000843c
[    0.070000] devtmpfs: initialized
[    0.070000] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.070000] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.080000] pinctrl core: initialized pinctrl subsystem
[    0.080000] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.090000] SCSI subsystem initialized
[    0.090000] Advanced Linux Sound Architecture Driver Initialized.
[    0.090000] clocksource: Switched to clocksource timer
[    0.110000] workingset: timestamp_bits=30 max_order=13 bucket_order=0
[    0.110000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.110000] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    0.110000] io scheduler noop registered
[    0.110000] io scheduler deadline registered
[    0.110000] io scheduler cfq registered (default)
[    0.110000] io scheduler mq-deadline registered
[    0.110000] io scheduler kyber registered
[    0.120000] suniv-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[    0.130000] do_gpio_request, invalid gpio pin
[    0.130000] pwm-backlight backlight: backlight supply power not found, using dummy regulator
[    0.170000] Console: switching to colour frame buffer device 40x30
[    0.180000] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.200000] 1c25400.serial: ttyS1 at MMIO 0x1c25400 (irq = 23, base_baud = 6250000) is a 16550A
[    0.500000] console [ttyS1] enabled
[    0.510000] loop: module loaded
[    0.520000] SCSI Media Changer driver v0.25

离线

#762 2022-03-18 20:40:24

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

上面那个是 jetleys 的 rootfs 输出的信息。

下面这个是换了我编译的 rootfs ,输出也是到这里停了。输出的信息一样,但就是我的 rootfs 一直黑屏,喇叭也没有声音。

F1C200S SPL Loader
DRAM:156 MHz, 32 MB
Boot: MMC1
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.14.0-vegan+ (kend@kendnb) (gcc version 10.2.1 20210110 (Debian 10.2.1-6)) #71 Mon Mar 14 13:42:45 CST 2022
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] OF: fdt: Machine model: allwinner suniv handheld
[    0.000000] Memory policy: Data cache writeback
[    0.000000] random: fast init done
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 8128
[    0.000000] Kernel command line: rootwait root=/dev/mmcblk0p1 ro fstype=vfat init=/mininit -- fc3000ips
[    0.000000] suniv model: fc3000ips
[    0.000000] PID hash table entries: 128 (order: -3, 512 bytes)
[    0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Memory: 29064K/32768K available (2355K kernel code, 103K rwdata, 540K rodata, 112K init, 188K bss, 3704K reserved, 0K cma-reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xc2800000 - 0xff800000   ( 976 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xc2000000   (  32 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0255250   (2357 kB)
[    0.000000]       .init : 0xc02de000 - 0xc02fa000   ( 112 kB)
[    0.000000]       .data : 0xc02fa000 - 0xc0313d00   ( 104 kB)
[    0.000000]        .bss : 0xc0315e90 - 0xc034500c   ( 189 kB)
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.000000] sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836475000000ns
[    0.000000] Console: colour dummy device 80x30
[    0.000000] console [tty0] enabled
[    0.070000] Calibrating delay loop... 203.16 BogoMIPS (lpj=1015808)
[    0.070000] pid_max: default: 32768 minimum: 301
[    0.070000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.070000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.070000] CPU: Testing write buffer coherency: ok
[    0.070000] Setting up static identity map for 0x80008400 - 0x8000843c
[    0.070000] devtmpfs: initialized
[    0.070000] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.070000] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.080000] pinctrl core: initialized pinctrl subsystem
[    0.080000] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.090000] SCSI subsystem initialized
[    0.090000] Advanced Linux Sound Architecture Driver Initialized.
[    0.090000] clocksource: Switched to clocksource timer
[    0.110000] workingset: timestamp_bits=30 max_order=13 bucket_order=0
[    0.110000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.110000] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    0.110000] io scheduler noop registered
[    0.110000] io scheduler deadline registered
[    0.110000] io scheduler cfq registered (default)
[    0.110000] io scheduler mq-deadline registered
[    0.110000] io scheduler kyber registered
[    0.120000] suniv-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[    0.130000] do_gpio_request, invalid gpio pin
[    0.130000] pwm-backlight backlight: backlight supply power not found, using dummy regulator
[    0.170000] Console: switching to colour frame buffer device 40x30
[    0.180000] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.200000] 1c25400.serial: ttyS1 at MMIO 0x1c25400 (irq = 23, base_baud = 6250000) is a 16550A
[    0.500000] console [ttyS1] enabled
[    0.510000] loop: module loaded
[    0.520000] SCSI Media Changer driver v0.25

离线

#763 2022-03-20 18:45:11

huanxing
会员
注册时间: 2021-06-27
已发帖子: 19
积分: 18.5

Re: 研究FC3000掌機的開源可行性

下面分享一下本人采用的为小横米增加LR2实体键方案,改机操作如下图,推荐采用欧姆龙那款白色6x6x4.3的微动按键,力度合适,需把键底磨掉0.3的厚度,键帽如提供的STL文件,可根据自己喜好上色。提示此为极端位置的刚好实现方案,按个人实际操作,键帽、微动、壳子都可能需多次摆位测量打磨,才适用微动的GND已焊接于板上固定,只需焊接两飞线,具体引接如前面司徒所说明的,有动手能力可玩玩。接下继续期待司徒大哥的惊喜!
https://whycan.com/files/members/6792/%E5%B0%8F%E6%A8%AA%E7%B1%B3LR2.rar
https://whycan.com/files/members/6792/LR2%E5%BB%BA%E6%A8%A1.jpg
https://whycan.com/files/members/6792/%E5%B0%8F%E6%A8%AA%E7%B1%B3LR2%E6%94%B9%E6%9C%BA1.jpg
https://whycan.com/files/members/6792/%E5%B0%8F%E6%A8%AA%E7%B1%B3LR2%E6%94%B9%E6%9C%BA1.jpg
https://whycan.com/files/members/6792/%E5%B0%8F%E6%A8%AA%E7%B1%B3LR2%E6%94%B9%E6%9C%BA2.jpg
https://whycan.com/files/members/6792/%E5%B0%8F%E6%A8%AA%E7%B1%B3LR2%E6%94%B9%E6%9C%BA3.jpg

离线

楼主 #764 2022-03-21 19:16:26

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@光明之歌
OK,感謝~

@kendling
建議拉UART0使用,我一般都是在PocketGo上面Debug,然後FC3000就直接編譯使用~
rootfs你跑一個shell script做測試,把亮度、聲音調到最大,然後聲音可以使用speak-test輸出測試,顯示則是寫一個簡單SDL顯示就可以,先不跑GMenu2X~

@huanxing
感謝分享,相當優秀的改機~
另外~我幫你把圖顯示出來~
LR2%E5%BB%BA%E6%A8%A1.jpg
%E5%B0%8F%E6%A8%AA%E7%B1%B3LR2%E6%94%B9%E6%9C%BA1.jpg
%E5%B0%8F%E6%A8%AA%E7%B1%B3LR2%E6%94%B9%E6%9C%BA1.jpg
%E5%B0%8F%E6%A8%AA%E7%B1%B3LR2%E6%94%B9%E6%9C%BA2.jpg
%E5%B0%8F%E6%A8%AA%E7%B1%B3LR2%E6%94%B9%E6%9C%BA3.jpg

离线

#765 2022-03-22 10:01:49

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

@司徒
好,那我换 UART0 试试。

离线

#766 2022-03-22 22:19:37

twzy
会员
注册时间: 2021-04-16
已发帖子: 173
积分: 330.5
个人网站

Re: 研究FC3000掌機的開源可行性

我的横米出现一个问题,有时候开机,发现灯不亮,系统也不启动(确定电池有电,用万用表量过),但是只要充电线接一下,然后开机就成正常了,不知道大佬们有啥解决方案?

离线

楼主 #767 2022-03-23 07:13:09

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@twzy
MicroSD接觸問題~重新拔插MicroSD應該是可以進入的~你可以試試~

离线

#768 2022-03-23 07:54:34

twzy
会员
注册时间: 2021-04-16
已发帖子: 173
积分: 330.5
个人网站

Re: 研究FC3000掌機的開源可行性

司徒 说:

@twzy
MicroSD接觸問題~重新拔插MicroSD應該是可以進入的~你可以試試~

通过司徒大佬的提醒,我直接把MicroSD 拔掉,开机发现运行指示灯是亮的,而我原理遇到的是连指示灯都不亮。不过下次遇到这个问题,我先试试大佬的的方法。后续有结果会在帖子中回复。谢谢

最近编辑记录 twzy (2022-03-23 07:59:33)

离线

#769 2022-03-23 12:56:51

fullniz
会员
注册时间: 2021-09-17
已发帖子: 11
积分: 9.5

Re: 研究FC3000掌機的開源可行性

最早买到miyoo时候 还想有没有可能这个usb充电口可以接上外置手柄或者摇杆玩,
要是有什么改机方案可以实现这个功能,或者像八位堂无线手柄那样,把无线接收器内置到miyoo里面.
虽然屏幕小,但外接手柄摇杆也是一个乐趣不是

离线

楼主 #770 2022-03-23 15:14:23

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@fullniz
F1C100S有支援USB Host,只是目前我修改的這份Kernel 4.14並沒有實作,雖然Lichee Nano 5.1x有支援,不過,等之後看看吧~

离线

#771 2022-03-24 00:26:56

fullniz
会员
注册时间: 2021-09-17
已发帖子: 11
积分: 9.5

Re: 研究FC3000掌機的開源可行性

司徒 说:

@fullniz
F1C100S有支援USB Host,只是目前我修改的這份Kernel 4.14並沒有實作,雖然Lichee Nano 5.1x有支援,不過,等之後看看吧~

如果最终支持了usb 那就厉害了哈! 就可以外接键盘或者手柄玩了~
可以用大大的摇杆配上小小的miyoo wow~~~

离线

#772 2022-03-29 19:17:37

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

@司徒 我把 kernel 改成 uart0 可以看到 console 了,也可以正常使用 root 登录。

BTW:我开始把 uboot 也改成 uart0 ,启动不了,uboot 改回 uart1 才可以启动。

换成我的 rootfs 就报错了。

[    0.680000] Waiting for root device /dev/mmcblk0p1...
[    0.740000] mmc0: host does not support reading read-only switch, assuming write-enable
[    0.760000] mmc0: new high speed SDHC card at address aaaa
[    0.770000] mmcblk0: mmc0:aaaa SC32G 29.7 GiB 
[    0.790000]  mmcblk0: p1 p2
[    0.830000] VFS: Mounted root (vfat filesystem) readonly on device 179:1.
[    0.850000] devtmpfs: mounted
[    0.850000] Freeing unused kernel memory: 112K
[    0.860000] This architecture does not have kernel memory protection.
[    0.930000] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000ff00
[    0.930000] 
[    0.930000] CPU: 0 PID: 1 Comm: mininit Not tainted 4.14.0-vegan+ #73
[    0.930000] Hardware name: Allwinner suniv Family
[    0.930000] Backtrace: 
[    0.930000] [<c000e244>] (dump_backtrace) from [<c000e560>] (show_stack+0x18/0x1c)
[    0.930000]  r7:c181bf60 r6:00000000 r5:c0316090 r4:00000000
[    0.930000] [<c000e548>] (show_stack) from [<c023d728>] (dump_stack+0x20/0x28)
[    0.930000] [<c023d708>] (dump_stack) from [<c00178d0>] (panic+0xbc/0x234)
[    0.930000] [<c0017818>] (panic) from [<c0019134>] (do_exit+0x874/0x8a8)
[    0.930000]  r3:c181fda0 r2:c181fdac r1:0000ff00 r0:c02a1cdc
[    0.930000]  r7:c181bf60
[    0.930000] [<c00188c0>] (do_exit) from [<c0019d28>] (do_group_exit+0x44/0xbc)
[    0.930000]  r7:000000f8
[    0.930000] [<c0019ce4>] (do_group_exit) from [<c0019db8>] (SyS_exit_group+0x18/0x1c)
[    0.930000]  r5:0002e000 r4:0002e23c
[    0.930000] [<c0019da0>] (SyS_exit_group) from [<c000a5c0>] (ret_fast_syscall+0x0/0x3c)
[    0.930000] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000ff00
[    0.930000] 

离线

#773 2022-03-29 19:21:02

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

https://blog.csdn.net/chuanzhilong/article/details/52901973
我搜索到上面这个地址,里面说是 gcc 版本的问题导致了 未定义的指令

离线

楼主 #774 2022-03-30 07:17:56

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

開啟 mininit debug level

16   #define dbg(...) LOG("<14>", __VA_ARGS__)
17   //#define dbg(...)

重新編譯,替換後, 你應該就可以知道原因~

离线

#775 2022-03-30 18:22:05

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

司徒 说:

開啟 mininit debug level

16   #define dbg(...) LOG("<14>", __VA_ARGS__)
17   //#define dbg(...)

重新編譯,替換後, 你應該就可以知道原因~

原因找到了, rootfs 缺少 boot 目录,去 buildroot 新建这个目录重新打包就可以了。

但是出现了 dbus 的错误:

[    0.860000] This architecture does not have kernel memory protection.
[    0.890000] mininit: mininit 2.0.2
[    0.900000] mininit: free loop device: 0
[    0.910000] mininit: setting up loop: 'rootfs' via '/dev/loop0'
[    0.920000] mininit: mounting 'rootfs' on '/root'
[    0.960000] mininit: rootfs mounted on /root
[    0.970000] mininit: moving '/dev' mount
[    0.990000] mininit: root switch done
[    1.000000] mininit: init: /sbin/init
[    1.010000] mininit: starting /sbin/init
Starting logging: OK
read-only file system detected...done
Starting system message bus: dbus-daemon[47]: Failed to start message bus: Failed to open socket: Function not implemented
done
Starting network: ip: socket: Function not implemented
ip: socket: Function not implemented
FAIL

Welcome to Miyoo
miyoo login: 

离线

#776 2022-03-30 18:35:29

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

是不是我的 buildroot 配置有问题?

我是:

cp devel/config_buildroot-2018.02.9 .config
make menuconfig
#打开 Filesystem images->squashfs root filesystem
make

离线

楼主 #777 2022-03-30 20:25:02

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

Kernel Network Driver 預設沒有編譯,對於這個問題,你有兩個解法可以選擇:
1. Enable Kernel Network Driver
2. Disable DBUS (/etc/init.d/xxx)
不過,即使出現這個錯誤,預設是不影響功能的~

离线

#778 2022-03-31 02:00:58

jasonhu
会员
注册时间: 2020-12-22
已发帖子: 14
积分: 53

Re: 研究FC3000掌機的開源可行性

请问如果从0开发一个掌机得话,需要使用哪些技能?哪些程序?
目前已知:需要一个硬件,需要一个操作系统(linux/others),支持一些外设,屏幕、案件、声音、网络、磁盘等。
然后就是在应用软件上面,需要支持哪些库才比较好移植模拟器?目前已知SDL库是必备,还有其他的吗?希望补充。
还有就是这个制作得可行性如何?难度大吗?

离线

#779 2022-03-31 09:40:21

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

司徒 说:

Kernel Network Driver 預設沒有編譯,對於這個問題,你有兩個解法可以選擇:
1. Enable Kernel Network Driver
2. Disable DBUS (/etc/init.d/xxx)
不過,即使出現這個錯誤,預設是不影響功能的~

谢谢指导,这机器打开 Network Driver 没作用吧?还是关闭 DBUS 更省事。

离线

楼主 #780 2022-03-31 13:34:24

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@kendling
OK~另外,關於電流聲問題,我的FC3000壞掉了,目前重新下單一台,等機器到了後,我在看一下電流聲問題~

@jasonhu
如果要重新開發一台掌機,大致步驟如下:
1. 硬件評估(需要哪款CPU,哪些外設,外設規格是否可以在此CPU上實現)
2. 開發板評估可行性
3. 外殼規劃
4. 硬件原理圖
5. PCB設計
6. PCB確認
7. 移植系統和驅動(包含外設)
8. 移植模擬器和遊戲(SDL, SDL2, X11, Python, OpenGL...)
可行性,在第2步驟可以得到確認,難不難,看你自己怎麼想~

离线

#781 2022-03-31 13:38:30

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

感谢 @司徒 大神的细心指导,我对比了一下 jutleys 包的 rootfs 作了一些修改,已经完成替换自己的 rootfs 启动进入 GMenu2X 了。

构建 rootfs 方法如下:

1. 下载 buildroot-2018.02.9 版本代码。
2. 解压后使用 devel.zip 里面的 config_buildroot-2018.02.9 文件替换 .config 文件。
3. 运行 make menuconfig 并打开 [Filesystem images->squashfs root filesystem] 。
4. 运行 make 命令构建 rootfs ,如果报错请搜索解决,或参考我之前发的错误解决办法。
5. 删除 output/images 目录里所有文件。
6. 新建 output/target/boot 目录。
7. 把 output/target/etc/init.d 目录所有文件移至 output/target/etc/init.d/disabled 。
8. 把 devel.zip 里面的 main 文件复制到 output/target/etc 目录并给执行权限。
9. 修改 output/target/etc/inittab 为下面的内容。
10. 运行 make 命令构建 rootfs ,把 output/images/rootfs.squashfs 文件替换 SD 卡 FC3000 分区里的 rootfs 文件。

inittab 文件:

# /etc/inittab
#
# Copyright (C) 2001 Erik Andersen <andersen@codepoet.org>
#
# Note: BusyBox init doesn't support runlevels.  The runlevels field is
# completely ignored by BusyBox init. If you want runlevels, use
# sysvinit.
#
# Format for each entry: <id>:<runlevels>:<action>:<process>
#
# id        == tty to run on, or empty for /dev/console
# runlevels == ignored
# action    == one of sysinit, respawn, askfirst, wait, and once
# process   == program to run

# Startup the system
::sysinit:/bin/mount -t proc proc /proc
::sysinit:/bin/mount -o remount,ro /
::sysinit:/bin/mkdir -p /dev/pts
::sysinit:/bin/mkdir -p /dev/shm
::sysinit:/bin/mount -a
::sysinit:/bin/hostname -F /etc/hostname
::sysinit:/bin/mount /dev/mmcblk0p2 /mnt -t vfat -o rw,sync,utf8
::sysinit:/sbin/swapon /mnt/.swap.img

# now run any rc scripts
#::sysinit:/etc/init.d/rcS
tty1::respawn:/etc/main

# Put a getty on the serial port
console::respawn:/sbin/getty -L  console 0 vt100 # GENERIC_SERIAL

# Stuff to do for the 3-finger salute
#::ctrlaltdel:/sbin/reboot

# Stuff to do before rebooting
#::shutdown:/etc/init.d/rcK
::shutdown:/sbin/swapoff -a
::shutdown:/bin/umount -a -r

离线

#782 2022-03-31 14:12:26

jasonhu
会员
注册时间: 2020-12-22
已发帖子: 14
积分: 53

Re: 研究FC3000掌機的開源可行性

@司徒
我的最初想法是,用自己的软件体系,就是用自己写的操作系统,不用Linux,然后加应用程序,移植模拟器什么的。
当然了,应用程序也会去支持SDL,OPENGL什么的。
不过目前系统还在开发中,现在想的是系统未来会有这么个应用场景,就是制作一个开源掌机这个东西。
不知道这个可行性怎么样?感觉硬件什么的,我可能不会很关注,更关注的是软件上面的东西。
开源项目地址:https://toscode.gitee.com/BookOS/nxos

除此之外,就是制作非模拟器游戏,可以开发游戏后,直接在上面运行,像switch/psp一样。

最近编辑记录 jasonhu (2022-03-31 14:23:54)

离线

楼主 #783 2022-03-31 17:04:59

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@kendling
感謝分享~你自己的努力造就你的成功~

@jasonhu
重複做一個Linux Kernel是不建議的,原因如下:
1. 製作時間拉長
2. 太多硬件問題無法考慮到
3. 要支援的東西太多了
4. 需要修復的Bug,最終會發現Linux Kernel目前都已經修好了
硬件專長的人看不見軟件問題,軟件專長的人看不見硬件問題,可不可行,你心中已經有把尺,我建議你把目標在訂小一點,先在RISC-V上可以跑你的Kernel,其餘之後再談,當然,這是我個人想法,至於如何做,決定權在你身上~

离线

#784 2022-03-31 21:42:38

jasonhu
会员
注册时间: 2020-12-22
已发帖子: 14
积分: 53

Re: 研究FC3000掌機的開源可行性

@司徒
这个当然我知道,软件是需要挺久时间去做的。
1. 首先不是Linux kernel的复制。
2. 会制作成混合内核,一些功能放到用户态去。
3. 目前是可以跑risc-v64架构的
4. 开发掌机只是最开始的一个应用场景,后面还会有其它应用场景的。
5. 我之前是做过可以跑图形界面的系统的,也支持sdl,所以技术方面是行得通的,只是需要花时间。
6. 我是真的想尝试去做一些,可能会失败,但是总得尝试嘛~比较这个只是个人爱好。
7. 很感谢你耐心的回复我,哈哈~

离线

楼主 #785 2022-04-01 12:52:26

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@jasonhu
加油~只要朝自己喜愛的方向努力,最終都是可以開花結果的~

离线

#786 2022-04-01 13:58:03

jasonhu
会员
注册时间: 2020-12-22
已发帖子: 14
积分: 53

Re: 研究FC3000掌機的開源可行性

司徒 说:

@jasonhu
加油~只要朝自己喜愛的方向努力,最終都是可以開花結果的~

感谢大佬!

离线

#787 2022-04-03 11:43:18

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

@司徒 为什么 FC3000 只要接了 RX 就无法开机,不管是 UART0 还是 UART1。

开机后再接就没事。

离线

#788 2022-04-03 17:21:39

光明之歌
会员
注册时间: 2021-06-26
已发帖子: 11
积分: 15

Re: 研究FC3000掌機的開源可行性

@kendling 群里有人发现只要把亮度开到100,电流音就没了

离线

#789 2022-04-03 22:57:51

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

光明之歌 说:

@kendling 群里有人发现只要把亮度开到100,电流音就没了

这么神奇?我还真没试过。

离线

楼主 #790 2022-04-03 23:54:50

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@光明之歌
如果是這樣,原廠系統也會有電流聲才對~

@kendling
接上RX無法開機是因為RX腳位提供弱電流給F1C100S,導致F1C100S一直處於執行狀態,意思就是沒有斷電的意思~

离线

#791 2022-04-04 11:11:04

zjzixuan
会员
注册时间: 2022-04-04
已发帖子: 8
积分: 9

Re: 研究FC3000掌機的開源可行性

@司徒 能不能把ips_fc3000_v1屏信息改在fc3000_v1_v2_flash升级程序里面

离线

楼主 #792 2022-04-04 11:48:41

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@zjzixuan
不好意思,不太了解你說的意思,你可以詳細說明一下嗎?

离线

#793 2022-04-04 18:13:22

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

司徒 说:

@光明之歌
如果是這樣,原廠系統也會有電流聲才對~

@kendling
接上RX無法開機是因為RX腳位提供弱電流給F1C100S,導致F1C100S一直處於執行狀態,意思就是沒有斷電的意思~

原来是这个原因,我也怀疑是低电平的问题。

我也试了,亮度设置 100 确实没有电流声了。原厂系统没有设置亮度的功能,可能一直都是 100 亮度。

离线

#794 2022-04-04 18:14:42

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

司徒 说:

@zjzixuan
不好意思,不太了解你說的意思,你可以詳細說明一下嗎?

我想他是想麻烦你更新一下刷系统的包支持 ips 屏吧。

离线

#795 2022-04-04 22:58:10

光明之歌
会员
注册时间: 2021-06-26
已发帖子: 11
积分: 15

Re: 研究FC3000掌機的開源可行性

司徒 说:

@光明之歌
如果是這樣,原廠系統也會有電流聲才對~

@kendling
接上RX無法開機是因為RX腳位提供弱電流給F1C100S,導致F1C100S一直處於執行狀態,意思就是沒有斷電的意思~

原厂系统调不了亮度,有可能是固定在最亮的关系。

离线

#796 2022-04-04 23:01:37

光明之歌
会员
注册时间: 2021-06-26
已发帖子: 11
积分: 15

Re: 研究FC3000掌機的開源可行性

说起来这机器没有3.5耳机孔,插AV线那个口有什么比较方便的方法能转接成耳机吗?也不知道在开源系统下这个口还能不能用

离线

#797 2022-04-05 10:17:12

zjzixuan
会员
注册时间: 2022-04-04
已发帖子: 8
积分: 9

Re: 研究FC3000掌機的開源可行性

@kendling   我刷了fc3000_ips_od_jutleys_no_roms电量显示错误  玩了很久的游戏指示灯变红的时候插充电器充电  充了大概5小时开不了机了 一股烧焦的味
我的机子就挂了 
经检测是电源IC坏了 插充电器指示灯不亮 装干电池能开机  但耗电很快

最近编辑记录 zjzixuan (2022-04-05 10:40:07)

离线

#798 2022-04-05 10:20:07

zjzixuan
会员
注册时间: 2022-04-04
已发帖子: 8
积分: 9

Re: 研究FC3000掌機的開源可行性

@司徒   把ips_fc3000_v1固件里面IPS屏的信息代码提取出来    替换掉fc3000_v1_v2_flash固件里面的TFT屏的信息代码

离线

#799 2022-04-05 16:48:16

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

@zjzixuan
我没有试过玩到没电,我这边充电和使用都正常。

离线

#800 2022-04-05 19:04:46

zjzixuan
会员
注册时间: 2022-04-04
已发帖子: 8
积分: 9

Re: 研究FC3000掌機的開源可行性

@kendling  大佬fc3000的电源ic是哪一个啊   买什么型号替换

离线

楼主 #801 2022-04-07 08:11:03

司徒
Moderator
注册时间: 2020-02-13
已发帖子: 370
积分: 144
个人网站

Re: 研究FC3000掌機的開源可行性

@kendling @光明之歌
我的IPS FC3000到貨了,可惜,屏又換了,所以無法測試OD下的電流聲問題,原廠系統倒是沒有電流聲音,不過如果背光設定100可以暫解,那倒也是一個解法~

@zjzixuan
關於IPS屏的信息代码提取出来,這個需要逆向去找,難度有點高,也需要花費很多時間,建議換一台IPS V2版本比較快~
電源IC應該是位於如下位置,IC型號:LTH7
1_20220407-0810.jpg

离线

#802 2022-04-07 08:43:16

kendling
会员
注册时间: 2022-03-04
已发帖子: 91
积分: 102

Re: 研究FC3000掌機的開源可行性

@司徒
又换回 TN 屏了?我试试不装屏幕开机看有没电流声。

另外,我手上的 ips fc3000 是 v1 系统,没有 ngoego 模拟器的,可以试一下我抓到的初始化资料。

@zjzixuan 还可以看看 usb 下面那个小 IC 有没烧坏,丝印 7S 。司徒圈那个是 LTH7 。

离线

#803 2022-04-07 12:38:40

zjzixuan
会员
注册时间: 2022-04-04
已发帖子: 8
积分: 9

Re: 研究FC3000掌機的開源可行性

@司徒@kendling   两位大佬我买一部v2的机子赞助你提取固件  请问怎么联系你们

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn