Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux feedback #1

Open
tobozo opened this issue Sep 18, 2019 · 1 comment
Open

Linux feedback #1

tobozo opened this issue Sep 18, 2019 · 1 comment

Comments

@tobozo
Copy link

tobozo commented Sep 18, 2019

Hello and thanks for this great project !

Here's some unsollicited feedback from my attempt to get this working from Linux Ubuntu (16.04).

  • Arduino IDE isn't happy with the lowercase .ino filename, I've renamed espeon.ino to Espeon.ino to stop the IDE from complaining :-)

  • Before realizing I could install bin2h with apt, I used the xxd utility to get the bios in a C format:

      xxd -i gbc_bios > gbbios.h
    
  • Also the following commands:

      ffmpeg -vcodec png -i "gbborder.png" -vcodec rawvideo -f rawvideo -pix_fmt rgb565 "gbborder.raw"
      bin2h -cz gbborder<"gbborder.raw" > gbborder.h
    

... produced a 153600 bytes gborder.raw file (921652 bytes for the .h file)
and the dreadful DRAM segment data does not fit. compilation error.

I've used the built-in jpeg decoder M5.Lcd.drawJpg as a workaround, not sure about the performances hit but that produced a more ideal memory footprint (2804 bytes) and got me out of the compilation error.

image

  • The SD Updater seems to fit with the gameboy menu, but I haven't tested any game yet (using a M5Fire and no Faces stick around)

image

I'll edit this post with the followup, trying to get my hands on some roms to verify I'm using the correct bios version (can you share you md5sums?) :D

[edit 1] : as expected the rom won't load when the sketch is compiled with the basic Arduino IDE board/partitions settings, adding some debug statements to the code (#include <esp32-hal-log.h> along with log_e(), log_w() and log_i()) was helpful to find out the reason.

Not sure if this is feasible from the UI though, thinking about platformio 🤔

@Ryuzaki-MrL
Copy link
Owner

Ryuzaki-MrL commented Sep 18, 2019

Thank you for your feedback.

I've used the built-in jpeg decoder M5.Lcd.drawJpg as a workaround, not sure about the performances hit but that produced a more ideal memory footprint (2804 bytes) and got me out of the compilation error.

There shouldn't be any performance issues, since the border is only ever rendered once.

I'll edit this post with the followup, trying to get my hands on some roms to verify I'm using the correct bios version (can you share you md5sums?) :D

32fbbd84168d3482956eb3c5051637f5. The bootrom is optional.

[edit 1] : as expected the rom won't load when the sketch is compiled with the basic Arduino IDE board/partitions settings, adding some debug statements to the code (#include <esp32-hal-log.h> along with log_e(), log_w() and log_i()) was helpful to find out the reason.

The way I do is by exporting the compiled binary and uploading it manually via esptool or M5Burner.

Ryuzaki-MrL added a commit that referenced this issue Sep 19, 2019
[#1] This reduces compiled binary size. Also made included border optional. Espeon will load a border from the SD card (currently hardcoded to gbborder.jpg), or fallback to the internal one.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants