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

Add UNAPI RAM Helper compatible mapper support routines #34

Merged

Conversation

Konamiman
Copy link
Owner

@Konamiman Konamiman commented Oct 1, 2019

This pull request extends the mapper support routines with four new routines:

  • CALLRAM: call a routine in another slot and segment, pass parameters in registers
  • READRAM: read a byte from an address in a slot+segment combination
  • CALLRAM2: call a routine in another slot and segment, pass parameters in stack
  • WRITERAM: write a byte to an address in a slot+segment combination

The first three are compatible with the UNAPI RAM Helper, including the extended BIOS based detection mechanism.

WARNING: BREAKING CHANGE

The entry points for these routines go right after GET_P3 in the jump table for the mapper support routines. In previous versions this area contained entry points for ALL_BK and FR_BK, which were routines for simple "malloc" style block allocation. There two routines have been removed from Nextor, but their source file (source/kernel/bank4/bkalloc.mac) has been left in place so that it can be examined and reused in application programs if necessary.

@Konamiman Konamiman added the WIP Work in progress label Oct 1, 2019
@Konamiman Konamiman added this to the v2.1.0 final milestone Oct 1, 2019
@Konamiman Konamiman self-assigned this Oct 1, 2019
@Konamiman Konamiman added the enhancement New feature or request label Oct 1, 2019
@Konamiman Konamiman mentioned this pull request Oct 1, 2019
@Konamiman Konamiman force-pushed the unapi-ram-helper-compatible-mapper-support-routines branch 4 times, most recently from 7d27f12 to 93d380e Compare October 3, 2019 14:11
@Konamiman Konamiman removed the WIP Work in progress label Oct 8, 2019
@Konamiman Konamiman force-pushed the unapi-ram-helper-compatible-mapper-support-routines branch from 93d380e to f53c66e Compare October 9, 2019 11:41
@Konamiman Konamiman added the breaking change This change introduces a breaking change in a public API label Oct 9, 2019
@Konamiman Konamiman merged commit 3cbf964 into v2.1.0-final Jul 10, 2020
@Konamiman Konamiman deleted the unapi-ram-helper-compatible-mapper-support-routines branch July 10, 2020 07:39
Konamiman added a commit that referenced this pull request Jul 27, 2020
* Add UNAPI RAM Helper compatible mapper support routines (#34)
* "Get cluster information" function call, and improvements to EMUFILE (#35)
* Cleanup/fix C tools compilation (#36)
* Post-RC1 fixes and changes (#61)
* Fix: using bad address of emulation work area in disk emulation mode.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking change This change introduces a breaking change in a public API enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant