Giter Club home page Giter Club logo

arduino-nofrendo's People

Contributors

k3kukua avatar moononournation avatar rickyzhang82 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

arduino-nofrendo's Issues

ESP32 and ESP32-S3 errors /bitmap.c -- block corrupt

I have tried few different pin config for display and controller, the farthes I could get was, the splash screen appears with Nofriendo logo and then the error is logged on the console

addr: 0x3FCBBA10, size: 61440, line 86 of /Users/.../Documents/Arduino/libraries/arduino-nofrendo/src/bitmap.c -- block corrupt

Could you please help me understand the issue? Is it because I am using WROOM module? does this only work with WROVER?

A super Mario video game LEGO image and waiting......

Thank you very much for your sharing. This resource is really great. I used ESP32 WROOM 32D to implement most of the content, but I am currently stuck on the boot screen(A super Mario video game LEGO image), with waiting displayed in the upper left corner. One step needs to press the A key, (the button is connected to the ground with a 10K resistor according to the blueprint), but there is still no response, but after long pressing the A keyboard and restarting, you can see the Chase.nes game file name displayed in the upper left corner of the boot screen , I can't continue after that, I tried pressing Select and other buttons, but it did not work. I hope you guys can help me to find out what's going on, thank you very much.
The hardware I use is:
MCU: ESP32 WROOM 32D
Display: ST7796S
File mode: SPIFFS
Compilation mode: Arduino IDE compile and upload

M5Stack Core Esp32 - Doesn't work

As described, M5Stack Core Esp32 with Esp32 Core v2.0.4 doesn't work. It keeps resetting!!!

ASSERT: line 266 of D:\Users\cicer\Documents\Arduino\libraries\arduino-nofrendo-master\src\memguard.c, malloc: out of memory at line 86 of D:\Users\cicer\Documents\Arduino\libraries\arduino-nofrendo-master\src\bitmap.c. block size: 61440

memory leak - 9 unfreed blocks

addr: 0x3FFB9094, size: 256, line 26 of D:\Users\cicer\Documents\Arduino\M5STACK-nofrendo\sound.c
addr: 0x3FFB432C, size: 808, line 522 of D:\Users\cicer\Documents\Arduino\libraries\arduino-nofrendo-master\src\nes\nes.c
addr: 0x3FFB46A4, size: 92, line 539 of D:\Users\cicer\Documents\Arduino\libraries\arduino-nofrendo-master\src\nes\nes.c
addr: 0x3FFB4750, size: 2048, line 546 of D:\Users\cicer\Documents\Arduino\libraries\arduino-nofrendo-master\src\nes\nes.c
addr: 0x3FFB4FA0, size: 296, line 990 of D:\Users\cicer\Documents\Arduino\libraries\arduino-nofrendo-master\src\sndhrdw\nes_apu.c
addr: 0x3FFD1B6C, size: 7584, line 127 of D:\Users\cicer\Documents\Arduino\libraries\arduino-nofrendo-master\src\nes\nes_ppu.c
addr: 0x3FFB5118, size: 1068, line 426 of D:\Users\cicer\Documents\Arduino\libraries\arduino-nofrendo-master\src\nes\nes_rom.c
addr: 0x3FFD395C, size: 8192, line 131 of D:\Users\cicer\Documents\Arduino\libraries\arduino-nofrendo-master\src\nes\nes_rom.c
addr: 0x3FFB5594, size: 8, line 241 of D:\Users\cicer\Documents\Arduino\libraries\arduino-nofrendo-master\src\nes\nes_mmc.c
abort() was called at PC 0x4012d786 on core 1

ELF file SHA256: 0000000000000000

Backtrace: 0x40087f64:0x3ffb1b90 0x400881e1:0x3ffb1bb0 0x4012d786:0x3ffb1bd0 0x4010523f:0x3ffb1bf0 0x400d8623:0x3ffb1c10 0x400d8797:0x3ffb1c30 0x400d72b4:0x3ffb1d70 0x400d8eb2:0x3ffb1d90 0x400d8b73:0x3ffb1db0 0x400d100a:0x3ffb1de0 0x400d8ab1:0x3ffb1e00 0x400d1382:0x3ffb1e20 0x400ebdf6:0x3ffb1fb0 0x40089232:0x3ffb1fd0

Rebooting...

Can't start game on SD Card

Hello, thank you for your great project i have big fun with it!!
My problem is that games can't start from SD card, SPIFFS is ok.

I did a little menu at boot to select the game, it show in console that i can read from SD card, but if i try to start a game the esp32 crashes and reboot.

I used your suggested pins and configuration in hw_config.h:

#define FILESYSTEM_BEGIN SPIClass spi = SPIClass(HSPI); spi.begin(14, 2, 15, 13); SD.begin(13, spi, 8000000, FSROOT); FS filesystem = SD;

Your can see in console that the roms can be listed:

`[D][esp32-hal-psram.c:47] psramInit(): PSRAM enabled
[E][esp32-hal-cpu.c:115] removeApbChangeCallback(): not found func=400EC25C arg=3FFBEE08
/fs/1942.nes
/fs/Tetris.nes
/fs/Arkanoid.nes
/fs/Galaga.nes
_my_malloc: 256 at src\sound.c:27
_my_malloc: 980 at .pio\libdeps\az-delivery-devkit-v4\arduino-nofrendo\src\bitmap.c:48
video driver: Simple DirectMedia Layer at 256x240
_my_malloc: 15 at .pio\libdeps\az-delivery-devkit-v4\arduino-nofrendo\src\nofrendo.c:242
[W][sd_diskio.cpp:101] sdWait(): Wait Failed
[E][sd_diskio.cpp:123] sdSelectCard(): Select Failed
Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled.
Core 1 register dump:
PC : 0x400ebfd8 PS : 0x00060330 A0 : 0x800e53d0 A1 : 0x3ffb1830
A2 : 0x00000000 A3 : 0x3ffb1899 A4 : 0x00000006 A5 : 0x00000040
A6 : 0x00000010 A7 : 0xffffffc9 A8 : 0x00000002 A9 : 0x00000001
A10 : 0x00000000 A11 : 0x00000000 A12 : 0x00000000 A13 : 0x00000001
A14 : 0xff000000 A15 : 0x00000000 SAR : 0x00000004 EXCCAUSE: 0x0000001c
EXCVADDR: 0x00000000 LBEG : 0x4008b9a5 LEND : 0x4008b9b5 LCOUNT : 0xfffffffd

ELF file SHA256: 0000000000000000

Backtrace: 0x400ebfd8:0x3ffb1830 0x400e53cd:0x3ffb1850 0x400e8f62:0x3ffb1870 0x400e919c:0x3ffb18c0 0x400e92bd:0x3ffb18f0 0x40124226:0x3ffb1930 0x40122be6:0x3ffb1950 0x40124b19:0x3ffb1990 0x40127e63:0x3ffb19c0 0x4000bdbb:0x3ffb19e0 0x4008b5c9:0x3ffb1a00 0x4008b586:0x3ffb1a20 0x40105c76:0x3ffb1a40 0x40105ce9:0x3ffb1a70 0x400d53c9:0x3ffb1a90 0x400d3339:0x3ffb1ef0 0x400d650f:0x3ffb1f10 0x400d183d:0x3ffb1f40 0x400d6497:0x3ffb1f60 0x400d1236:0x3ffb1f80 0x400ecd71:0x3ffb1fb0 0x4008d6aa:0x3ffb1fd0

Rebooting...`

I'm using an ESP32-WROOVER-B with 8mb spram and 4mb flash.
SPIFFS works great even with big roms.

Any idea?

Thank you again.

panic: assert failed: remove_free_block heap_tlsf.c:211

Hi @moononournation ,

I'm having troubles with building the nofrendo on ESP32-WROVER. Here is the panic I caught:

0x400839dd: panic_abort at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp_system/panic.c line 402
0x4008d21d: esp_system_abort at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp_system/esp_system.c line 128
0x40092611: __assert_func at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/newlib/assert.c line 85
0x400839dd: panic_abort at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp_system/panic.c line 402
0x40091781: tlsf_malloc at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/heap_tlsf.c line 198
0x4008d21d: esp_system_abort at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp_system/esp_system.c line 128
0x40091fc7: multi_heap_malloc_impl at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/multi_heap.c line 197
0x40092611: __assert_func at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/newlib/assert.c line 85
0x4009223c: multi_heap_malloc at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/multi_heap_poisoning.c line 230
0x40091781: tlsf_malloc at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/heap_tlsf.c line 198
0x40083c6e: heap_caps_malloc_base at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/heap_caps.c line 147
0x40091fc7: multi_heap_malloc_impl at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/multi_heap.c line 197
0x40083c81: heap_caps_malloc at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/heap_caps.c line 167
0x40083d2e: heap_caps_malloc_prefer at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/heap_caps.c line 261
0x40102051: ff_memalloc at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/fatfs/port/freertos/ffsystem.c line 20
0x4009223c: multi_heap_malloc at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/multi_heap_poisoning.c line 230
0x4010280d: vfs_fat_opendir at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/fatfs/vfs/vfs_fat.c line 733
0x40083c6e: heap_caps_malloc_base at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/heap_caps.c line 147
0x400fc146: esp_vfs_opendir at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/vfs/vfs.c line 659
0x40083c81: heap_caps_malloc at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/heap_caps.c line 167
0x40083d2e: heap_caps_malloc_prefer at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/heap_caps.c line 261
0x40102051: ff_memalloc at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/fatfs/port/freertos/ffsystem.c line 20
0x400d3972: VFSFileImpl::VFSFileImpl(VFSImpl*, char const*, char const*) at /Users/x/Library/Arduino15/packages/esp32/hardware/esp32/2.0.4/libraries/FS/src/vfs_api.cpp line 291
0x400d4096: std::make_shared (VFSImpl*&&, char const*&, char const*&) at /Users/x/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/gcc8_4_0-esp-2021r2-patch3/xtensa-esp32-elf/include/c++/8.4.0/new line 169
0x400d41f0: VFSImpl::open(char const*, char const*, bool) at /Users/x/Library/Arduino15/packages/esp32/hardware/esp32/2.0.4/libraries/FS/src/vfs_api.cpp line 46
0x400d34dd: fs::FS::open(char const*, char const*, bool) at /Users/x/Library/Arduino15/packages/esp32/hardware/esp32/2.0.4/libraries/FS/src/FS.cpp line 209
0x400d2fe6: setup() at /Users/x/Documents/Arduino/esp32-nofrendo-marcin/esp32-nofrendo-marcin.ino line 42
0x400ee782: loopTask(void*) at /Users/x/Library/Arduino15/packages/esp32/hardware/esp32/2.0.4/cores/esp32/main.cpp line 42
0x4010280d: vfs_fat_opendir at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/fatfs/vfs/vfs_fat.c line 733
0x400fc146: esp_vfs_opendir at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/vfs/vfs.c line 659
0x400d3972: VFSFileImpl::VFSFileImpl(VFSImpl*, char const*, char const*) at /Users/x/Library/Arduino15/packages/esp32/hardware/esp32/2.0.4/libraries/FS/src/vfs_api.cpp line 291
0x400d4096: std::make_shared (VFSImpl*&&, char const*&, char const*&) at /Users/x/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/gcc8_4_0-esp-2021r2-patch3/xtensa-esp32-elf/include/c++/8.4.0/new line 169
0x400d41f0: VFSImpl::open(char const*, char const*, bool) at /Users/x/Library/Arduino15/packages/esp32/hardware/esp32/2.0.4/libraries/FS/src/vfs_api.cpp line 46
0x400d34dd: fs::FS::open(char const*, char const*, bool) at /Users/x/Library/Arduino15/packages/esp32/hardware/esp32/2.0.4/libraries/FS/src/FS.cpp line 209
0x400d2fe6: setup() at /Users/x/Documents/Arduino/esp32-nofrendo-marcin/esp32-nofrendo-marcin.ino line 42
0x400ee782: loopTask(void*) at /Users/x/Library/Arduino15/packages/esp32/hardware/esp32/2.0.4/cores/esp32/main.cpp line 42

Log output:

ets Jul 29 2019 12:21:46

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:1344
load:0x40078000,len:13864
load:0x40080400,len:3608
entry 0x400805f0
[�����⸮⸮m�um⸮⸮⸮⸮2-hal-cpu.c:214] setCpuFrequencyMhz(): PLL: 480 / 2 = 240 Mhz, APB: 80000000 Hz
[   451][I][esp32-hal-psram.c:96] psramInit(): PSRAM enabled
E (455) wifi_init: Failed to deinit Wi-Fi driver (0x3001)
[  1040][W][sd_diskio.cpp:174] sdCommand(): no token received

assert failed: remove_free_block heap_tlsf.c:211 (prev && "prev_free field can not be null")


Backtrace:0x400839dd:0x3ffb22800x4008d21d:0x3ffb22a0 0x40092611:0x3ffb22c0 0x40091781:0x3ffb23f0 0x40091fc7:0x3ffb2410 0x4009223c:0x3ffb2430 0x40083c6e:0x3ffb2450 0x40083c81:0x3ffb2480 0x40083d2e:0x3ffb24a0 0x40102051:0x3ffb24f0 0x4010280d:0x3ffb2510 0x400fc146:0x3ffb2540 0x400d3972:0x3ffb2560 0x400d4096:0x3ffb25a0 0x400d41f0:0x3ffb25d0 0x400d34dd:0x3ffb2660 0x400d2fe6:0x3ffb2690 0x400ee782:0x3ffb2820 

Does it ring you a bell?

Kind regards

Attempting to stop emulator reboots ESP32

When stopping nofrendo using input that's triggering quit event, an assertion fails which leads to this line being called:

exit(-1);

exit does not do what's intended as opposed to other platforms (it simply reboots the ESP32), and thus it makes it impossible to gracefully exit nofrendo. Basically, this means thatnofrendo_main never returns - the only way out is a reboot.

I think a sensible solution would be to replace exit & atexit with a different mechanism, for example setjmp.

E.g.:

// nofrendo.c

jmp_buf nofrendo_exit_jmp;

int main_loop(...) {
    if (setjmp(nofrendo_exit_jmp) == 0) {
        // Proceed with current implementation of main_loop - init OSD/GUI & start the game
        // ...
        return 0;
    } else {
        shutdown_everything();
        return 1;
    }
}
// log.c

extern jmp_buf nofrendo_exit_jmp;

void nofrendo_log_assert(...) {
    // log message
    // ...
    // then, instead of exit(), call longjmp()
    longjmp(nofrendo_exit_jmp, 1);
}

We implemented a similar pattern when we integrated Lua into our ESP32 project, and it works perfectly for cases when "everything is bad, abort all operations and go back to a known path" approach is needed.

ILI9488 vs ILI9341

Hello again me on this great project :)
I solved my previous SD problem (i posted my solution), but now i have another problem.

I switched my first test screen from a ILI9341 320x240 to an ILI9488 480x320.

The problem now is that the display_write_frame need to do some maths to crop and scale the original NES resolution to fit the bigger 480x320 and it really slow down the gameplay.
Games that runs at full speed at original resolution, now are unplayable speed scaled.
I've tryed all the four options in the example with no acceptable speed.

Is this a known issue or i'm doing sometings wrong?
This is the code used to initialize the screen driver:

Arduino_DataBus *bus = new Arduino_ESP32SPI(32 /* DC */, -1 /* CS */, 25 /* SCK */, 33 /* MOSI */, -1 /* MISO */);
Arduino_ILI9488_18bit *gfx =new Arduino_ILI9488_18bit(bus, -1 /* RST */, 1 /* rotation */);

Thanks again.

Issue with compiling on Arduino IDE

I am trying to compile the code on my Arduino IDE unfortunatelly hace error:

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp: In member function 'virtual bool Arduino_ESP32QSPI::begin(int32_t, int8_t)':

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp:58:43: error: 'SPICOMMON_BUSFLAG_GPIO_PINS' was not declared in this scope

   .flags = SPICOMMON_BUSFLAG_MASTER | SPICOMMON_BUSFLAG_GPIO_PINS,

                                       ^

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp:59:22: error: 'spi_bus_config_t' has no non-static data member named 'data4_io_num'

   .intr_flags = 0};

                  ^

In file included from C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp:1:0:

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.h:11:23: error: 'SPI2_HOST' was not declared in this scope

#define QSPI_SPI_HOST SPI2_HOST

                   ^

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp:60:38: note: in expansion of macro 'QSPI_SPI_HOST'

esp_err_t ret = spi_bus_initialize(QSPI_SPI_HOST, &buscfg, QSPI_DMA_CHANNEL);

                                  ^

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.h:12:26: error: 'SPI_DMA_CH_AUTO' was not declared in this scope

#define QSPI_DMA_CHANNEL SPI_DMA_CH_AUTO

                      ^

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp:60:62: note: in expansion of macro 'QSPI_DMA_CHANNEL'

esp_err_t ret = spi_bus_initialize(QSPI_SPI_HOST, &buscfg, QSPI_DMA_CHANNEL);

                                                          ^

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp: In member function 'virtual void Arduino_ESP32QSPI::writeCommand(uint8_t)':

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp:132:30: error: 'SPI_TRANS_MULTILINE_CMD' was not declared in this scope

_spi_tran_ext.base.flags = SPI_TRANS_MULTILINE_CMD | SPI_TRANS_MULTILINE_ADDR;

                          ^

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp:132:56: error: 'SPI_TRANS_MULTILINE_ADDR' was not declared in this scope

_spi_tran_ext.base.flags = SPI_TRANS_MULTILINE_CMD | SPI_TRANS_MULTILINE_ADDR;

                                                    ^

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp: In member function 'virtual void Arduino_ESP32QSPI::writeCommand16(uint16_t)':

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp:150:30: error: 'SPI_TRANS_MULTILINE_CMD' was not declared in this scope

_spi_tran_ext.base.flags = SPI_TRANS_MULTILINE_CMD | SPI_TRANS_MULTILINE_ADDR;

                          ^

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp:150:56: error: 'SPI_TRANS_MULTILINE_ADDR' was not declared in this scope

_spi_tran_ext.base.flags = SPI_TRANS_MULTILINE_CMD | SPI_TRANS_MULTILINE_ADDR;

                                                    ^

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp: In member function 'virtual void Arduino_ESP32QSPI::writeC8D8(uint8_t, uint8_t)':

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp:206:53: error: 'SPI_TRANS_MULTILINE_CMD' was not declared in this scope

_spi_tran_ext.base.flags = SPI_TRANS_USE_TXDATA | SPI_TRANS_MULTILINE_CMD | SPI_TRANS_MULTILINE_ADDR;

                                                 ^

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp:206:79: error: 'SPI_TRANS_MULTILINE_ADDR' was not declared in this scope

_spi_tran_ext.base.flags = SPI_TRANS_USE_TXDATA | SPI_TRANS_MULTILINE_CMD | SPI_TRANS_MULTILINE_ADDR;

                                                                           ^

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp: In member function 'virtual void Arduino_ESP32QSPI::writeC8D16(uint8_t, uint16_t)':

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp:226:53: error: 'SPI_TRANS_MULTILINE_CMD' was not declared in this scope

_spi_tran_ext.base.flags = SPI_TRANS_USE_TXDATA | SPI_TRANS_MULTILINE_CMD | SPI_TRANS_MULTILINE_ADDR;

                                                 ^

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp:226:79: error: 'SPI_TRANS_MULTILINE_ADDR' was not declared in this scope

_spi_tran_ext.base.flags = SPI_TRANS_USE_TXDATA | SPI_TRANS_MULTILINE_CMD | SPI_TRANS_MULTILINE_ADDR;

                                                                           ^

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp: In member function 'virtual void Arduino_ESP32QSPI::writeC8D16D16(uint8_t, uint16_t, uint16_t)':

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp:247:53: error: 'SPI_TRANS_MULTILINE_CMD' was not declared in this scope

_spi_tran_ext.base.flags = SPI_TRANS_USE_TXDATA | SPI_TRANS_MULTILINE_CMD | SPI_TRANS_MULTILINE_ADDR;

                                                 ^

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp:247:79: error: 'SPI_TRANS_MULTILINE_ADDR' was not declared in this scope

_spi_tran_ext.base.flags = SPI_TRANS_USE_TXDATA | SPI_TRANS_MULTILINE_CMD | SPI_TRANS_MULTILINE_ADDR;

                                                                           ^

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp: In member function 'virtual void Arduino_ESP32QSPI::writeRepeat(uint16_t, uint32_t)':

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp:297:60: error: 'SPI_TRANS_VARIABLE_DUMMY' was not declared in this scope

                              SPI_TRANS_VARIABLE_ADDR | SPI_TRANS_VARIABLE_DUMMY;

                                                        ^

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp: In member function 'virtual void Arduino_ESP32QSPI::writePixels(uint16_t*, uint32_t)':

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp:337:60: error: 'SPI_TRANS_VARIABLE_DUMMY' was not declared in this scope

                              SPI_TRANS_VARIABLE_ADDR | SPI_TRANS_VARIABLE_DUMMY;

                                                        ^

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp: In member function 'virtual void Arduino_ESP32QSPI::writeBytes(uint8_t*, uint32_t)':

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp:388:60: error: 'SPI_TRANS_VARIABLE_DUMMY' was not declared in this scope

                              SPI_TRANS_VARIABLE_ADDR | SPI_TRANS_VARIABLE_DUMMY;

                                                        ^

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp: In member function 'virtual void Arduino_ESP32QSPI::writeIndexedPixels(uint8_t*, uint16_t*, uint32_t)':

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp:430:60: error: 'SPI_TRANS_VARIABLE_DUMMY' was not declared in this scope

                              SPI_TRANS_VARIABLE_ADDR | SPI_TRANS_VARIABLE_DUMMY;

                                                        ^

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp: In member function 'virtual void Arduino_ESP32QSPI::writeIndexedPixelsDouble(uint8_t*, uint16_t*, uint32_t)':

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32QSPI.cpp:483:60: error: 'SPI_TRANS_VARIABLE_DUMMY' was not declared in this scope

                              SPI_TRANS_VARIABLE_ADDR | SPI_TRANS_VARIABLE_DUMMY;

                                                        ^

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32SPI.cpp: In function 'void spiInitBus(spi_t*)':

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32SPI.cpp:139:13: error: 'spi_dev_t {aka volatile struct}' has no member named 'clk_gate'

spi->dev->clk_gate.val = 0;

         ^

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32SPI.cpp:141:22: error: 'volatile union::' has no member named 'rx_afifo_rst'

spi->dev->dma_conf.rx_afifo_rst = 1;

                  ^

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32SPI.cpp:142:22: error: 'volatile union::' has no member named 'buf_afifo_rst'

spi->dev->dma_conf.buf_afifo_rst = 1;

                  ^

"C:\Users\User\Documents\ArduinoData\packages\esp32\tools\xtensa-esp32-elf-gcc\1.22.0-80-g6c4433a-5.2.0/bin/xtensa-esp32-elf-g++" -DESP_PLATFORM "-DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h"" -DHAVE_CONFIG_H -DGCC_NOT_5_2_0=0 -DWITH_POSIX "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/config" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/app_trace" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/app_update" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/asio" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/bootloader_support" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/bt" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/coap" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/console" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/driver" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/esp-tls" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/esp32" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/esp_adc_cal" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/esp_event" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/esp_http_client" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/esp_http_server" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/esp_https_ota" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/esp_ringbuf" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/ethernet" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/expat" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/fatfs" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/freemodbus" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/freertos" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/heap" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/idf_test" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/jsmn" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/json" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/libsodium" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/log" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/lwip" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/mbedtls" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/mdns" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/micro-ecc" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/mqtt" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/newlib" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/nghttp" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/nvs_flash" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/openssl" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/protobuf-c" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/protocomm" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/pthread" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/sdmmc" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/smartconfig_ack" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/soc" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/spi_flash" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/spiffs" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/tcp_transport" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/tcpip_adapter" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/ulp" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/vfs" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/wear_levelling" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/wifi_provisioning" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/wpa_supplicant" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/xtensa-debug-module" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/esp-face" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/esp32-camera" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/esp-face" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4/tools/sdk/include/fb_gfx" -std=gnu++11 -Os -g3 -Wpointer-arith -fexceptions -fstack-protector -ffunction-sections -fdata-sections -fstrict-volatile-bitfields -mlongcalls -nostdlib -w -Wno-error=maybe-uninitialized -Wno-error=unused-function -Wno-error=unused-but-set-variable -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wno-unused-parameter -Wno-unused-but-set-parameter -Wno-missing-field-initializers -Wno-sign-compare -fno-rtti -MMD -c -DF_CPU=240000000L -DARDUINO=10819 -DARDUINO_ESP32_DEV -DARDUINO_ARCH_ESP32 "-DARDUINO_BOARD="ESP32_DEV"" "-DARDUINO_VARIANT="esp32"" -DESP32 -DCORE_DEBUG_LEVEL=0 -DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\cores\esp32" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\variants\esp32" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\libraries\FFat\src" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\libraries\FS\src" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\libraries\SPIFFS\src" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\libraries\SD\src" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\libraries\SPI\src" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\libraries\SD_MMC\src" "-IC:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src" "-IC:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\libraries\Wire\src" "-IC:\Users\User\Documents\Arduino\libraries\arduino-nofrendo-master\src" "C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_XCA9554SWSPI.cpp" -o "C:\Users\User\AppData\Local\Temp\arduino_build_404599\libraries\Arduino_GFX-master\databus\Arduino_XCA9554SWSPI.cpp.o"

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32SPIDMA.cpp: In member function 'virtual bool Arduino_ESP32SPIDMA::begin(int32_t, int8_t)':

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32SPIDMA.cpp:122:43: error: 'SPICOMMON_BUSFLAG_GPIO_PINS' was not declared in this scope

   .flags = SPICOMMON_BUSFLAG_MASTER | SPICOMMON_BUSFLAG_GPIO_PINS,

                                       ^

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32SPIDMA.cpp:123:22: error: 'spi_bus_config_t' has no non-static data member named 'data4_io_num'

   .intr_flags = 0};

                  ^

In file included from C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32SPIDMA.cpp:1:0:

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32SPIDMA.h:9:21: error: 'SPI_DMA_CH_AUTO' was not declared in this scope

