-
Notifications
You must be signed in to change notification settings - Fork 28
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
Support multiple pixel formats at runtime? #118
Comments
I recently abstracted the menu stuff into some macros in platform/libpicofe, so that shouldn't pose a lot of problems. Just modify the pixel conversion macros in platform/libpicofe/plat.h. The emulator screen rendering takes place in pico/draw* and pico/mode4.c. Some of it is in ARM assembly and very hardcoded for speed reasons. So in a nutshell: yes, it should be possible. If you want to tackle that I can help in the process by pointing at the right functions to look at and do some infrastructure work to support this better. E.g. on my wish list is to abstract the conversion macros in the drawing code so that the conversion core comes from some macros in the platform directory. |
Ah, RISC OS is running on early ARM, isn't it? So, the ARM assembler functions would need to be modified. Just to say it, it's usually much more work to write the asm stuff and, more importantly, debug it. Besides, most of the ARM assembly relies on having at least an ARMv4 architecture. |
There's a very old RISC OS port here: http://picodrive.acornarcade.com/ |
After my experience with psp and ps2 I'm certainly not too inclined of doing another emulator-only port. Too many cases of it running fine in the emulation but not on real hardware, which has cost me quite some time to sort out without a clue why it's not working. So, IMHO someone with some porting experience and the real hardware should take this on. I'm however willing to assist with knowledge about the internal platform API, and I'm willing to discuss and consider integrating the result with the official repo. |
At the moment, the pixel format used by the 16-bit renderer is specifed at compile time using the
USE_BGR555
andUSE_BGR565
defines. Would it be possible for it to be selected at runtime? It would be useful to have for porting to RISC OS, where different machines may not have hardware support for the format specified at compile time.The text was updated successfully, but these errors were encountered: