Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Open Fire V2.9: GrayScale System Updates and Enhancements for RPL and Saturn, Notas de estudo de Cultura

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

2012

Compartilhado em 17/07/2012

higor-de-mattos-9
higor-de-mattos-9 🇧🇷

3 documentos

1 / 10

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
OPEN FIRE V2.9
http://fly.srk.fer.hr/~manjo/openfire
------------------------------------
GrayScale system for RPL and Saturn
WARNING:
some commands expect arguments, basic argument checking prevents from calculator
crashes,
Basically - rules of sysRPL apply
07.02.2007 update to 2.9
========================
-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)
24.11.2006 update to 2.8
========================
-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)
13.11.2006 update
=================
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.
14.09.2006 update
=================
Since OPENFIRE is tested and safe on 50G as well as 49G+ i updated the
header image on grayscale emulator to show 50G
25.01.2006 UPGRADE TO 2.6
pf3
pf4
pf5
pf8
pf9
pfa

Pré-visualização parcial do texto

Baixe Open Fire V2.9: GrayScale System Updates and Enhancements for RPL and Saturn e outras Notas de estudo em PDF para Cultura, somente na Docsity!

OPEN FIRE V2.

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

07.02.2007 update to 2.

-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)

24.11.2006 update to 2.

-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)

13.11.2006 update

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.

14.09.2006 update

Since OPENFIRE is tested and safe on 50G as well as 49G+ i updated the header image on grayscale emulator to show 50G

25.01.2006 UPGRADE TO 2.

Animation player reached decent functionality level, so it is now included in the library, read README.TXT for details.

04/09/2005 UPGRADE TO 2.

New ROM 2.00 has shifted ARM display buffer, OPEN FIRE 2.5 is both ROM 1.23 and ROM 2.00 compatible

03/19/2005 2.4 UPGRADE

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 :-)

02/06/2005 2.4 UPGRADE

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)

Similar to SET4.PAR, MODEPF.PAR is now available

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 >>

01/07/2005 UPDATE to 2.

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:

  1. use rotated palette recommended value is #B "rotated" palette is: #B NOTE: #037B is inverted
  2. force initial page-swap by forcing a high value in 120 (or 130) register. #120 "FFFFF" POKE -will write #FFFFF in to #120 register, this way initial swap of bright-dark pages will be forced, same principle applies to menu, you only need to write to # #130 "FFFFF" POKE

NOTE:

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

12/27/2004 unofficial UPDATE to 2.

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.

12/18/2004 UPDATE to 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

12/18/2004 UPDATE to 2.

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

12/13/2004 UPDATE to 2.

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

NEW IN VERSION 1.

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

Introducing "PF" mode in to OPEN FIRE

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.

Introducing "4GS-four gray shades" mode in to OPEN FIRE

-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.

INIT

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)

SET

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

GET

100% UsrRPL -sufficient for basic use will be improved

1:GROB (GS graphic object) OFVIEW will display your graphics in 16 shades full screen

keys:

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