#define DMA_CHANNEL SPI_DMA_CH_AUTO

                 ^

C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master\src\databus\Arduino_ESP32SPIDMA.cpp:127:82: note: in expansion of macro 'DMA_CHANNEL'

esp_err_t ret = spi_bus_initialize((spi_host_device_t)(_spi_num - 1), &buscfg, DMA_CHANNEL);

                                                                              ^

Multiple libraries were found for "SD.h"

Used: C:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\libraries\SD

Not used: C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\libraries\SD

Using library FFat at version 1.0 in folder: C:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\libraries\FFat

Using library FS at version 1.0 in folder: C:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\libraries\FS

Using library SPIFFS at version 1.0 in folder: C:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\libraries\SPIFFS

Using library SD at version 1.0.5 in folder: C:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\libraries\SD

Using library SPI at version 1.0 in folder: C:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\libraries\SPI

Using library SD_MMC at version 1.0 in folder: C:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\libraries\SD_MMC

Using library Arduino_GFX-master at version 1.3.8 in folder: C:\Users\User\Documents\Arduino\libraries\Arduino_GFX-master

Using library Wire at version 1.0.1 in folder: C:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\libraries\Wire

Using library arduino-nofrendo-master at version 1.2 in folder: C:\Users\User\Documents\Arduino\libraries\arduino-nofrendo-master

exit status 1

Error compiling for board ESP32 Dev Module.

Hopfully someone can help me out.

what print when the nes game work sucsessful?

Like this ?

my_malloc: 808 at C:\Users\xxx\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\arduino-nofrendo-master\src\nes\nes.c:522
_my_malloc: 92 at C:\Users\xxx\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\arduino-nofrendo-master\src\nes\nes.c:539
_my_malloc: 2048 at C:\Users\xxx\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\arduino-nofrendo-master\src\nes\nes.c:546
_my_malloc: 296 at C:\Users\xxx\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\arduino-nofrendo-master\src\sndhrdw\nes_apu.c:990
_my_malloc: 7584 at C:\Users\xxx\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\arduino-nofrendo-master\src\nes\nes_ppu.c:127
_my_malloc: 1068 at C:\Users\xxx\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\arduino-nofrendo-master\src\nes\nes_rom.c:426
_my_malloc: 8192 at C:\Users\xxx\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\arduino-nofrendo-master\src\nes\nes_rom.c:131
GUI: ROM loaded: Chase.nes [0] 16k/8k H
_my_malloc: 8 at C:\Users\xxx\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\arduino-nofrendo-master\src\nes\nes_mmc.c:241
created memory mapper: None
setting up mapper 0
reset memory mapper
GUI: NES powered on
_my_malloc: 61440 at C:\Users\xxx\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\arduino-nofrendo-master\src\bitmap.c:86
_my_malloc: 980 at C:\Users\xxx\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\arduino-nofrendo-master\src\bitmap.c:48

Memory leaks - DOIT ESP32 DEVKIT V1

Getting the following error:

_my_malloc: 61440 at /home/jailin/Arduino/libraries/arduino-nofrendo/src/bitmap.c:86
ASSERT: line 266 of /home/jailin/Arduino/libraries/arduino-nofrendo/src/memguard.c, malloc: out of memory at line 86 of /home/jailin/Arduino/libraries/arduino-nofrendo/src/bitmap.c. block size: 61440

memory leak - 11 unfreed blocks

addr: 0x3FFBBEF8, size: 256, line 26 of /home/jailin/.var/app/cc.arduino.IDE2/cache/.arduinoIDE-unsaved20231118-51-zk56s0.30hm/esp32-nofrendo/sound.c
addr: 0x3FFD9128, size: 808, line 522 of /home/jailin/Arduino/libraries/arduino-nofrendo/src/nes/nes.c
addr: 0x3FFD94A0, size: 92, line 539 of /home/jailin/Arduino/libraries/arduino-nofrendo/src/nes/nes.c
addr: 0x3FFD954C, size: 2048, line 546 of /home/jailin/Arduino/libraries/arduino-nofrendo/src/nes/nes.c
addr: 0x3FFD9D9C, size: 296, line 990 of /home/jailin/Arduino/libraries/arduino-nofrendo/src/sndhrdw/nes_apu.c
addr: 0x3FFD9F14, size: 7584, line 127 of /home/jailin/Arduino/libraries/arduino-nofrendo/src/nes/nes_ppu.c
addr: 0x3FFDBD04, size: 1068, line 426 of /home/jailin/Arduino/libraries/arduino-nofrendo/src/nes/nes_rom.c
addr: 0x3FFDC180, size: 0, line 131 of /home/jailin/Arduino/libraries/arduino-nofrendo/src/nes/nes_rom.c
addr: 0x3FFF46F4, size: 16384, line 4451 of /home/jailin/Arduino/libraries/arduino-nofrendo/src/intro.c
addr: 0x3FFDC1D0, size: 8192, line 4471 of /home/jailin/Arduino/libraries/arduino-nofrendo/src/intro.c
addr: 0x3FFDE220, size: 8, line 241 of /home/jailin/Arduino/libraries/arduino-nofrendo/src/nes/nes_mmc.c

abort() was called at PC 0x400fc50a on core 1

