AlfonsoJLuna / chip8swemu

CHIP-8 and Super-CHIP emulator core
MIT License
43 stars 4 forks source link

Any chance to port it on a 2K ram MCU? #6

Open slipperstree opened 2 years ago

slipperstree commented 2 years ago

For example 8051 (not classic series cause it has only 256Bytes ram, but STC or some other new series 8051 has more ram like 2K etc.)

AlfonsoJLuna commented 2 years ago

It is doable but will be a bit tricky. You need at least 1KB for the framebuffer + 4KB for the game data + a few more bytes for the rest of variables.

With less than 1KB for the game data it will be limited to the smallest games only. Another option is to store the 4KB of game data in the EEPROM/Flash of the MCU, but some games can change its own code and will break if the game data is read-only or very slow to write.

slipperstree commented 2 years ago

You mean your Core code does not force ROM to be stored in RAM, thank you! I'll try to put the ROM data into CODE section to save 4K ram like this : code unsigned char romData = {0x00, 0x01, ...} [code] in 8051 means store the array data in 8051's ROM but not RAM, good news is that I have 64KB ROM to waste! Thank you !

slipperstree commented 2 years ago

games can change its own code I missed this sentence. After all, there is only 2K rams, I can't wish everything is perfect, Thank you!