-
Notifications
You must be signed in to change notification settings - Fork 7
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
Change font sizes from short to fix31 #36
Conversation
This doesn't add full fix31 support everywhere, but it should be a good start for adding the remaining support e.g. |
Thank you for your pull request. It appears your changes aren't liked much by Can you check, please? |
I'm puzzled by that. It looks like I'll need to get |
What platform are you on? There is a pacf.exe for Windows (nothing for Mac, unfortunately) as well. |
I'm on an M1 Mac. But I can get a Linux VM going on my work x86 Mac and install pacf there. |
After some investigation, it looks like pacf doesn't convert register names passed as parameters to a macro. You'd need to write something like this:
which is pretty gross and IMO loses most of the benefits of using the macro. I'll play around some more and maybe contact MicroAPL but I think I might have to revert from using macros with register parameters 😞 |
font->size (short) has been renamed and is now replaced with font->extra.size (fix31). Many C interfaces are now changed to take fix31 sizes, and to convert back to short when necessary. New assembly macros are added for fix31<->short conversions, and to slightly improve readability. The GNU macros are tested, which also work with PortAsm. The other macro versions are hopefully correct. vst_arbpt32() is now supported correctly. Papyrus uses this a lot.
OK, so while trying to figure out a test case for microapl support I figured out what was wrong. The change was in the macro definitions. From:
to:
(And a similar one to |
Great you found the culprit. Thanks again! |
font->size (short) has been renamed and is now replaced with font->extra.size (fix31).
Many C interfaces are now changed to take fix31 sizes, and to convert back to short when
necessary.
New assembly macros are added for fix31<->short conversions, and to slightly improve
readability. The GNU macros are tested. The Lattice and PortAsm macros are hopefully
correct.
vst_arbpt32() is now supported correctly. Papyrus uses this a lot.