Backtrace: 0x40083855:0x3ffce650 0x4008bfa1:0x3ffce670 0x400919bd:0x3ffce690 0x400fc50a:0x3ffce710 0x40122fc3:0x3ffce730 0x400e2572:0x3ffce750 0x400e4a9e:0x3ffce770 0x400d8b52:0x3ffce8b0 0x400e91be:0x3ffce8d0 0x400e7d2b:0x3ffce8f0 0x400d30a2:0x3ffce920 0x400e7c65:0x3ffce940 0x400d2e3a:0x3ffce960 0x400ebe9e:0x3ffceb10

bitmap.c block corrupt ERROR

Hi moononournation,
i have build your project which you published on "instructables".
Compiling and uploading works without problems.
When I restart the TTGO T8 v1.7 I only get a grey screen and on the serial console it shows me the following error:

addr: 0x3FFCF944, size: 61443, line 86 of C:\Users\thomas\Documents\Arduino\libraries\arduino-nofrendo-master\src\bitmap.c -- block corrupt

can you fix it?

E (1305) vfs_fat: open: no free file descriptors

Hi, moononournation,
I tried different ways to run this software but failed. So far, here are progress I made:
I managed to light LCD screen (2 LCDs I tried. 7789 with 240x240 and 9341 with 320x240), both showed Nintendo logo picture and hanged there.
My chip is ESP32 wrover. The Serial output I got was

16:35:49.507 -> ets Jun 8 2016 00:22:57
16:35:49.507 ->
16:35:49.507 -> rst:0x1 (POWERON_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT)
...
16:35:50.871 -> /fs/battlecity.nes
16:35:50.871 -> NoFrendo start!
16:35:50.871 ->
16:35:50.871 -> OSDMain hit filename = /fs/battlecity.nes
16:35:50.911 -> _my_malloc: 1468 at C:\Users\mjiang\OneDrive - Intel Corporation\Documents\Arduino\ESP32Folder\esp32-nofrendo_sample_7789\sound.c:145
...
16:35:50.951 -> _my_malloc: 19 at C:\Users\mjiang\OneDrive - Intel Corporation\Documents\Arduino\libraries\arduino-nofrendo\src\nofrendo.c:242
16:35:50.951 -> rom_findrom filename = /fs/battlecity.nesE (1190) vfs_fat: open: no free file descriptors
16:35:50.951 -> E (1198) vfs_fat: open: no free file descriptors
16:35:50.991 -> _my_malloc: 19 at C:\Users\mjiang\OneDrive - Intel Corporation\Documents\Arduino\libraries\arduino-nofrendo\src\nofrendo.c:152
16:35:50.991 -> system type unknown, playing nofrendo NES intro.
16:35:50.991 -> _my_malloc: 19 at C:\Users\mjiang\OneDrive - Intel Corporation\Documents\Arduino\libraries\arduino-nofrendo\src\nofrendo.c:152
...
16:35:51.071 -> _my_malloc: 1068 at C:\Users\mjiang\OneDrive - Intel Corporation\Documents\Arduino\libraries\arduino-nofrendo\src\nes\nes_rom.c:427
16:35:51.071 -> rom_findrom filename = /fs/battlecity.nesE (1297) vfs_fat: open: no free file descriptors
16:35:51.071 -> E (1305) vfs_fat: open: no free file descriptors
16:35:51.071 -> GUI: /fs/battlecity.nes not found, will use default ROM
...
16:35:51.151 -> GUI: NES powered on
16:35:51.151 -> _my_malloc: 61440 at C:\Users\mjiang\OneDrive - Intel Corporation\Documents\Arduino\libraries\arduino-nofrendo\src\bitmap.c:86
16:35:51.151 -> _my_malloc: 980 at C:\Users\mjiang\OneDrive - Intel Corporation\Documents\Arduino\libraries\arduino-nofrendo\src\bitmap.c:48
16:35:51.151 -> Timer install, configTICK_RATE_HZ=1000, freq=60
16:36:00.819 -> addr: 0x3FFE46E4, size: 61440, line 86 of C:\Users\mjiang\OneDrive - Intel Corporation\Documents\Arduino\libraries\arduino-nofrendo\src\bitmap.c -- block corrupt

The last line "block corrupt" I found in other issues that you mention it is correct. But the problem is seems game nes file was not loaded, GUI shows /fs/battlecitynes not found and use default ROM.

I tried another thing is I changed osd.c file, line 36 else clause to be same as if clause.

if (prefer_fast_memory)
{
	return heap_caps_malloc(size, MALLOC_CAP_8BIT);
}
else
{
            return heap_caps_malloc(size, MALLOC_CAP_8BIT);
	//return heap_caps_malloc_prefer(size, MALLOC_CAP_SPIRAM, MALLOC_CAP_DEFAULT);
}

Then I got repeatedly reboot, but serial print out shows:

