AnyMode v0.06b www.pi-star.co.uk/riscos/anymode (c) S.Harrison 2014 ------------------------------------------------------------------------------- This module is for the RaspberryPi and RPCEmu only. It simply allows any screen mode X and Y resolution to be used automatically. Try entering any X and Y dimension in the Display Manager sub menu, or press f12 and type *WimpMode Xxxxx Yyyyy C16m (where xxxx and yyyy are numerical values), and providing the new mode passes a couple of checks (width in bytes is divisible by 32 and height is divisible by 2), then the mode will work! It works because the RPi graphics processor (or RPCEmu emulator) fits and scales (if necessary) all graphics output to suit the attached monitor - so monitor-specific mode definition files are completely redundant. AnyMode will not load or run on any other RISC OS hardware - only the RPi, or under emulation on RPCEmu. To enable AnyMode on Boot-up of your RPi or RPCEmu, and avoid the need to load a mode definition file, place the AnyMode module in your $.!Boot.Choices.Boot.PreDesk directory. Enjoy. Although AnyMode allows all modes, the default modes which AnyMode lists in the Display Manager menu are as follows: 640 x 480 800 x 600 1024 x 768 1360 x 768 1280 x 1024 1920 x 1080 History ------- v0.06b 12/3/14 added support for RPCEmu! Can now select any X and Y size screen mode under RPCEmu with no need for a mode definition file. v0.05b 30/1/14 added support for the new mode info block format 1, which enables 16bpp (64K colour) screen modes on RISC OS 5.21+. Also fixed the mode width check to ensure mode width in bytes is divisible by 32. v0.04b 20/1/14 fixed all problems so far - all old-style numbered modes now work correctly, including MODE 7!!! and typing "MODE MODE" in BASIC now works v0.03b 19/1/14 first release Notes ----- AnyMode 0.06 supports 16M, 64K and 256 colour modes, however the RaspberryPi scales some 256 and 64k colour modes differently to the same resolution in 16M colours (eg. X800 Y800), so you may need to hit f12 and type *WimpMode 32, to recover if the screen is scaled too small. Also, Y resolutions divisible by 2 are allowed and work correctly on the RISC OS Desktop, but in order for hardware scrolling (ie. pressing f12) to work correctly, the Y resolution must be divisible by 8. Programmers: This module uses the undocumented (in the paper PRMs) service call &94 (ModeFile Changed). This service should be called whenever a new mode file or a new mode-providing module is loaded, to allow DisplayManager to update it's menu entries. Future *Commands (**not implemented yet**) ---------------- *ResetModes [4:3|widescreen|default] (no parameter lists the current setting) - resets the provided mode list for the Display Manager, see list below *AddMode "1024 x 786", "800 x 600", ... - adds the specified mode(s) to the Display Manager menu *RemoveMode "1280 x 1024", "640 x 480", ... - removes the specified mode(s) from the Display Manager menu Preset modes are: Default 640 x 480 800 x 600 1024 x 768 1360 x 768 1280 x 1024 1920 x 1080 4:3 640 x 480 800 x 600 1024 x 768 1280 x 1024 1600 x 1200 Widescreen 640 x 480 1280 x 720 1360 x 768 1600 x 900 1920 x 1080