home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Acorn User 4
/
AUCD4.iso
/
acorn
/
riscos
/
releases
/
oslib
/
changlog
next >
Wrap
Text File
|
1995-02-24
|
11KB
|
302 lines
OSLib release 4.3
----- ------- ---
* Added dependency of "dragasprite.h" on "osspriteop.h."
* |#Undef|fed each SWI name and SWI reason code before |#define|ing it.
* Removed spurious ')' in comment for OS_SetPalette.
* Changed names of arguments to Wimp_SetIconState.
* SWI Wimp_Extend given the right number (but it's reserved anyway).
* Added os_read_line_given_echo(), os_read_line_suppress_invalid(),
os_read_line_given_echo_suppress_invalid().
* Changed filetypes, load addrs, exec addrs and attrs to |bits| from |int|
(to avoid undefined behaviour when shifting bits in and out of load and
exec addrs). Affects "filecore.h," "filer.h," "fileraction.h,"
"netfs.h," "osfile.h," "osfscontrol.h," "osgbpb.h," "osmodule.h,"
"pdriver.h," "resourcefs.h," "squash.h," "wimp.h."
* Corrected osfile_TYPE and osfile_TYPE_SHIFT.
* Changed ColourPicker button types to |bits| from |int|.
* Added OSFile attribute values.
* Do not truncate file names at 10 characters in nested includes (as
recommended in my own documentation!). Affects "pdriver.h" only.
* Avoid C++ reserved words (asm, template in "os.h," delete in "netfs.h").
* Remove accidentally duplicated parameter names ("dosfs.h,"
"filecore.h," "font.h," "osspriteop.h," "pdriver.h," "ramfs.h,"
"sharedclibrary.h") to avoid GCC errors.
* Added flags values for osspriteop_set_pointer_shape().
* Output argument of wimpreadsysinfo_tool_sprites() corrected (was
|osspriteop_area *|, should be |osspriteop_area **|).
* Various changes to ReadMe, including description of "abstract types."
* Changed definition of |os_date_and_time| from
typdef struct {byte b [5];} os_date_and_time;
to
typedef byte os_date_and_time [5];
and the same for |netfs_date_and_time|. This may break code, but it is
necessary to ensure that the alignment of structures that use it (e g,
|osgbpb_system_info|) are correct in Norcroft C (which aligns
structures, but not arrays, to word boundaries).
* Added chip-type symbols to "osreadsysinfo.h."
* Fixed minor typos in "devicefs.h," "netfs.h," "osfscontrol.h."
* Added CMOS byte numbers for current year and alarm flags ("osbyte.h")
and also recoded the macros in there to make it totally complete and
consistent for all CMOS locations.
OSLib release 4.2
----- ------- ---
* Fixed bug in ADFS_DiscOp, FileCore_DiscOp, RamFS_DiscOp: first argument
was being passed in R0, not R1.
* Provided 3 functions for Territory_ReadSymbols, so you can call the right
one for the type of result expected.
* Changed the tag used for "abstract" typedefs so that it is different from
the typedef name, for better interworking with GCC and C++ systems. Affects
"buffer.h," "colourpicker.h," "devicefs.h," "dma.h," "econet.h," "os.h,"
"osfscontrol.h," "osspriteop.h," "wimp.h."
* Added wimp_CLOSE_MENU (to be used as an argument to wimp_create_menu())
and wimp_NO_FONTS (to be used as an argument to wimp_load_template()) to
"wimp.h."
* Fixed bug in Filer_MessageOpenDirAt: display field was bits, not byte.
OSLib release 4.1
----- ------- ---
* Wimpreadsysinfo_wimp_mode() returns |os_mode| rather than |int|.
* Fix bug: some byte-wide entities were being written as whole words. This
affects: xcolourtrans_return_gcol(), xcolourtrans_set_gcol(), xcolourtrans_-
return_gcol_for_mode(), xcolourtrans_return_opp_gcol(), xcolourtrans_set_-
opp_gcol(), xcolourtrans_return_opp_gcol_for_mode(), xcolourtrans_colour_-
number_to_gcol(), xcolourtrans_set_text_colour(), xcolourtrans_set_opp_-
text_colour(), xfont_find_font(), xfont_current_font(), font_current_-
font(), xfont_future_font(), font_future_font(), xfont_current_rgb(), xfont_-
future_rgb(), xos_read_point(), os_read_point(), xos_change_redirection(),
os_change_redirection(), xosfind_openin(), xosfind_openout(), xosfind_-
openup(), xosspriteop_read_pixel_colour(), osspriteop_read_pixel_colour(),
xpdriver_select_job(), xpdriver_current_job(), xpdriver_select_-
illustration(), xwimpreadsysinfo_font(), wimpreadsysinfo_font(),
xwimpspriteop_read_pixel_colour(), wimpspriteop_read_pixel_colour().
* Add note to ReadMe file about using NULL pointers as output arguments.
* Duplicate NOP macro deleted from Hdr.Types.
* Added OS_VartypeLiteralString, os_VARTYPE_LITERAL_STRING to OS headers.
* Corrected Wimp error numbers (most were 1 off), added Error_WimpBadSlot,
Error_WimpBadConfFont, Error_WimpNoSprites, Error_WimpBadPalFile2,
Error_WimpBadSprites from RO 3.5, and 2 now-obsolete numbers (too many
windows, division by 0).
OSLib release 4
----- ------- -
* Second public release
* Changed 'allpication' to 'application' in os.h (!).
* Os_change_environment() now returns the old handler.
* Error_SQUASH_BADPARAMETERS gains an underscore.
* In osmodule.h, "context" arguments given more meaningful names
(|module_no|, |instance_no|). Various osmodule_enumerate() calls return
|module_no_out| as the result.
* Added help files for StrongHelp, available on F1 in StrongEd (by
default), and also in Zap C Mode if you bind MJE_HELPCONTEXT to F1 in the
keys file.
* Added OS_PlotVDU, changed argument types of OS_ChangeRedirection.
* Fix bug: size of unions was being specified as 0 in assembler headers.
* Added stuff about "types.h" in ReadMe.
* Restructured: OSLib now contains only ChangeLog, ReadMe, h, Hdr and o.
Separate archives contain Examples (PRM example code in C), CStrong
(StrongHelp for the C interface) and CHelp (SrcEdit help for the C
interface). A future release will contain AsmStrong and AsmHelp (for the
assembler interface).
OSLib release 3
----- ------- -
* Provide ReadMe and this file with the release.
* Added descriptive text to each function.
* "Abstract" types supported: used for Wimp_W, Wimp_T, Econet_RxCB,
Econet_TxCB, etc.
* IIC_Control, OS_Byte, OS_ClaimScreenMemory, Wimp_ClaimFreeMemory now
classified as "reason codes."
* Incorporated suggestions from Jonathan Roach for filecore.h.
* Fix bug: bad code generated for Font_CacheAddr, Font_ReadDefn,
Font_ReadScaleFactor, OSFSControl_ReadFileType, PDriver_PageSize,
WimpSpriteOp_ReadPaletteSize and WimpSpriteOp_ReadSpriteSize.
* Use |void| (instead of |byte|) for generic pointers, where appropriate.
* Added more error numbers.
* Renamed International as ServiceInternational.
* Upgrade to RISC OS 3.5.
* Added more message types to filer.h.
* If there is a reasonable |context_out| argument, return it from the non-X
form.
* Moved "main" SWI's to their own headers (OS_Byte to osbyte.h, etc), InsV,
RemV, CnpV to Buffer.
* Sorted all OS SWI's into one of these groups: the CLI; communications;
conversions; the environment; errors; input; interrupts; memory management;
output; time and date; VDU drivers; vectors; and the rest of the kernel.
Maybe os.h, which is somewhat monolithic, should be split up along these
lines?
* Added RemV, CnpV, but not properly yet.
OSLib release 2
----- ------- -
* Now complete. All calls up to RISC OS 3.10 are included. (Medusa
extensions will have to wait until the next release.)
* In the header files, registers which are assigned fixed values in a
function veneer (e g, reason codes) are listed in an 'Other notes'
paragraph.
* The section header (e g, for 'Constant definitions,' etc) is absent if the
section is absent. The section headers are more eye-catching. (Suggested by
James Bye.)
* More SWI's return results in their non-X form.
* Result registers are no longer in the argument list. In the previous
OSLib, the prototype for |osmodule_alloc()| (which allocates memory from the
R M A) was
void osmodule_alloc (int size, byte **ptr);
now it is
byte *osmodule_alloc (int size);
Also: OSFile functions return the object type; functions that create an
object or open a file return the handle; SWI's that do a read operation
return the flags, so you can write
while ((os_bget (f, &c) & _C) == 0)
{ ... code to do something with character |c| ...;
}
... now at end of file ...;
Econet SWI's return the control block created, or the status of the operation
performed; WIMP and PDriver SWI's that are called to loop through rectangles
return the continuation status, so you can write a redraw loop as
for (more = wimp_redraw_window (&r); more;
more = wimp_get_rectangle (&r))
{ ... redraw code here ...;
}
* More consistent terminology: SWI's that fill buffers have two arguments,
usually called |buffer| and |size|, and may return one of: a pointer to the
next free byte (always called |end|); a number of bytes written (called
|used|); or a count of buffer bytes not used (called |spare|). More
consistency could only be derived by changing the OS, or doing some bizarre
things in the veneer.
* More of the module interface described: vectors, upcalls and events
added, with prefix |os_...v|, |upcall_| and |event_| respectively. Error
prefix changed to |error_|. Message prefix still |message_|, service call
prefix |service_|. All other symbols defined in a module begin with the
module prefix. Service calls and all the above now at the end. (These are
only provided from the implementor's side, as it were: functions to generate
the event, call the vector, make the service call, rather than to act on the
event, claim the vector, or catch the service call.)
* In the header files, C syntax is used for hexadecimal in comments.
* In the header files, brackets removed from pointer declarations.
(Suggested by James Bye.)
* Spurious blank lines removed from header files.
* To get -1 into a register Rx, used to generate the stupid MOV Rx, #&FF:
ORR Rx, Rx, #&FF00: ORR Rx, Rx, #&FF0000: ORR Rx, Rx, #&FF00000. Now
generates MVN Rx, #0 instead, and similarly for similar constants.
* Assumes that a non-X SWI will never be called in SVC mode. This means that
LR is preserved over the SWI instruction and reduces quite a lot of veneers
to 2 instructions.
* Uses that fact that registers not corrupted or returned by the SWI are
preserved, to avoid stacking output addresses where possible. This also
reduces the lengths and memory accesses of a lot of veneers. (Suggested by
James Bye.)
* OSFind changed: instead of (e g)
xosfind_openout_path (flags, file_name, path, file);
use
xosfind_openout (osfind_PATH | flags, file_name, path, file);
In other words, the choice between {default path, no path, given path, path
variable} is moved from the function name to the flags argument. (Suggested
by Ian Johnson) Sadly, this cannot be done with the OSFile SWI's, because
they are not related in a systematic way.
* One library (o.OSLib) instead of lots. (Suggested by Kevin Welton.)
* All code examples from the PRM (except volume 4) included in C versions.
OSLib release 1
----- ------- -
* Name changed from SWILib. DefMod written to provide an automatic
translator and veneer generator from module definition files.
* Macros changed to functions. Original macro SWILib now only used to make
DefMod (without this, you would have a circular build process with nowhere to
start).
* Many extra SWI's covered.
* Wimp_Message structures now divided into two sorts: "system messages", in
the union Wimp_Message, and others which may be provided by other modules
(the WIMP also provides some of these).
* X and non-X forms provided.
* OS_F, Font_F instead of OS_Handle, Font_Handle.