Hacking EZFlash Omega Skins

t5b6de

Active Member
OP
Newcomer
Joined
Apr 17, 2018
Messages
26
Trophies
0
Age
35
XP
328
Country
Germany
So now, skinning the ez flash iv has become very popular, so i decided to modify the ezkernel.bin upgrade file another splash screen, which i used on my ezflash iv already.
The serif font is very annoying also.
I did not found a skin tool so i wrote my own.

I'ts currently only working with the original ezkernel.bin with FW 3 and K 1.01
It's based on replacing the raw bitmaps in the rom, very simple.
But i did not found the blue EZ FLASH splash Screen, only the second with the explosino and the big omega sign.

I will supply the app and an example ezkernel here in few hours.

kind regards

----

So Warning: This Software is written in one night. It can be have bugs. You should update your ez flash omega to FW3 K1.01
Use this software on your own risk!
Then take your ezkernel.bin
save it anywhere you can read and write files.
Open the ez flash omega skinner, click on file and then on open firmware.
Choose your ezkernel.bin. If the file is modified or not correct firmware it will give warnings. (I implementet crc32 check and the crc of original is harcoded)

You can proceed but it I do not recommend this.

If all goes right, the applications is showing the Screens,and images:
skinner_original.png

If any picture is showing garbage or noise, do not proceed:
skinner_wrong-file.png

You can export all pictures to png files in the application directory clicking on file, export images.

You can import images klick on load image.
This have to be 24 Bit RGB pictures with 8 bit per channel. bmp, png and jpg should work
i recommend bmp or png.

Font-Maps are checking only green channel if the value is higher than 128.
Reason: the Bitmap stored in the Firmware is only 1 bit per Pixel.

the wide chars map contains all chinese and japanese and some other stuff.
It is truely large and wont be displayed at all. You have to extract the image and show it in an external viewer.

If you have all modifications done, click on file and then on save.
It will create a new file, named as the old one with additional _edit.
So you do not have to backup the old one.

If anyone has more information about to change the first splash screen, let me know.

happy modifying.
 

Attachments

  • ezflashomegaskinner.zip
    1.2 MB · Views: 920
  • Screen20180417-223915.png
    Screen20180417-223915.png
    129 KB · Views: 1,980
  • skinner_mod.png
    skinner_mod.png
    91.5 KB · Views: 1,725
Last edited by t5b6de,

t5b6de

Active Member
OP
Newcomer
Joined
Apr 17, 2018
Messages
26
Trophies
0
Age
35
XP
328
Country
Germany
I'll try.

I hope i can make it more dynamic, cause this is very static, offsets of the images are hardcoded.

Next months i think i'll find not that much time to code, cause i move to a new home there is much work.

Btw. i found out that i've forgotten the icons of folders, games and other files.
I will plan it for the next release, first i have to find the correct memory adresses of the pictures.

i will try to make a config file, which is editable so that everyone can add support for further versions.

kind regards.
 

t5b6de

Active Member
OP
Newcomer
Joined
Apr 17, 2018
Messages
26
Trophies
0
Age
35
XP
328
Country
Germany
As pomised, i updated the software.

optics changed much cause it's dynamic now.

I did not find an algorithm automatically detect images. so i created a xml file with offset definitions and image sizes.

i've added support for k1.01 fw3 and the newer test versions up to k1.02 T3

this piece of software is very simple. but it allows to change every file, mostly like a graphical hex editor.
It works also with ez flash iv kernel if you write your own definition.

i recommend to add the checksum to the definition if you want to update your edited file.
maybe i will add an automatic update mechanism to the definitions-file, or i will ignore the images on checksum calculation...
I have to think about.

kind regards and happy modding.
 

Attachments

  • Release.zip
    11.3 KB · Views: 397

kuwanger

Well-Known Member
Member
Joined
Jul 26, 2006
Messages
1,510
Trophies
0
XP
1,783
Country
United States
1.02 and FW4 will be released today. I'll post the offsets of font color and images

Do you believe these offsets will be the same for the foreseeable future or will they change? Could you also point to the location of the Chinese/English fonts? If you do not believe the information will remain static, could you place a table at a fixed offset in future kernels/firmware to find the images/colors/fonts? I think that would provide enough information for complete skinning.
 

