Code Monkey home page Code Monkey logo

Comments (12)

ducalex avatar ducalex commented on May 13, 2024 1

That's likely the wrong gamma curve. Maybe you can find the proper ones in the original source code, they're ili commands 0xE0 and 0xE1. Could also be the pixel format (command 0x3A) but I feel like that would be more obvious.

I'm not an expert either, it could be any other missing or incorrect init command, but that's where I'd start :) .

from retro-go.

ducalex avatar ducalex commented on May 13, 2024 1

It should be fixed now! I guess I'll have to re-issue the release, the format was broken for MRGC-G32 as well. Good thing I hadn't advertised it yet :).

from retro-go.

ducalex avatar ducalex commented on May 13, 2024

Regarding serial, it's possible that they haven't wired all the signals and you'd need to manually put the device in flash mode (like holding a button while powering up). This is an issue on the mrgc-g32 too, very annoying.

But, even if you can't easily flash over serial, you should be able to at least access the log with rg_tool.py --port=COM16 monitor or using another program like CoolTerm or putty (COM16 at 115200).

from retro-go.

Cralex avatar Cralex commented on May 13, 2024

OK, I will try that. In the meantime, I was able to get a 4.3X IDF running and used it to successfully build the current version of Retro-Go for the device, including networking. I will try poking around with the serial connection and see if I can learn anything else.

Edit: I was able to monitor over serial just fine, and it looked very much like monitoring Retro-Go on the OdroidGo. Nothing really jumped out at me. I have the screen dimensions set up very closely to how they should be. (I can see a line or two of garbage pixels under the bottom bezel but that's it.) Here's what I'm using to build the firmware:
mrgc-g32.h.zip

I think I managed to corrupt my card, so I'll need to open it up after all. (Anything I can do while it's open to help get the port done?) My unit came pre-assembled, so I don't know what sort of card was in there/if any fault lies with retro-go at all. I was doing a mass copy of 148 combined gb/gbc games into my gbc folder. It took a long time of course, but after it was done I started seeing a bunch of garbage-named files in there too and the unit was really slow trying to display it all.

from retro-go.

KD-MM2 avatar KD-MM2 commented on May 13, 2024

Regarding serial, it's possible that they haven't wired all the signals and you'd need to manually put the device in flash mode (like holding a button while powering up). This is an issue on the mrgc-g32 too, very annoying.

But, even if you can't easily flash over serial, you should be able to at least access the log with rg_tool.py --port=COM16 monitor or using another program like CoolTerm or putty (COM16 at 115200).

@Cralex You can use the ArduinoIDE for convenience, just select the Port, and click the button. But remember to close the Serial Monitor window before flashing or something else, or you will get "Device is busy" error.

from retro-go.

Cralex avatar Cralex commented on May 13, 2024

@KD-MM2 Thanks for the tip. :)

I got my device up and running again. I think I’m monitoring the wrong thing for the battery level, since it’s stuck at 100 over the serial connection. I let the battery die earlier, and the power LED flickered only moments before the unit shutdown, whereas I’m pretty sure the original firmware gives an earlier warning. If I can find the right entry in the original firmware’s source code that should tell me where to look…

Does anyone have any ideas what I can experiment with to fix the screen colors? Darker colors tend to look almost normal...
IMG_2633
It seems brownish/reddish in some places...
IMG_2638
IMG_2639
IMG_2640
Some grays (the title screen of Link to the Past) are indistinguishable from each other.
IMG_2637

Overall, the screen works very well in all areas other than this. The ILI9341 driver clearly has no problem initing the screen, but I don't know enough about little displays like this to see what the problem could be.

from retro-go.

Cralex avatar Cralex commented on May 13, 2024

That's likely the wrong gamma curve. Maybe you can find the proper ones in the original source code, they're ili commands 0xE0 and 0xE1. Could also be the pixel format (command 0x3A) but I feel like that would be more obvious.

I'm not an expert either, it could be any other missing or incorrect init command, but that's where I'd start :) .

GOT IT! I found the display driver in the original source code. The following gamma settings cause the proper colors to appear:
{0xE0, {0xD0, 0x00, 0x05, 0x0E, 0x15, 0x0D, 0x37, 0x43, 0x47, 0x09, 0x15, 0x12, 0x16, 0x19}, 14}, {0xE1, {0xD0, 0x00, 0x05, 0x0D, 0x0C, 0x06, 0x2D, 0x44, 0x40, 0x0E, 0x1C, 0x18, 0x16, 0x19}, 14},
Guess we'll need to add a new display type for this unit after all. :) I'll look over the driver and see if anything else needs to be changed for the perfect display experience.

from retro-go.

Cralex avatar Cralex commented on May 13, 2024

I'm taking a break from getting the battery meter working (tried looking at a few things from the stock source, but nothing works yet) to clean up my work in preparation of making a pull request. I'd like some feedback on the button layout, though.

The upper right button, Power, does not seem to be connected to I/O at all (it's not mentioned in the stock source code either) so we have three buttons to work with for Start, Select, and Menu.

image

The default layout is Start, Select, and Menu. This is terrible for Retro-Go because switching tabs in the launcher is inverted compared to the OdroidGO. (I'd even get lost switching tabs when going between the devices using this layout.) It also really messes up the button mapping for the SNES emulator.

I've tried both Select, Start, Menu and Menu, Select, Start. Both layouts are workable. Neither one is perfect for SNES, but at least they're in the right order. The question is: action buttons grouped together and operated with the left hand and leaving the menu button off by itself, or action buttons under your fingertips on each hand, separated by the screen?

from retro-go.

ducalex avatar ducalex commented on May 13, 2024

I can't comment on what would feel best on this device, but we certainly can add more layout options in SNES if that's the only blocker :).

from retro-go.

Cralex avatar Cralex commented on May 13, 2024

I can't comment on what would feel best on this device, but we certainly can add more layout options in SNES if that's the only blocker :).

It would be ideal if the two buttons above A and B could be X and Y, but we aren't fortunate enough to have that option. :) Maybe I'll find some other places to ask around for opinions. (Other than the "It'll give me hand cramps!" or "I'll go blind squinting at that tiny screen! that tiny devices always get.) Point is, it CAN run Retro-GO, so I won't quit until it does. :)

from retro-go.

Cralex avatar Cralex commented on May 13, 2024

I'm rebasing development on the shiny new release. 😀

The build file needed to be updated in order to build properly. (See my pull request.) However, the resulting firmware does not flash. imageimageimage

My first thought was that the format wasn't correctly set to ESPlay, but so far I haven't found anything that would indicate that. If I find it before anyone else, I'll submit another pull request.

from retro-go.

ducalex avatar ducalex commented on May 13, 2024

No you're right, something went wrong when I merged the branches. It's not respecting the env.py files.

from retro-go.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.