technobly / VEXTREME

VEXTREME - Vectrex Multicart
GNU General Public License v3.0
61 stars 12 forks source link

Revamped menu #73

Closed v-kiniv closed 3 years ago

v-kiniv commented 3 years ago

Problem

Solution

The settings screen implemented in such way, that its structure is not "hardcoded", for example you can add another mode for LED or add another submenu simply by adding another text line in settings.i file, no need to change implementation.

Steps to Test

You'll need to compile and flash both STM32 firmware and menu.bin.

References

Note

These PR contains a lot of changes and affect lines of code that is not directly related to the PR problem and solution.

All code was reformatted to follow next rules(I believe it's easier to navigate in code with consistent formatting):

A lot of literals(especially memory addresses) in STM firmware and cart was replaced by constants and offsets.


Contributor License Agreement

I, Vasily Kiniv, agree to license my contributions to this project under the terms of the GPL 3.0 or any later version.