






Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
The updates and enhancements made to the open fire v2.9 system for rpl and saturn calculators. The changes include the addition of ofppar, ofview2, and ofview4, optimizations, bug fixes, and the introduction of new modes like realpf and hybridpf. These updates aim to improve the functionality and compatibility of open fire with various applications and games.
Tipologia: Notas de estudo
1 / 10
Esta página não é visível na pré-visualização
Não perca as partes importantes!







http://fly.srk.fer.hr/~manjo/openfire [email protected]
GrayScale system for RPL and Saturn
WARNING: some commands expect arguments, basic argument checking prevents from calculator crashes, Basically - rules of sysRPL apply
-added OFPPAR (generates PPAR so you can use complex coordinates with OPENFIRE)
-updated OFVIEW2 and 4 (when you use OFVIEW in a loop to view slides, you can check the userflag 1 userRPL: 1 FS? when this flag is set user pressed [ON] key and sequence should be aborted, when user presses <- the flag is clear and sequence should continue)
-added OFVIEW2 (2-bit viewer)
-renamed OFVIEW to OFVIEW4 (4-bit viewer) (all old programs made using OFVIEW will continue to work without changes, in new programs please use OFVIEW4 for consistency)
-use [ALPHA] key to switch 2-bit to 4-bit and back (note: mode switching is not optimal, so don't kill your calculator with it)
-optimised OFVIEW(2 and 4) (it should be faster now = smoother scrolling)
-2 commands for monochrome to gray conversions are now called: ->4GRAY (converts to 4-bit gray GROB) ->2GRAY (converts to 2-bit gray GROB)
Added ->4GRAY command for conversion to 4 grayscales (2 bit) GROBS. Small cosmetic refreshment of the OFVIEW window. Fixed small bug related to OpenFire listing in APP menu.
Since OPENFIRE is tested and safe on 50G as well as 49G+ i updated the header image on grayscale emulator to show 50G
Animation player reached decent functionality level, so it is now included in the library, read README.TXT for details.
New ROM 2.00 has shifted ARM display buffer, OPEN FIRE 2.5 is both ROM 1.23 and ROM 2.00 compatible
minor update to OFVIEW image viewer, added fast scrolling mode: hold blue shift while scrolling image to scroll faster, release to scroll in normal speed :-)
Added new mode STATICPF STATICPF is actually the first PF mode, just instead of D0/D1 registers Saturn's hardware register #120 and A.A are used (for easier patching of the games which require this mode)
Keep the pointer to your dark page in #120, bright page in A.A and call page-converter when you're ready Entry points are: (when installed to recommended 83BC location) 83BC0 (page converter) 83BC0+#36d (menu converter) 83BC0+#18d (sound compatibility)
MODEPF.PAR is a program if present it will be executed instead of INITPF (actually any of the PF mode initializations)
Example 1: MODEPF.PAR contains << REALPF >>
Any OPEN FIRE program which uses PF modes, will be forced to use REALPF mode
Example 2: MODEPF.PAR <<
"FFFFF" POKE INITPF >>
Removed "games links" from APPS menu, but you still have GAMES utility available which works the same way like "games links" worked
Respecting all the concepts i introduced until now, i introduced one more feature -menu conversion
to convert menu have your values set in 00130 (menu address) and 00128 menu position it uses the same code as page-converter, it is only reconfigured differently on new entry point:
Use + 24h to convert menu if your program or game uses one For more details see new PFTEST.RPL
PFTEST.RPL demonstrates how to use: page-converter menu-converter and sound-compatibility routine
Some games when converted may produce reversed palette, or flickering wave-like effect you have two ways of patching these issues:
by forcing low value (#0) in #120 you're switching off address compare (forcing no swap mode) When no value was forced, page-converter will compare address in 120 with address in A.A the lower will be considered as darker page
I was tired of announcing sound-entry point movements so I finally decided to make sound entry fixed. The way how ARM routines are launching is better in general: -smaller for few instructions -faster too :-) sound compatibility routine is at 18 nibbles offset, and i hope it will stay there :-)
Added "Game Links" feature. if you are familiar enough with userRPL to make your menu using TMENU command -you will be able to create a nice choose box (or soft menu) depending on your flag
settings where all your favorite game will be available. Your games are listed by friendly names, and easy accessible with very little effort.
You can start "Game Links" by typing "GAMES" or in APPS menu "Game Links". The TMENU compatible list should be in your HOME directory in GAMES.LNK file (variable).
although HOME folder is recommended you can create a sub directories, and create different GAMES.LNK variables in subdirectories this way you can create groups of games very easy.
Another important difference is in the way you call page-converter. you don't need to move your page-addresses to D0 and D1 and then call page-converter. Just find a place in your code, when you change 00120 register, and put page-converter call PRIOR to DATx=A if you use DATx=C you will probably want to add ACEX too :-)
PFTEST.RPL is updated to work with OPEN FIRE 2.
ADDED USER DEFINED PALETTE SETUP
SET4 command now looks for SET4.PAR variable it will use this value for palette, (any data in the SET4.PAR will be considered as user binary) if no SET4.PAR is found -value specified in the game / program is used
-you can use this to adjust default palette in your favorite game to your preferred value
new recommended value for palette: #B
While Lilian was porting his Scroll_4C he discovered another bug in OPEN FIRE. I admit I never programmed a hardware scroller on old Saturn, so I made offset register and scan length register support how I figured it should work :-) It turned out that Saturn had few tricks on it's own in this subject.
Luckily Lilian was familiar with this behavior :)
So here it is -OPEN FIRE now emulates strange behaviors too :-) Code efficiency remained the sound compatibility moved (of course) 1E8 is the new offset
with new OPENFIRE compatibility of INITPF is enhanced even further it is fully controlled by Saturn hardware registers now so first argument of INITPF is not needed anymore (recommended was #22)
from version 2.1 use following recommended values: 2:#822C 1:#83BC
KSB (keyboard state buffer) -command will scan the whole keyboard with debouncing time specified with KEYTIME commands -state of whole keyboard is returned in single 64 bit user binary (HXS).
This is ment for sysRPL/userRPL users only, as it will allow you to scan entire keyboard from sysRPL 40 times per second.
For faster and simpler key press detection (in your Saturn ML games) writing your own key scan routine is recommended.
FULL FUNCTIONALITY of INITPF command, added sound compatibility support ============================================================ with suggestions by Lilian Pigallio, as a tool for porting older games (page-flipping style) OPEN FIRE may become THE environment for porting older games to new 49G+
(recommended values) 3: #22h -nibbles per line (must be even number not greater than # 2: #822C0h -address of hardware frame buffer (must be word-aligned) 1: #80100h -address where compatibility routines will be installed INITPF
initializes 4 shade GrayScale mode, with compatibility support once initialized you may call the page converter like:
D0= D1= GOSVBL 80100
to use sound call offset #1A0h with register C setting as you would have set it for OUT=C call.
example: LC 800 GOSBVL 802A0 (will trigger speaker on) C=0 x GOSBVL 802A0 (will trigger speaker off)
Included is the sample for both page converter and sound: PFTEST.RPL
PF as in page flipping mode is not really page flipping implementation of gray scale, it is a command designed to help developers to port their page-flipping games to G+.
INITPF expects pointer to address where 4GS buffer is located:
recommended value: 1: #822C INITPF
as it's other OPENFIRE relatives it will return the actual address used and offset if you use the recommended value you can discard returned arguments as 822C0 is aligned address within memory area used by 49G as grayscale frames.
For games which are using this area for their graphics, some other location is recommended -for example: Address within GDISP #87180, in that case be sure to set the width and height properly so you will have enough memory available)
Along with library a source code in file: 'scan.asm' is provided, -this is a sample of Saturn ASM code which will convert and display your 2 pages on 4GS screen.
-3 new commands for 2 bit grayscale mode, 4GS will be interesting to those who will want to produce games and software with great dynamics, and for those who will wan to use advanced "palette rotating" features done directly by LCD hardware.
initiates 4GS mode, this command is separated from INITGS to keep maximum compatibility with previous versions of OPEN FIRE frame buffer is 80 nibbles wide, (2 bits per pixel)
choose 4 gray levels ("palette") from 16 available to be displayed in 4GS this is VERY useful for palette rotation effects etc...
Example: 1: #F SET
will choose default shades "F" the darkest shade "8" is first brighter shade "4" is bright shade "0" is empty
100% UsrRPL -sufficient for basic use will be improved
1:GROB (GS graphic object) OFVIEW will display your graphics in 16 shades full screen
arrow keys -scroll in appropriate direction <- (backspace) -exit ON -will interrupt the program -you will stay in GS mode ON + or - -combined will change your LCD-s contrast
AUTHOR: manjo [email protected] http://fly.srk.fer.hr/~manjo 2004/2005 XAE project