EZ-Flash2

Official EZ-FLASH Stuff
Member
Joined
Jul 16, 2003
Messages
1,108
Trophies
3
XP
3,476
Country
China
Do you believe these offsets will be the same for the foreseeable future or will they change? Could you also point to the location of the Chinese/English fonts? If you do not believe the information will remain static, could you place a table at a fixed offset in future kernels/firmware to find the images/colors/fonts? I think that would provide enough information for complete skinning.

We will try to fixed the resource offset in future release.

--------------------- MERGED ---------------------------

As pomised, i updated the software.

optics changed much cause it's dynamic now.

I did not find an algorithm automatically detect images. so i created a xml file with offset definitions and image sizes.

i've added support for k1.01 fw3 and the newer test versions up to k1.02 T3

this piece of software is very simple. but it allows to change every file, mostly like a graphical hex editor.
It works also with ez flash iv kernel if you write your own definition.

i recommend to add the checksum to the definition if you want to update your edited file.
maybe i will add an automatic update mechanism to the definitions-file, or i will ignore the images on checksum calculation...
I have to think about.

kind regards and happy modding.


the empty screen? is the recent played game background actually.
 

t5b6de

Active Member
OP
Newcomer
Joined
Apr 17, 2018
Messages
26
Trophies
0
Age
35
XP
328
Country
Germany
Fixed file offsets for every element would be very neat. but it is not possible in every case or hard to realize.

related to the font color: I do not have any idea where to find the values. I have to add support for this into my application.

And by the way, wrong modified roms can damage the ez flash.

I do not have any idea what is gonna happen when you flash a corrupted firmware on your ez flash Omega or ez flash iv.

kind regards


Gesendet von meinem Pixel 2 XL mit Tapatalk
 

EZ-Flash2

Official EZ-FLASH Stuff
Member
Joined
Jul 16, 2003
Messages
1,108
Trophies
3
XP
3,476
Country
China
here is the offsets of kernel 1.02 final, yesterday after release, we found some bug and emergency taken down the kernel.

font color offset: 0x154A88

color_selected = 0x6A80
color_text = 0x7FFF
color_selectBG_sd = 0x7C00
color_selectBG_nor = 0x294A
color_MENU_btn = 0x5294
color_cheat_count = 0x03E0
color_NORFULL = 0x001F
color_btn_clean = 0x7C00

0x0009C5A8 gImage_English_manual
0x0009EBF0 gImage_Chinese_manual
0x000A1238 gImage_NOTFOUND
0x000A5D38 gImage_icon_GB
0x000A5EF8 gImage_icon_FC
0x000A60B8 gImage_nor_icon
0x000A6278 gImage_icons_folder
0x000A6438 gImage_icons_gba
0x000A65F8 gImage_icons_other
0x000A67B8 gImage_MENU //launch menu/dialog
0x000AD5B8 gImage_RECENTLY
0x000C01B8 gImage_HELP
0x000D2DB8 gImage_SET
0x000E59B8 gImage_NOR
0x000F85B8 gImage_SD
0x0010B1B8 gImage_splash
 

t5b6de

Active Member
OP
Newcomer
Joined
Apr 17, 2018
Messages
26
Trophies
0
Age
35
XP
328
Country
Germany
I tried to change the colors, but where is the color from the checked checkboxes in the settings screen?

Where is defined which color the transparent color is from the file and directory icons?

Cheatscreen: Where is the Colors defined, or is there a hidden background? It seems not to be a loaded picture.

Loading Screen: if textcolor is set to black, it is not possible what the module is currently doing.
Where can i define the background color of the loading screen?

kind regards


EDIT:
Transparent Color ist defined by text-color.



EDIT 2:

I've added newer Version of my Skinner, it's renamed to universal skinner cause it can edit all bitmap based files.

definitions.xml is updated to current release, i removed the test releases.

The skinner now detects even modified rom. if the rom has anothe checksum anyway, you can it load and choose one of the possible layouts from the menu.

until i i developed the color picker dialog for the colors, the colors are loaded as 1x8 Pixel bitmap. Each Pixel represents one color.

kind regards.

EDIT 3:
I've added my personal mod to this post. It's based on localhorst's ezflash iv skin (big thanks to him)

but i've some issues, cheat choosing screen is bad readable, same on loading screen (dark grey text on black screen)

feel free to test.
 

Attachments

  • universalskinner.zip
    12 KB · Views: 477
  • ezkernel_mod.zip
    834.6 KB · Views: 379
Last edited by t5b6de,

t5b6de

Active Member
OP
Newcomer
Joined
Apr 17, 2018
Messages
26
Trophies
0
Age
35
XP
328
Country
Germany
i tried to update the definitions file for current firmware fw5 K103, but i cannot find the color-map. can anyone help me please?

Maybe it is 0x154f08 but it seems to be have different or more colors?

kind regards

EDIT:
It is the address mentioned above.

but there are two unknown colors, black and a pink one. I dont know where they are used.

new Definitions.xml file, added support for current kernel and firmware.

Code:
<?xml version="1.0" encoding="utf-8" ?>
<definitions>
  <file chksum="0x9e7b89fe" comment="EZ-Flash Omega FW3 K1.01">
    <bitmap offset="0x09b3f8" width="120" height="80"  color="16">Not Found Image</bitmap>
    <bitmap offset="0x0a0978" width="128" height="110" color="16">Dialog Background</bitmap>

    <bitmap offset="0x0dfb78" width="240" height="160" color="16">Splash Screen</bitmap>
    <bitmap offset="0x0ccf78" width="240" height="160" color="16">SD Card Screen</bitmap>
    <bitmap offset="0x0ba378" width="240" height="160" color="16">Nor Flash Screen</bitmap>
    <bitmap offset="0x0a7778" width="240" height="160" color="16">Settings Screen</bitmap>

    <bitmap offset="0x09fef8" width="16" height="14" color="16">Icon GB(C)-Game</bitmap>
    <bitmap offset="0x0A00B8" width="16" height="14" color="16">Icon NES-Game</bitmap>
    <bitmap offset="0x0A0278" width="16" height="14" color="16">Icon NOR-Flash Entry</bitmap>
    <bitmap offset="0x0A0438" width="16" height="14" color="16">Icon Directory</bitmap>
    <bitmap offset="0x0A05F8" width="16" height="14" color="16">Icon GBA-Game</bitmap>
    <bitmap offset="0x0A07B8" width="16" height="14" color="16">Icon Unknown File</bitmap>

    <charmap offset="0x09fef8" width="16" height="14" chars="6" color="16">Icons as Char Map</charmap>

    <charmap offset="0x046f64" width="8" height="12" chars="128" color="1">Ascii Char Map</charmap>
    <charmap offset="0x047565" width="16" height="12" chars="7614" color="1">Unicode Char Map</charmap>

  </file>
  <file chksum="0x0235becf" comment="EZ-Flash Omega FW4 K1.02">
    <bitmap offset="0x0009C5A8" width="70" height="70"  color="16">QR Code Manual (EN)</bitmap>
    <bitmap offset="0x0009EBF0" width="70" height="70"  color="16">QR Code Manual (CN)</bitmap>

    <bitmap offset="0x000A1238" width="120" height="80"  color="16">Not Found Image</bitmap>
    <bitmap offset="0x000A67B8" width="128" height="110" color="16">Dialog Background</bitmap>

    <bitmap offset="0x000AD5B8" width="240" height="160" color="16">Recent Played Screen</bitmap>
    <bitmap offset="0x0010B1B8" width="240" height="160" color="16">Splash Screen</bitmap>
    <bitmap offset="0x000F85B8" width="240" height="160" color="16">SD Card Screen</bitmap>
    <bitmap offset="0x000E59B8" width="240" height="160" color="16">Nor Flash Screen</bitmap>
    <bitmap offset="0x000D2DB8" width="240" height="160" color="16">Settings Screen</bitmap>
    <bitmap offset="0x000C01B8" width="240" height="160" color="16">Help Screen</bitmap>

    <bitmap offset="0x000A5D38" width="16" height="14" color="16">Icon GB(C)-Game</bitmap>
    <bitmap offset="0x000A5EF8" width="16" height="14" color="16">Icon NES-Game</bitmap>
    <bitmap offset="0x000A60B8" width="16" height="14" color="16">Icon NOR-Flash Entry</bitmap>
    <bitmap offset="0x000A6278" width="16" height="14" color="16">Icon Directory</bitmap>
    <bitmap offset="0x000A6438" width="16" height="14" color="16">Icon GBA-Game</bitmap>
    <bitmap offset="0x000A65F8" width="16" height="14" color="16">Icon Unknown File</bitmap>

    <charmap offset="0x000A5D38" width="16" height="14" chars="6" color="16">Icons as Char Map</charmap>

    <charmap offset="0x48114" width="8" height="12" chars="128" color="1">Ascii Char Map</charmap>
    <charmap offset="0x48715" width="16" height="12" chars="7614" color="1">Unicode Char Map</charmap>

    <bitmap offset="0x154A88" width="1" height="8"  color="16">Colors Map (until dialog is developed)</bitmap>

  </file>
  <file chksum="0x7387ed52" comment="EZ-Flash Omega FW5 K1.03">
    <bitmap offset="0x0009C778" width="70" height="70"  color="16">QR Code Manual (EN)</bitmap>
    <bitmap offset="0x0009EDC0" width="70" height="70"  color="16">QR Code Manual (CN)</bitmap>

    <bitmap offset="0x000A1408" width="120" height="80"  color="16">Not Found Image</bitmap>
    <bitmap offset="0x000A6988" width="128" height="110" color="16">Dialog Background</bitmap>

    <bitmap offset="0x000AD788" width="240" height="160" color="16">Recent Played Screen</bitmap>
    <bitmap offset="0x0010B388" width="240" height="160" color="16">Splash Screen</bitmap>
    <bitmap offset="0x000F8788" width="240" height="160" color="16">SD Card Screen</bitmap>
    <bitmap offset="0x000E5B88" width="240" height="160" color="16">Nor Flash Screen</bitmap>
    <bitmap offset="0x000D2F88" width="240" height="160" color="16">Settings Screen</bitmap>
    <bitmap offset="0x000C0388" width="240" height="160" color="16">Help Screen</bitmap>

    <charmap offset="0x000A5F08" width="16" height="14" chars="6" color="16">Icons as Char Map</charmap>

    <charmap offset="0x482E4" width="8" height="12" chars="128" color="1">Ascii Char Map</charmap>
    <charmap offset="0x488E5" width="16" height="12" chars="7614" color="1">Unicode Char Map</charmap>

    <bitmap offset="0x154f08" width="1" height="10"  color="16">Colors Map (until dialog is developed)</bitmap>

  </file>
  
</definitions>
 
Last edited by t5b6de,

mi213

New Member
Newbie
Joined
Sep 22, 2018
Messages
3
Trophies
0
Age
38
XP
66
Country
Germany
Hey, @t5b6de
I found your tool today. I really like it.
Unfortunately, it does not work with the current FW6.
Did you keep working on it and will there be a new version?
I would be very happy if I could use them with the FW6.
 

Localhorst86

Robert'); DROP TABLE members;--
Member
Joined
Jul 17, 2014
Messages
2,736
Trophies
1
Location
Nintendo works for my dad
XP
5,345
Country
Germany
Hey, @t5b6de
I found your tool today. I really like it.
Unfortunately, it does not work with the current FW6.
Did you keep working on it and will there be a new version?
I would be very happy if I could use them with the FW6.

Nvm, I thought this was a different thread.
 
Last edited by Localhorst86,

kaest

New Member
Newbie
Joined
Jan 29, 2018
Messages
2
Trophies
0
Age
123
XP
51
Country
United States
@t5b6de, the universal skinner doesn't seem to support the latest firmware FW4 K1.06. I tried changing the version in the definitions.xml but that didn't help. What do I need to do to make the definitions.xml work with the current firmware? Is it not working because all of the offsets have changed?
 

t5b6de

Active Member
OP
Newcomer
Joined
Apr 17, 2018
Messages
26
Trophies
0
Age
35
XP
328
Country
Germany
Hey,

It seems to be xml is not allowed to upload, so i zipped it.
Replace old definitions.xml with new from zip-file.

Have fun with modding fw6k105

Kind regards
 

Attachments

  • definitions.zip
    1 KB · Views: 286
  • Like
Reactions: kaest

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: Ughh the C64 version looks almost as bad lol