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

banked: enhanced banked functions #99

Closed
3 tasks done
jorgegv opened this issue Sep 29, 2022 · 1 comment
Closed
3 tasks done

banked: enhanced banked functions #99

jorgegv opened this issue Sep 29, 2022 · 1 comment
Assignees
Labels
enhancement New feature or request size optimization
Milestone

Comments

@jorgegv
Copy link
Owner

jorgegv commented Sep 29, 2022

The final goal is to free as much as possible low memory and make it available for game data.

Additional enhancements to the engine banked code:

  • Generalize the function type definition to encode argument types and return type, so that any function can be migated to banked code. E.g. function type banked_function_a16_a16_r8_t for a type of function that receives two 16-bit arguments and returns a 8-bit value; banked_function_a16_t for a function that receives one 16-bit argument and returns nothing (void), etc.
  • Create memory_call_banked_function_... functions for the different function types defined in the previous point.
  • Migrate more functions to banked_code area so that in 128K mode more engine is in upper code banks. Appropriate new function types and memory_call_banked_function_... functions should be defined if needed to accomodate the args and return types of the migrated functions.
@jorgegv jorgegv added enhancement New feature or request size optimization labels Sep 29, 2022
@jorgegv jorgegv added this to the Release 0.6.0 milestone Sep 29, 2022
@jorgegv jorgegv self-assigned this Sep 29, 2022
@jorgegv
Copy link
Owner Author

jorgegv commented Sep 29, 2022

first 2 tasks done in 277a488

@jorgegv jorgegv modified the milestones: Release 0.6.0, Release 0.5.0 Oct 5, 2022
@jorgegv jorgegv closed this as completed Nov 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request size optimization
Projects
None yet
Development

No branches or pull requests

1 participant