Comments (12)
Does the "Flashing ROM..." progress bar show up when loading from SD card? If not, then you need to flash the boot_app0, bootloader, and partitions_espeon files.
from espeon.
thanks @Ryuzaki-MrL
I have tried
- compiling and flashing from arduino source
- flashing directly using esptools
both methods produce same results
I never see the message for "Flashing ROM..."
from espeon.
The command should look like this:
esptool.py --chip esp32 --port /dev/cu.SLAB_USBtoUART --baud 2000000 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 0x1000 bootloader_0x1000.bin 0xe000 boot_app0_0xe000.bin 0x8000 partitions_espeon_0x8000.bin 0x10000 espeon.ino.m5stack_core_esp32_0x10000.bin
If it still doesn't work, try using M5Burner. You can import the Espeon.zip file into it and have it flash everything.
Right now I don't have my M5Stack at hand.
from espeon.
I'm quite familiar with ESP-IDF, the example i posted was adding a rom directly into flash at address 0x110000
as per the provisioned partition csv, as you see in the first pics i have it up and running
the problem may be with the missing bios files
from espeon.
The BIOS is entirely optional, the emulator sets the memory accordingly if it's not present.
The "rom_init failed" only triggers when the "esp_partition" API can't find the ROM partition, that is, when the file "partitions_espeon_0x8000.bin" is not flashed onto address 0x8000. That's why the "Flashing ROM..." screen doesn't show up.
Manually flashing a ROM at 0x110000 will do nothing if the API doesn't know what that address is supposed to be.
from espeon.
The command should look like this:
esptool.py --chip esp32 --port /dev/cu.SLAB_USBtoUART --baud 2000000 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 0x1000 bootloader_0x1000.bin 0xe000 boot_app0_0xe000.bin 0x8000 partitions_espeon_0x8000.bin 0x10000 espeon.ino.m5stack_core_esp32_0x10000.bin
If it still doesn't work, try using M5Burner. You can import the Espeon.zip file into it and have it flash everything.
Right now I don't have my M5Stack at hand.
espeon.ino.m5stack_core_esp32_0x10000.bin
is not in your repo?
from espeon.
I do not commit the executable, but I assume you have compiled it yourself.
I also provide a compiled binary at the releases page, of the last version I was able to test.
from espeon.
Using the command you supplied above, I can get the precompiled binaries to run, and I can load a ROM and it works (except I have no joypad input because I don't have one of those).
I added support for an IR controller I had laying around and want to try that.
I can compile and program the source from the Arduino IDE, but the code faints when I try to load the same ROM I can play with the pre-compiled binaries.
To create a binary of my own, so I could upload my code in place of the pre-compiled binary, I followed the directions here: https://randomnerdtutorials.com/bin-binary-files-sketch-arduino-ide/ which did, in fact, create a binary from my build.
In the esptool.py command, I substituted this binary, replacing the espeon.ino.m5stack_core_esp32_0x10000.bin precompiled binary. Everything seems to program correctly, I can see the menu, but choosing the same that ROM that ran with the pre-compiled binary does not work, it just drops me back to the menu. I can see it write something to the screen, but it gets overwritten immediately.
Is there anything special in the board setup or anything else you have to do to get this to work? BTW, one of the links in your README.md file - the one that talks about setting up the environment - is dead. Apparently Espressif moved the document you were referring to.
from espeon.
Update - I don't know what I changed, but this is what happens when I load my code instead of the precompiled binaries,
After uploading, I get the menu, as normal...
Choosing the GB file, I get this....
from espeon.
That's odd. It's showing a blank gameboy screen, so that means the emulator is running (no error screen was triggered).
There's two possibilities:
- The modified code might have broken something on the emulator side.
- The ROM is not being properly copied to the correct partition for whatever reason.
Also, I found the docs again: https://docs.m5stack.com/#/en/arduino/arduino_development
Thanks for pointing out, I'll update the README.
from espeon.
from espeon.
Anyone facing this issue, you need to run
esptool.py --chip esp32 --port /dev/cu.usbserial-01B9087E erase_flash
from espeon.
Related Issues (15)
- Linux feedback HOT 1
- 'gb_bios' was not declared in this scope
- Cant open file system or flashed rom.
- Cant open file system or flashed rom.
- Not a real issue: would it possible to use the whole screen without the Gameboy picture
- [question] landing page and walkthrough
- Wrong Library Versions HOT 1
- adding CardKB support HOT 1
- Running too fast
- Missing File: gbbios.h
- Missing File: gbborder.h HOT 1
- Usability with the WIO terminal dev board?
- Rom loaded correctly, but game not starting
- It works :) HOT 3
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 espeon.