16:38:49.104 -> rst:0xc (SW_CPU_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT)
...
16:38:50.468 -> /fs/battlecity.nes
16:38:50.468 -> NoFrendo start!
16:38:50.468 ->
16:38:50.468 -> OSDMain hit filename = /fs/battlecity.nes
16:38:50.468 -> _my_malloc: 1468 at C:\Users\mjiang\OneDrive - Intel Corporation\Documents\Arduino\ESP32Folder\esp32-nofrendo_sample_7789\sound.c:145
...
16:38:50.548 -> rom_findrom filename = /fs/battlecity.nes_my_malloc: 19 at C:\Users\mjiang\OneDrive - Intel Corporation\Documents\Arduino\libraries\arduino-nofrendo\src\nofrendo.c:152
16:38:50.548 -> _my_malloc: 808 at C:\Users\mjiang\OneDrive - Intel Corporation\Documents\Arduino\libraries\arduino-nofrendo\src\nes\nes.c:522
...
16:38:50.628 -> _my_malloc: 1068 at C:\Users\mjiang\OneDrive - Intel Corporation\Documents\Arduino\libraries\arduino-nofrendo\src\nes\nes_rom.c:427
16:38:50.628 -> rom_findrom filename = /fs/battlecity.nes_my_malloc: 8192 at C:\Users\mjiang\OneDrive - Intel Corporation\Documents\Arduino\libraries\arduino-nofrendo\src\nes\nes_rom.c:131
16:38:50.708 -> GUI: ROM loaded: battlecity.nes [0] 16k/8k H
16:38:50.708 -> _my_malloc: 8 at C:\Users\mjiang\OneDrive - Intel Corporation\Documents\Arduino\libraries\arduino-nofrendo\src\nes\nes_mmc.c:241
16:38:50.708 -> created memory mapper: None
16:38:50.708 -> setting up mapper 0
16:38:50.708 -> reset memory mapper
16:38:50.708 -> GUI: NES powered on
16:38:50.708 -> _my_malloc: 61440 at C:\Users\mjiang\OneDrive - Intel Corporation\Documents\Arduino\libraries\arduino-nofrendo\src\bitmap.c:86
16:38:50.748 -> ASSERT: line 266 of C:\Users\mjiang\OneDrive - Intel Corporation\Documents\Arduino\libraries\arduino-nofrendo\src\memguard.c, malloc: out of memory at line 86 of C:\Users\mjiang\OneDrive - Intel Corporation\Documents\Arduino\libraries\arduino-nofrendo\src\bitmap.c. block size: 61440
16:38:50.748 ->
16:38:50.748 -> memory leak - 9 unfreed blocks
16:38:50.748 ->
16:38:50.748 -> addr: 0x3FFCFDC8, size: 1468, line 145 of C:\Users\mjiang\OneDrive - Intel Corporation\Documents\Arduino\ESP32Folder\esp32-nofrendo_sample_7789\sound.c
16:38:50.788 -> addr: 0x3FFD0BE4, size: 808, line 522 of C:\Users\mjiang\OneDrive - Intel Corporation\Documents\Arduino\libraries\arduino-nofrendo\src\nes\nes.c
16:38:50.788 -> addr: 0x3FFBC468, size: 92, line 539 of C:\Users\mjiang\OneDrive - Intel Corporation\Documents\Arduino\libraries\arduino-nofrendo\src\nes\nes.c
16:38:50.788 -> addr: 0x3FFD0F5C, size: 2048, line 546 of C:\Users\mjiang\OneDrive - Intel Corporation\Documents\Arduino\libraries\arduino-nofrendo\src\nes\nes.c
16:38:50.828 -> addr: 0x3FFD17AC, size: 296, line 990 of C:\Users\mjiang\OneDrive - Intel Corporation\Documents\Arduino\libraries\arduino-nofrendo\src\sndhrdw\nes_apu.c
16:38:50.828 -> addr: 0x3FFD1924, size: 7584, line 127 of C:\Users\mjiang\OneDrive - Intel Corporation\Documents\Arduino\libraries\arduino-nofrendo\src\nes\nes_ppu.c
16:38:50.828 -> addr: 0x3FFD3714, size: 1068, line 427 of C:\Users\mjiang\OneDrive - Intel Corporation\Documents\Arduino\libraries\arduino-nofrendo\src\nes\nes_rom.c
16:38:50.868 -> addr: 0x3FFD3B90, size: 8192, line 131 of C:\Users\mjiang\OneDrive - Intel Corporation\Documents\Arduino\libraries\arduino-nofrendo\src\nes\nes_rom.c
16:38:50.868 -> addr: 0x3FFBC514, size: 8, line 241 of C:\Users\mjiang\OneDrive - Intel Corporation\Documents\Arduino\libraries\arduino-nofrendo\src\nes\nes_mmc.c
16:38:50.868 ->
16:38:50.868 -> abort() was called at PC 0x400fd17e on core 1
16:38:50.868 ->
16:38:50.868 ->
16:38:50.868 -> Backtrace: 0x40083975:0x3ffce6d0 0x4008d3d1:0x3ffce6f0 0x40092dc1:0x3ffce710 0x400fd17e:0x3ffce790 0x40123f77:0x3ffce7b0 0x400da61a:0x3ffce7d0 0x400da7ae:0x3ffce7f0 0x400d91e6:0x3ffce930 0x400daf12:0x3ffce950 0x400dabbb:0x3ffce970 0x400d29e9:0x3ffce9a0 0x400daaeb:0x3ffce9c0 0x400d30ce:0x3ffce9e0 0x400ed402:0x3ffceb90
16:38:50.908 ->
16:38:50.908 ->
16:38:50.908 ->
16:38:50.908 ->
16:38:50.908 -> ELF file SHA256: 442a6512c2c36aca
16:38:50.908 ->
16:38:51.269 -> Rebooting...
16:38:51.269 -> ets Jun 8 2016 00:22:57
16:38:51.269 ->
16:38:51.269 -> rst:0xc (SW_CPU_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT)
...

It shows the game rom was loaded, but mem allocate goes out of memory.
Any idea to fix?

Thanks
MJiang

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.