Comments (12)
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.
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.
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.
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.
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.
@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...
It seems brownish/reddish in some places...
Some grays (the title screen of Link to the Past) are indistinguishable from each other.
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.
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.
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.
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.
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.
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.
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.
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.
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)
- Not connecting to WiFi HOT 2
- Can I use retro-go for commercial education? HOT 5
- 1.36.2 SNES Still Crashes when switching mapping HOT 5
- Launcher - Incorrect Date Displayed in UI HOT 2
- What's the status of the Retro ESP32 target? HOT 8
- SNES - APU causes softlock after defeating Dark World boss in Zelda Link to the Past HOT 6
- Add additional scrolling modes to the launcher (stick, center, page, etc) HOT 9
- .img Building Showing this error HOT 1
- Mortal Kombat 3 Europe Game Boy rom crashes on level loading HOT 6
- Can't figure out the OGO header pinout for external DAC HOT 2
- Crash after updating to Retro-Go 1.38 or 1.37.47 HOT 4
- Unused var HOT 1
- Error with esp_http_client_read on esp-idf 4.4 HOT 3
- [Feature] - ST7701S SPI LCD Driver HOT 3
- Files with too long a name do not show in launcher and/or are corrupted in the web UI. HOT 2
- Building for a custom board HOT 1
- Numerical Battery Readout in Debug HOT 4
- Question about reading sd card HOT 14
- MRGC and Gamebox battery voltage HOT 3
- PocketSprite support
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from retro-go.