页次: 1
Gamepad update: The user from Spain forum has Scaned his Gamepad PCB.
There is nothing about USB hardware as you can see.
74HC165 are simply shift register, so all keys are bitbanged over GPIO pins like an SNES Gamepad.
On the underside there is a switch to select Player1 or Player2.
So without hardware modifications there is no way to support USB in CFW.
@Situ
some news about the FC3000 USB port. In the Spanish Telegram group there is this guy who has his controller connected to a PC. and that's what his pc does. Looks like the controller is some sort of custom USB device, so you seem right, the FC3000 USB connector seems to be wired to the GPIOs, and the stock firmware uses some sort of custom USB driver.
Some Updates...
UBOOT
Raised RAM Speed from 156MHz to 216MHz (FC3000 did not boot with higher values)
GMENU2X
Using Sourcecode from @Apaczer (miyoo-beta)
Raised Max CPU from 864MHz(702MHz) to 960MHz (FC3000 hangs with higher values)
Added Reboot option to PowerDialog
Fixed the Battery Icons
Reset CPU Speed for links is set to 960MHz
TODO
Gather more current sourcecodes from emus/apps or executeables atleast
Remove Experimental USB cause it seems USB is wired to GPIO instead to USB Port on ARMCPU
??? maybe still some things or EOL
a very nice post , use translator...
https://www.elotrolado.net/hilo_opiniones-fc3000_2398096_s800#p1753260530
@situ
do you let these guys intimidate you now? stealing the work from others (ip, copyrighted games) and encrypting it in WST files and selling it for a profit. According to the German law, he violated some things. and he makes stress here because of "his" operating system? Please go ahead and let the guy talk.
The v1 ips1 version is broken.
The lcd init code was wrong, uboot bootlogo has wrong colors and the L and R buttons do not work as it should.
I solved the init code and uboot bootlogo issue.
Now i need to get L and R buttons to work right.
I will upload any linux image updates to google drive, the download links keeps still the same when overwriting the file.
So my post with the download links are always uptodate.
Nice feature
@Situ
i have an user from spain, he has the RB411-11A display, he downloaded my RB411-11A linux image but his display stays black.
i tried to recompile the uboot and gave him the image, stil black screen.
can you please compile a IPS1 (RB411-11A) uboot for me or look into source code why his display stays black?
maybe compiling a new uboot.img is enough and the issue lies at me.
thank you very much
PS:
I saw in the ips kernel patch file the last 2 lcd init cmd/data are
Lcd_Cmd(0x1020)
Lcd_Dat(0x1020)
But in your new kernel and uboot code, there is only
Lcd_Cmd(0x1020)
Is that correct or can be that the fault?
@司徒
regarding your dump tool from https://whycan.com/t_6647_5.html#p81824
i have a kind user in another forum who is willing to dump his v1 tft stock rom.
can he use this tool? i think that was for dumping the old stock rom right`?
Here is a video of the new FC3000 firmware (crappy recording, looks much better in reallife)
@neotendo
Thanks for updating download links. For SPI flash, may I know why do you need such tool or program ?
I want try to program a little logo display program or so.
My FC3000 v1 tft is wiped as i tried your images the first time (cause my device was not compatible, and flashed accidently the wrong file🤷🏻)
And as long i have no stock rom for it, i want something on the display instead a dead screen.
Just for fun
@EVERYONE
here we are!!!! the new FC3000 V2 IPS (WL-28H105-A1) Linux Firmware with Dualboot feature
You can dualboot the device with holding down SELECT button on poweron / reboot
1. Flash image with dd or win32diskimager or other tool to your sdcard
2. Resize partition to your max size of sdcard (keep the first 32MB untouched).
(windows users can use the part tool in archive)
3. Now you can add your favorite roms/isos into the /roms dir
- added all stock roms by Steward
- added reboot link in settings section/tab
- added bootlogos (uboot by steward, kernel by neotendo)
- added experimental usb hid host/otg support (testers welcome)
- added retroarch
- added 3 Duke Nukem 3D Links in Games section (with more gore/guts)
- Standard Atomic Edition
- XXX Nude patch
- Experimental Voxel Graphics
- updated snes9x4d
- updated pocketsnes
- updated fba
- added picodrive SegaCD/MegaCD link
- added regionfree sega/mega-CD bioses
- added SonicMegamix.iso
- added smsplus GameGear link
- changed some emulator settings
- added 2 new skins by TOX from 4pda forum
- and some more i can't remember smile
!!! DOWNLOADS !!!
V2 IPS (WL-28H105-A1) Image
https://drive.google.com/file/d/1sQHgIMvor9XyCdwoXLRgHMSkZN1qS8jd/view?usp=sharing
V1 TFT (T2812-M106-24C-7D) Image
https://drive.google.com/file/d/1kBBnL8WCpxwLgLxh2xZYLNaKy5R2yXvK/view?usp=sharing
V1 IPS (RB411-11A) Image
https://drive.google.com/file/d/1hssvVfCFVgUeO1uWj2B4d9mKVF-33rJE/view?usp=sharing
V2 TFT (T2815-M110-24C-25) Image
https://drive.google.com/file/d/16G0K0Dselu3h1lemog4blSduMjYsXEtA/view?usp=sharing
!!! I SEARCH THE STOCK FIRMWARE OF THE V1 TFT T2812-M106-24C-7D,
IS SOMEONE WILLING TO DUMP THE FIRMWARE PLEASE? THANK YOU !!!
@MOD: Please Delete post #1187, thank's
@Situ
is it possible to create a fc3000 flasher program for me (flash data into the internal flashrom)?
my idea is, i append my data to be flashed to the flasher program.
pseuso code
uint len_of_data = eof_flasher_program // the len of my data is written on top of my data
uint data_to_be_flashed_offset = eof_flasher_program + 0x0A
for ... len_of_data_offset
{
write( flash, data_to_be_flashed_offset ++ )
}
mydata
0x00 11 22 33 44 00 00 00 00 00 // "header" first 4 byte are 32bit len of data
0x0A FF FF FF AA AA AA AA BB BB // begin of data
hope you understand what i mean. thank you in advance
@司徒 原固件里有屏的驱动 不知道怎么提取http://ys-j.ysepan.com/144276938/419683995/j54535S3X84M6iTVSgXb2/f1c100s.img
in most cases you can not extract an driver and use it in other linux system, only if both are based on same code or so.
besides that, you can not do much with only the driver.
hope i am right with my hypothesis.
CPU Usage is pretty well on Debian 10 xfce4 (F1C100S @486MHz) ~
https://whycan.com/files/members/3145/2_20221009-0003.jpg
what a genius!!!
now add 3D acceleration support , hahaha , just kidding
Debian 10 (Buster) with XFCE4 Desktop on FC3000 handheld (ARM9 486MHz)
https://whycan.com/files/members/3145/2_20221008-2249.jpg
just amazing <3 , looks like bpp / pitch or something is wrong, but looking very good so far.
@neotendo 屏上的信息 YZTM081 JH011611
ok, another unknown display. do you tried different images?
if not, try the ips2 first please.
hint: if you look from an another angle onto your display and your images stays the the, you have an IPS display, if your image differs or inverts / change colors, you have an TFT display.
https://github.com/steward-fu/fc3000/releases/download/v1.0/fc3000_ips2_od_jutleys_no_roms.img.7z
https://github.com/steward-fu/fc3000/releases/download/v1.0/fc3000_old_tft_od_no_roms.7z
https://github.com/steward-fu/fc3000/releases/download/v1.0/fc3000_tft1_T2812_M106_24C_7D.7z
@Situ
i just found out that your dual boot uboot did not start on the tft1 (variant=3) version, nothing happens(or it starts the stock rom, cant really tell cause my stock rom is wiped).
i tried an older working uboot source code and copied over your patched start.s and uboot did not boot into linux.
the tft1 version has no multiplex lines, SELECT is on (4*32)+3 (PE3)
PS: I bypassed your dual boot function for the FC3000 V1 TFT T2812-M106-24C-7D until you maybe feel like fixing it
(i have no clue of arm assembler).
kind regards and thank you so much for your work and help
@司徒
yeah, duke is runing good now, finaly.
thank you very much, i am curios about your X11 attempt or whatever you have in mind.
i will take a look into enabling TV out, or do you allready have a clue how to enable it?
for partition resizeing in windows i recommend this tool, it is portable and can resize the partition without erasing the first 32MB
mde-free-portable.zip
@司徒
Why making an image?
My purpose was that we do not need an image anymore.
So the enduser did not have to resize partitons.
ok, after rethinking about it, i believe writing an image to sdcard and resize it is easier for an end-user.
maybe we can make a little tool for that? anyway, good job Stewen.
i got eduke32 source code from the official website i think.
would be great if we can compile higher versions.
you need todo some work to compile that code (Makefiles, Code editing etc).
https://dukeworld.duke4.net/eduke32/synthesis/old/2013/20131102-4128/
PS: i added more gore/guts and xxx patch (complete naked girls)
nude patched grp file
duke3d_20221006-1817.7z
more guts/gore GAME.CON (put file in dir where eduke32 executeable is)
GAME_CON.7z
@Situ
have you already tried my linux files for dual boot?
here is the new eduke32 executeable
eduke32.7z
@neotendo
I've tried uploading Google Drive, see if you can download it, if not I'll try another cloud drive.
https://drive.google.com/drive/folders/17VYuMTCWv7RpX3pcxKqRSbfWl5-Fzw5O?usp=sharing
thank you, it is compressing an eternity and downloads 3 x 2GB archive files.
給大家一點小小的幫助,FBA0.2.96.86的完整全套rom,共1379個rom。
A little help, the complete set of FBA 0.2.96.86, a total of 1379 roms.
链接:https://pan.baidu.com/s/1MbySGZ8CzSAYfKtTFcrJHg?pwd=gggg
提取码:gggg
cool, thank you, but i can't download it. website is not loading, maybe too far away from germany!?
can you upload to mega.nz or gdrive?
ok, just fixed eduke32....
compiled eduke32_20131102-4128 successfully and it is working without disappearing/flicker issues.
still savegame and demo not working. and playanim() function need to be fixed again.
decodeframe() function patched, animations playing back again.
maybe i will try to compile higher versions.
@Situ
looks like some datatypes are not compatible with f1c100s.
i can not load save game nor demos (demos are based on savegames/snapshots), it gives me error when loading savegame or a demo.
demo recorded in QEMU, FC3000 says wrong demo version, bypassing version check, same error as when loading savegame, eduke32 crashing, Demo and Savegames are ok in QEMU.
so i assume it is the same thing with the X,Y,Z issue (datatypes).
very confusing
eduke32.log before bypassing demo version
===========================
Incompatible demo version. Expected 0.2.196, found 0.2.50180
There were errors opening demo 1(code: 2).
eduke32.log after bypass version check
========================
sv_loadsnapshot: size: 8106826 bytes.
ud: 343
sws: 3590660
script: 2103296
animisc: 2397343
ERROR: NULL weapon! WTF?!
Wrote eduke32.cfg
Wrote settings.cfg
hash_find(): table not initialized!
hash_find(): table not initialized!
hash_find(): table not initialized!
hash_find(): table not initialized!
hash_find(): table not initialized!
hash_find(): table not initialized!
hash_find(): table not initialized!
hash_find(): table not initialized!
hash_find(): table not initialized!
hash_find(): table not initialized!
hash_find(): table not initialized!
hash_find(): table not initialized!
hash_find(): table not initialized!
hash_find(): table not initialized!
hash_find(): table not initialized!
hash_find(): table not initialized!
hash_find(): table not initialized!
hash_find(): table not initialized!
hash_find(): table not initialized!
ERROR: NULL weapon! WTF?!
Wrote eduke32.cfg
Wrote settings.cfg
just wanted let you know that.
@司徒
man, you are so skilled.
really strange how this CPU seems to not had math lessons in the elementary school, hahahha.
here is the "image" (!! FOR TESTING PURPOSE ONLY, NO FINAL IMAGE GUYS !!)
https://drive.google.com/file/d/1eEUu4_tPvH7hVs_U-Gwim441el1uvHnv/view?usp=sharing
1. Create Partition 1 with 32MB in size (FS is not important)
2. Create Partition 2 with the rest of your sdcard (fat32)
(Windows does not allow bigger partitions than 32GB, only with third party tools like minitool partition wizard)
3. Save Partition table to disk
4. Delete Partition 1 so it is unallocated, save Partition table to disk
5. DD your current/dualboot uboot.img to Partition 1
6. Extract archive to the Fat32 Partition
7. i added a fsck.vfat script when dirty bit is set (unclean shutdown), so it can take some time
to boot if dirty bit is set.
i do not know how important it is on an fat32 fs, but i added it because my solution is
to remount /boot as RW and mount /boot on /mnt in inittab.
maybe you can make it better (script is in /etc/vfatfsck.sh and is called in /etc/main).
- updated gmenu2x (press menu button for poweroff option)
- added reboot link in settings section
@司徒
you are soooo amazing man!!!! so it seems a math error on fc3000 hardware. i will take a look into G_MoveActors().
but I think that not only X is the problem, I think Y and Z are also affected.
PS: bypassing A_GetZLimits(int32_t iActor) in source/gameexec.c keeps the enemies on screen. they still have some bugs but did not disappear or flicker (i can fight against them).
finaly some results!!!!
thank you so much for your info <3
PPS: looks like the issue lies in getzrange() in build/src/engine.c, bypassing getzrange() in A_GetZLimits() has the same effekt as bypassing A_GetZLimits() complete.
@Situ
new system done!!
Created 2 partitions with minitool partition wizard, one 32MB and one with the rest of sdcard (win10 did not allow create fat32 partitions bigger than 32GB).
Deleted the first 32MB partition (32MB unalocated, 57GB Fat32).
dd uboot+kernel into the unallocated 32MB partition.
copied over my modded linux systemfiles to the big Fat32 partition, now the stock firmware and linux can access the /roms folder.
But looks like that the Stock NeoGeo emu accepts WST roms only.
- updated gngeo
EDUKE32
i think the error lies in drawsprite() function in engine.c, but i have not such a fast eye for buggy source code as you .
@司徒
I didn't say anything against retroarch, just that the video filters weren't that good for this hardware.
yes that's right, the eduke32 code is hard to understand.
even voxel based enemies are glitching, damn.
*user needs to resize...
but then you would have to have the roms twice on the sd card.
I'm trying to make the whole system on one partition, was able to mount /dev/mmcblk0p1 as rw and mounted partition 1 on /romdir.
have created /roms/sfc on partition 1, can access it with stock and linux.
in theory all contents from partition 2 can copy over to partition 1 and mounted on /mnt instead /romdir.
I also wrote a script which tests the fat partition for dirty bits and then runs fsck.vfat if the system was simply switched off (because of partition 1 rw mode).
updated snes9x4D and pocketSNES also.
@Situ
i tried your dual boot feature. we have the problem now, stock firmware search roms on the first partition (FC3000) where the rootfs is.
this partition has not enough space and our other roms are on the second partition (OD).
only solution that came in mind is to put all files in first partition and mount that as /mnt, so we have /roms folder in stock firmware and /mnt/roms in linux firmware.
or link the folders if possible, idk.
@Apaczer
I do not think that the FC3000 is powerfull enough for video filters, atleast without overclocking.
But we have now a fully emulation beast.
We can run linux, linux based emulators, retroarch and now the stock system, all with one big sd card.
I updated gmenu2x, fba
Added retroarch and eduke32(still buggy)
I will try to update some other emulators
Flashed the current kernel and uboot.
@Situ
My baterry icon still has no function. It is only changed from a dead icon(in older kernel/gmenu2x) to a cable(charge) icon.
@neotendo
Yes, you need put needed files in MicroSD for stock system but it is more handy to switch system without removing MicroSD.You can save state by using "save game" option and then provide the saved state to me.
https://whycan.com/files/members/3145/1_20220930-2229.jpg
i saved it, but preview picture is currupt, can not load back the save game, errors or savegame currupt in log file.
regarding sound issues:
i created a EDUKE.CON file with
"definesound ID FILE 0 0 0 0 0"
entrys from ID 0 to ID 2500.
every sound was replaced with a dummy wav file(a door close sound), no more currupt sounds, confused!
SAVEGAME + LOG
egam0.7z
eduke32.log.txt
MY EDUKE.CON + WAV FILE
EDUKE.CON.txt
NULL.7z
@neotendo
Try to "OR" SDL_DOUBLEBUF when call SDL_SetVideoMode() function.SDL_SetVideoMode(1, 1, 8, SDL_NOFRAME | SURFACE_FLAGS | ((fs&1)?SDL_FULLSCREEN:0) | SDL_DOUBLEBUF);
P.S. Update all of SDL_SetVideoMode() functions.
@Apaczer
Thanks for your information.
Too sad, it was not the solution. That's so strange and makes me angry.
Still glitching and disappearing
https://youtu.be/m1EGq6mR0QM
@neotendo
Try to "OR" SDL_DOUBLEBUF when call SDL_SetVideoMode() function.SDL_SetVideoMode(1, 1, 8, SDL_NOFRAME | SURFACE_FLAGS | ((fs&1)?SDL_FULLSCREEN:0) | SDL_DOUBLEBUF);
P.S. Update all of SDL_SetVideoMode() functions.
@Apaczer
Thanks for your information.
Thank's i will try that
@Situ
i try to change sounds from .grp file to wav/voc/ogg maybe that helps.
I play the same version on qemu and fc3000, on qemu eduke works fine but on fc3000 the enemies seems to fall trough the floor. (i saw 2 enemies in water but they had to be on the ground above).
enemies sometimes flicker or disappearing, very strange.
do you have any clue? i do not!
@neotendo
Yes, you can do overclock on your FC3000 handheld under GMenu2X setting. If you need high CPU speed, ex: 900MHz, you need to do hardware modding. If not, I think 702MHz is the best choice.
But i need to update gmenu2x right?
I tried deleting gmenu2x.conf too, but everytime when i set clock speed above 702mhz, fc3000 hangs.
Fix battery issue: https://github.com/steward-fu/kernel/commit/3dc11057d85302f41b8b23627fb247dadd7e4520
https://whycan.com/files/members/3145/1_20220926-1919.jpg
But I don't know how to calibrate it so far.
Great, i'll take a look, maybe i can find how to calibrate
@司徒
A4) yes the V1 one but only in uboot L204, kernel is ok
regarding duke, you can set sound to on, sound is playing but distorted and currupt. it sounds like sound engine is not stoping playback, or has problems with alsa.
timidity has nothing todo with the game sound.
here is my rootfs with working tmidity setup if you want
https://mega.nz/file/qKogBI5J#c8q3Leo4VioMvaECa_SBZvKscKSh2fjJZ3L8tj9aqdY
Video of my Eduke32 sound and enemies issues
https://youtu.be/qUdhwwFIhHs
@司徒
1) - had to change command binman to binman.py in Makefile (make gives error 'binman.py not found'), and change #!/bin/sh to #!/bin/bash in make_suniv.sh(maybe only on my system cause i use a linux subsystem on windows).
2) - fc3000_ips1 - do not ask me why, but i had to change the lcd color order from BGR to RGB (the last 0x36 command in lcd init, change data 0x09 to 0x08), uboot bootlogo was kind of inverted colors.
3) - i narrowed down eduke32 segmentation fault at animation playing to the decodeframe procedure in animlib.c, bypassing this function allows eduke32 to start and plays the animation sound without animation of course.
4) - do not know if it happens a second time, but when i do 'make clean' in new uboot folder, i can not compile it again. mkimage not found.
but i will try it another time again, maybe i got something wrong.
<3
@司徒
my eduke32 is running, i had to disable the playback of anm files, midi is playing fine with my rootfs, i added /etc/timidity.cfg, /etc/instruments, and used the libSDL_mixer.so from a miyoo rootfs.
Alsa gives me (snd_pcm_recover) underrun occurred warnings
Game plays fine but enemies are disappearing or glitching
Thanks for looking into that
@司徒
Thank you very much <3 for the kind words.
It's amazing how you changed the compilation process and added the uboot logo, very good work.
A lot of people are contacting me over youtube for the linux images, looks like we helped a lot of users.
I will try it tomorrow.
Thank you for your help, i am curious about eduke32
@neotendo
!! Updated TFT V1 (T2812-M106-24C-7D) Version !!
L1/R1 are hard coded to A/B so I added an L1/R1 simulation.
Hold X and tap DPAD Left for L1.
Hold X and tap DPAD Right for R1.
This allows you to switch sections in the menu.
!! NEW INSTALLATION PROCEDURE !!
https://youtu.be/WzH5UnQ9kCs
Download link for "FC3000_TFT_V1_(T2812_M106_24C_7D).7z"
https://mega.nz/file/mHxxAT6S#WEbO1RbM4e7ef681znHvwWmPG03Hl-iPUxTPEa3vUZo
FC3000 in Action
https://youtu.be/h37twdx07OQ
Hi there,
here is my IPS V2 (WL-28h105-A1) Linux image.
- updated FBA
- added RetroArch
- added Duke3D Atomic Edition (but buggy as hell, sound and enemie issues)
- added Bootlogo
- Some little fixes
!! this time it has a new installation method in windows, watch my video !!
https://youtu.be/WzH5UnQ9kCs
https://mega.nz/file/mbQGHSBZ#MKj7x0QSqlqnXtuLDNwyUMAHtgTtl41zLdezMIIf5Io
FC3000 in action
https://youtu.be/BlkkFCp-XCE
@司徒
Nice to hear that, thank you.
Eduke32 is running, i unpacked the FC3000 and MIYOO rootfs, copied over the libSDL_mixer.so , timidity.cfg and intruments to the FC3000 rootfs, repacked it and eduke32 has music now.
And i had to bypass the play_anim() routine to execute it, eduke32 cannot playabck the movie files.
Anyone here familiar with the source code of eduke32?
I'm still having trouble with it.
The enemies or many sprites disappear into the ground, flicker or go through walls.
The sound also sounds broken, in a log I read something about "alsa pcm underrun".
I would appreciate information, thank you.
@Apaczer
thank you very much, eduke32 has now music.
I copied over timidity.cfg, instruments/ and libSDL_mixer.so libs from miyoo rootfs and put it into the FC3000 rootfs.
todo...
- sound is very curupted (cracking and seems to play every sound file in the grp file)
- enemies deisappearing when duke looks at them or gets closer
@neotendo
[Q1] is there a chance to get duke3d running on fc3000?
[Q2] i have the backlight problem in uboot aswell, no light.
I will check these issues soon.My new FC3000 arrived ~
https://whycan.com/files/members/3145/1_20220916-1010.jpg
https://whycan.com/files/members/3145/2_20220916-1010.jpg
ahhh very cool, another CPU but a known LCD, uboot_ips2.img should work out of the box
@司徒
thank you very much. i have no clue about repos and maintaining them.
maybe you can look over mykernel and myuboot and replace your kernel and uboot sources (backup your kernel/uboot of course)
oh, the battery symbol is not showing the current battery level, maybe that needs to fix.
just found eduke32 on your website, i compiled it but on fc3000 init is failed cause no mouse found and libmi_sys.so not found.
is there a chance to get duke3d running on fc3000?
@司徒
all right, i created all known variants.
./run.sh
...
echo "usage: run.sh /dev/sdX [pocketgo|trimui|fc3000]|[fc3000_ips1]|[fc3000_tft]|[fc3000_ips2]"
echo "fc3000_ips1 = RB411-11A -> V? IPS"
echo "fc3000_ips2 = WL-28H105-A1 -> V2 IPS"
echo "fc3000_tft = T2812-M106-24C-7D -> V1 TFT (old version)"
...
i did a ugly backlight patch, i added gpio_set_value( PE6, 1) in sunivfb.c
mykernel.tar.gz = your kernel source with my modifications
myuboot.tar.gz = your uboot (i think not modified but run.sh)
ready uboot image versions
=================
normal = your normal fc3000 option
ips1 = ips patch from your github (LCD: RB411-11A)
ips2 = my v2 ips (LCD: WL-28H105-A1)
tft = my v1 tft (old version) (LCD: T2812-M106-24C-7D)
to change bootlogo create a hex_splash.h file
with 16Bit RGB565 raw datas
uint16_t hex_splash[]={
};
i used lcd-image-converter or png2hex/img2hex
hopefully i did not ruined the source code and you can use it,
thank you very much for your linux, effort and help <3
premade uboot images
https://drive.google.com/file/d/1ife8acluRxljk0O5hSw9CjgOqrbOFkVy/view?usp=sharing
uboot source code
https://drive.google.com/file/d/1CvxLPG-WMmwAezmEHv3-6AyqPO8zeeJM/view?usp=sharing
kernel source code
https://drive.google.com/file/d/1VkSLqAICzeq3SNva4Wh_2iZTD1xzID8O/view?usp=sharing
bootlogo tools
https://drive.google.com/file/d/1Zs9owQ_c6c-6_f7Fjq1x2UwIy6k_oasA/view?usp=sharing
!!! KEEP IN MIND, MYKERNEL AND MYUBOOT EXTRACTS TO
KERNEL/ AND UBOOT/. DO NOT OVERWRITE YOUR FILES !!!
Reagrding bootlogo: i am right that the logo is schown when the kernel is loaded? is there a way to show the logo when uboot starts?
@Situ
i saw in your kernel source code you already patched in the ips init code, do you have the old tft init code still
(your lcd init code in sunivfb.c matches the kernel_fc3000_ips.patch)?
user @Aksenenkoav1990 is using the fc3000_tft_od_jckl_no_roms.img.7z image.
and i wanted to compile a uboot with his bootlogo for him.
PS: it looks like the same code atleast. or do the two displays have almost the same init code?
@neotendo
Thanks for your efforts.
Is it possible to share the flash file (FC3000 IPS v2) for MicroSD to us ?Since my new FC3000 will arrive soon, is it possible to provide the patch file for kernel source to me ?
Thanks in advance.
Thank you. Of course i give you the image , its all based on your work.
I only do not know how to create patch files.
I can compress my kernel and uboot folder if you want.
I even got the bootlogo working now
Forget the png2hex thing, here is a better tool i got from @Aksenenkoav1990
only thing you need is to add things like "uint16_t hex_splash[]={" and "};" manually
@Situ
your png2hex tool is now working on windows. looks like the tool did not like my png file, i converted an bmp now correctly.
only thing is, win32 version outputs the data into stdout.txt
and your (*p)++ seems wrong, i changed it to *(p++)
changed your source code to win and linux version
@Situ
ok, i converted your png2hex program to FreeBASIC, but something went wrong, bugfixing time... again!
buggy source code and windows executeable
img2hex.7z
screenshot
@neotendo
^
your png2hex didn't work, it counts up, nothing more.
I saw this on my compiled png2hex test, it dumped a lot of ncurses garbage and some uint16 stuff in between, but all values just count up, just like your miyoo.h.
I don't have any developer toolchain or anything like that on Windows, only Freebasic, I use it to "script" something quickly, but my attempt with png2hex wasn't good enough, maybe because my PNG is 24-bit.
Cross Compile to windows in linux shell is pure hell.
*Bootlogo still shows only shortly before gmenu starts
@neotendo
Thank you
@neotendo
Okay, thanks for your testing ~
I will check this issue when get my new FC3000, ~
hahahaha, really? ok, i will be waiting
can you compile png2hex.c and convert this test logo for me please?
i only have linux subsystem in window 10, and it does not allow me to use hardware such GraphicSystem (SDL not working)
i even do not know how to create a 16bit png file.
@司徒
no, sadly did not work either.
tft - screen flashes bright shortly, blackscreen/no backlight, logo flashes shortly before gmenu starts.
ips -screen flashes shortly but dimmed, blackscreen/no backlight, logo flashes shortly before gmenu starts.
i think there must be a (backlight on/off) command somewhere in the code.
ps: my logo seems a 24bit image, must create a 16bit.
@司徒
Unfortunately it doesn't work, the screen only gets light up shortly before the menu.
nano suniv_defconfig -> CONFIG_LOGO=y, menuconfig enabled logo.
sunivfb.c
======
static void lcd_delay_init( XX )
...
//memcpy((uint8_t*)mypar->vram_virt + (320 * 240 * 2 * 1), hex_splash, 320 * 240 * 2);
//
// Enable Boot Logo
//
//mypar->app_virt->yoffset = 240; // Disable
mypar->app_virt->yoffset = 0; // Enable
...
static int myfb_probe( XXX )
....
//
// Boot Logo
//
fb_prepare_logo(info, 0);
fb_show_logo(info, 0);
setup_timer(&mytimer, lcd_delay_init, 0);
mod_timer(&mytimer, jiffies + HZ);
device_create_file(&device->dev, &dev_attr_variant);
return 0;
}
@司徒
i do not want X11, it is an option for someone who is able to code linux. this device is allready open now and is running linux, in theory X11 on framebuffer should be doable, but i do not need it.
PS: just got the keypad working correctly now.
only thing i could need is how to enable boot logo again, i tried many things, but no logo was shown during boot
@Aksenenkoav1990
Basically, you can build uboot and kernel from scratch.
These logos have been removed from source code.
Source: https://github.com/steward-fu/fc3000
I tried to display a logo, but somehow it didn't work.
@neotendo
Incredible DOOM!
Does that mean it is possible to run linux on FC3000 V2 IPS (WL-28H105-A1)?
it is currently running linux without X11 but with an SDL based menu.
there is Doom, Quake, Lot of Emulators, Audio/Video Player ....
but i need to fix some butons, when you press L1, SELECT key is pressed too, R1 is START also.
are you a user(Txuseol) from a spanish forum?
@neotendo
You can try latest port of the FBA: https://github.com/Rezzy-dev/fba-miyoo-playable/releases/tag/releaseIt fixes some stuff and you can open Menu with RESET button. For recompiling use Miyoo toolchain from steward's repo.
Thank you, i just downloaded your fba binary, works great
Wow, amazing !
Since such LCD panel lacks of tearing signal, it is not possible to fix.
I think you have done the best thing that Linux OS can run on FC3000 handheld and you also extended their life, ~
the stock rom seems to run faster or something, there is less tearing (it seems to me atleast).
i love the aspect that linux is running on this device, you can run X11 or simething also in theory.
SNES emulation is a bit slow, whyever, but you can now play all other things on this device.
thank you so much for your help and warm words <3
i will upload a new linux image when i get the keypad working correctly
@Situ
Thank you very much <3
I present you..... DOOM runing on the FC3000 V2 IPS (WL-28H105-A1) but guess what, the buttons are mapped different or my keyboard.c code is messed up.
feels like L1 is strafe left and SELECT, R1 is strafe right and START at the same time in Doom.
START and SELECT do nothing in Doom.
and I noticed with both FC3000 that the image has tearing, as if no vsync is on or something. can we fix that?
@neotendo
Yes, the LCD panel is same as my IPS FC3000.
Unfortunately, it has been put into Taiwan garbage truck gracefully...The possible way to initialize the LCD panel properly is to collect all of LCD models and then try each initial code on this device.
hahaha, farewell FC3000.
i tried already some init codes, only st7789 in swap RB order give me some garbage on screen and i can see that your test program tries to write data on the left side (the RGB stripes), but they are all Black and White
@neotendo
You ? ha ha, sound great !
According to the spec of TL866, it can dump data from SPI flash and supports W25QXXX used in FC3000.
Yeah, me hahaha, i only need the display initial code as i learned.
I tried your lcd test image and i got garbage on screen, ips linux image shows nothing only backlight.
I must see how i can read the flash, in circuit or desolder it and try to solder pins on or something, as i do not have such adapter.
!!! Celebrating Post #1000!!!
I proudly present.... Linux for the (originally incompatible) TFT FC3000 (old version)
A notice:
L1/R1 are hard coded to A/B so I added an L1/R1 simulation.
Hold X and tap DPAD Left for L1.
Hold X and tap DPAD Right for R1.
This allows you to switch sections in the menu.
Hopefully someone can use this firmware, thanks Situ for your hard work and help to port your linux to my FC3000 (old version).
Download link for "fc3000_old_tft_od_no_roms.7z"
https://mega.nz/file/jbxiWRZa#JmnwkdG57oYORvfYo9LbUwHZ1CRjU52H_5ppMoCuh80
FC3000 in Action
https://youtu.be/h37twdx07OQ
@司徒
Noise is gone when setting backlight to 100.
Unmodded= you provided me the code for "dac.c" to poweron the amp chip, but only what happend was that the green led lights up.
So i bypassed the shutdown pin from the sound amplifier to 3.3v, cause uboot did not poweron the amplifier.
I got it working in "dac.c", green led on, and amp on.
So, everyone can use our linux version without modify the hardware.
I want to dump my OS like your linux images...
Partition 1 - 32MB empty (uboot)
Partition 2 - 256MB fat32 FC3000 (rootfs,mininit)
Partition 3 - ~2GB fat32 OD (folders,configs,menu etc)
All in one .img file.
The user has to expand Partition 3 after flashing on sdcard to the rest space
@Situ
All right, sound is working with unmodded connection.
Now the firmware is able to run on unmodified fc3000 old version.
I need to flash your linux firmware without roms, and dump it with my uboot.
Can you tell me how to dump only the needed data like your linux images (~2GB)?
dd ..... bs=2048M count=1 ?
I do not want to dump a 32GB sdcard.
The kernel source code needs still some cleanup, but i was abe to compile it with
./run.sh fc3000_old
PS: only thing left, maybe fixing the battery level icon (shows dead/empty battery all the time)
@Situ
Thank's for the L1/R1 information, i will try it.
i will try to edit the u-boot code to add an fc3000_old variant, so everyone can compile kernel/uboot atleast.
i still have an rootfs problem. rootfs is too small and does not boot, but as long i can boot your linux with my u-boot, i am happy with that.
@司徒
[A1] no problem, not important
[A2] "I" now working without modification "I_MENU = ((32 * 0) + 3);"
[A3] ahhh, that's logical then
[A4] till now i do not knew how to set the brightness, now after configure the system to 100% brightness, all went fine
[A5] Danke<3
[A6] just came in my head, only an idea
I thank you so much for your help, my FC3000 would be complete dump without you. i am happy to work with you, was a lot of fun.
i wil try to optimice the modified code, maybe add a new variant (fc3000_old).
i will even try to enable the snd_shutdown pin via gpio, so everyone who needs this firmware can use it without hardware modification.
can you tell me how i can add a new variant?
i saw in an other forum that someone got the .wst files decrypted, do you have the tool or can you maybe ask the user for his tool please (User: aoa)?
https://boards.dingoonity.org/other-game-systems/fc3000-linux-porting-from-scratch/100/
@Situ
I got all buttons working, only need to cut traces from L1,R1 and connect it to free io pins on mcu if possible.
do_input_request(I_MENU,"menu") and gpio_get_value(I_MENU) like all other Inputs.
L1 and R1 are simulated (L1 = Y+LEFT, R1 = Y+RIGHT) to change sections in gmenu2x atleast.
MY 5 CENTS: i guess the encryption/decryption chip is only for the roms when inserting the "cartridge". these roms (ziped files found in folder pro/rom) ends with .ky and looks enrypted in hexeditor.
@Situ
All buttons but I(Menu) working now.
Since my I button connects to PA3 i think this pin is not in input mode!?
PS: when reading ((32 *4) + 6) system does not boot when Green LED is on via DAC.C (your attempt to enable sound but only did the Green LED Light up)
AND.... the coil noise is gone when setting backlight to 100%
PPS: Thats not me in the twitch stream
@司徒
L1/R1 are electrical connected with A/B, i must cut the trace and connect it to any free pin on the mcu if possible.
atleast i want to get A,B,X,Y,START,SELECT,I working.
the whinig noise in the speaker comes from the LCD, when i press I the noise is little lower.
i will take photos from the pcb for you of course.
i changed some code for testing in...
static void fc3000_handler(unsigned long unused)
and
static int __init kbd_init(void)
now a have sega buttons A,B,C (FC3000 Buttons X,B,A) in Picodrive Emulator working
suniv-keypad.c_20220829-2012.txt
PS: FC 3000 buttons A and B working. when i press A or B in menu, they are corresponded with (B=Cancel, A Select).
funny, traced the lines, for example A goes to PE7 but has to write PE5 in the code
and here is a video about the "whining" sound
https://youtu.be/RFDxZAKQIuo
my FC3000 came from hell
@Situ
Tracing my buttons done!
L1 = A
R1 = B
i tried this, but results are not as expected (UP/DOWN/LEFT/RIGHT are working)
suniv-keypad.c in function static int __init kbd_init(void)
else if(suniv_variant == 2) {
I_UP = ((32 * 5) + 0);
I_DOWN = ((32 * 5) + 5);
I_LEFT = ((32 * 5) + 4);
I_RIGHT = ((32 * 4) + 2);
I_A = ((32 * 4) + 7); //PE7
I_B = ((32 * 4) + 5); //PE5
I_X = ((32 * 4) + 9); //PE9
I_Y = ((32 * 4) + 8); //PE8
I_L1 = ((32 * 4) + 7); //PE7 (L1 = A)
I_R1 = ((32 * 4) + 5); //PE5 (R1 = B)
I_MENU = ((32 * 0) + 3); //PA3
I_L2 = ((32 * 4) + 10);
I_R2 = ((32 * 4) + 7);
...
@neotendo
ha ha, it seems very different compared with our FC3000.
It is more easy to resolve the sound issue if cut the SHUTDOWN line and then connect to 3.3v.
For debug purpose, you can also use UART0 for debug log.
Haha, ok, i bypassed the shutdown pin to 3v from the spi flash, sound is working now but there is a whining noise (from display or a coil)
I try to trace the buttons at the moment, i found out that L1 and R1 are connected to A and B, what a shame.
@Situ
I'm going crazy , the only thing that happens is that the green LED lights up hahaha
The Green LED is connected at Pin 65(PA1)
i slowy believe that my board has many different pinouts / connections then yours
maybe i cut the shutdown line and wire it to the green LED, so i can use the uart1 later for debugging if needed, because snd shutdown line is connected to UART1 RX (PA2 Pin 64)
@司徒
hmmm, ok... i have no main in my selfmade rootfs (i think buildroot does not compile all what is needed, i believe there is no SDL, X11 or whatever either)
this is in the main file from your prebuild linux images
#!/bin/sh
export HOME=/mnt
export SDL_NOMOUSE=1
swapon /mnt/.swap.img > /dev/null 2>&1
/usr/bin/daemon&
while [ 1 ]
do
cd /mnt/gmenu2x
./gmenu2x > /dev/null 2>&1
done
And it boots into that menu
But i want to switch to the "filebrowser" menu
@司徒
(injecting lcd code into stock rom) - thats too much for me
(wrong colors) - Fixed
(Green LED) - Not important
(Sound) - Can you point me to the right file? I then have to find out the port/pin and then change it in the file, right?
(Buttons) - I then have to find out the port/pin and then change it in the file, right?
ps: how i can enter the gmenu2x app? i accidentally accessed it yesterday and fc3000 boots into gmenu2x everytime, now it's gone after flashing linux image of course.
pps: fc 3000 does not boot with my rootfs, filesize is only 25MB, it's missing the boot folder, but fc3000 does even not boot after manually adding boot folder.
kind regards
@司徒
IT'S ALIVE!!!
But it seems this hardware is much different then yours...
- sound not working
- most buttons not working
- colors wrong (ps: i only updated uboot atm, device is not booting with my rootfs and mininit)
- green power led not working
atleast fc3000 is running your linux image
thank you very much for your help <3
ps: is it possible to inject the new lcd code into an stock v1 or v2 rom?
@neotendo
Since I have stopped maintaining FC3000 some time ago, it is recommended to port by yourself.
If you need help or suffer from problem, it is welcome to post your question.
I don't think I'll be able to do it, I have no idea where to start or which files to change.
I have no idea how and where I swap R and B, for example.
@Situ
screen orientation seems wrong. your display starts from top with color blue, my display starts with red color from left
pps: switched the mode from RGB to BGR and changed MX,MY,ML (cmd 0x16, dat 0x20), changed window area
i think we can shorten the init routine, looks to much, but atleast we have some good results
used datasheets
HX8347-D_Himax.pdf
HX8347.pdf
@司徒
again, nothing , all white / only backlight
ps: i did it!!! took your test_6 with the "snow" and added command 0x22 at the end of init
(cmd 0x22, write sram, hx8347)
main.s.txt
pps: test_7.s works also, added ldr r0, =0x22(bl lcd_cmd) at the end of init
@hox
thank you very much
Unfortunately I don't have a logic analyzer. it was the same for me, I read that I can make my v1 a v2, then I thought that I would start a dump program, but unfortunately it was an ips flasher. nothing is possible without stock old v1. apart from what Situ and I try, we can't do anything else for the device. unless someone has the same old v1 and would dump the rom
keep your device if you still have it, maybe we can run situ's linux on them later
@司徒
right, of course. silly me. the data runs naturally over this bus. I'm excited, seems like we're on the right track.
many thanks for your effort
ps: i know much about electronics, i know that the hx8347 for example is an mcu, i simply forgotten some logic in my brain, hahaha
I would work with the test_6 source code, test_7 seems to do something different somehow. did you program the "snow" like this or should it be 3 color bars?
neotendo 说:@Situ
fc3000 starts with a white screen now. is that right?
here is website i found about screen, (https://www.skytech.ir/product_details.aspx?ID_Parts=4919&T2812-m106-24c-7d-2.8inch-lcd-tft-hx8347-driver)
i can't open it, hope this could help you
thank you very much, unfortunately there is no information or downloads on their site, I wrote via the contact link, let's see.
@Hox
Thank you
Here some more informations
https://www.ramtex.dk/display-controller-driver/rgb/hx8347.htm
@Situ
A1: Thank you very much, maybe i can find someone with the same model, a dump tool would be handy.
A2: my device has an tft display i think (T2812-M106-24C-7D, maybe an HX8347 driver) cpu is M800.
i would be very grateful if you would help me there at least to have linux on it
thank you
hi there, i have bricked my v1 old version, was trying to dump the stock rom but used a flasher image instead.
does anybody have the stock rom from the v1 old version (M800 cpu, tft t2812-m106-24c-7d) or can anyone point me in a direction to port the linux to this device?
thank you very much
页次: 1