home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1998 #6
/
amigamamagazinepolishissue1998.iso
/
coders
/
jËzyki_programowania
/
logo
/
powerlogo
/
whats-new.text
< prev
next >
Wrap
Text File
|
1992-11-10
|
9KB
|
300 lines
Power LOGO
Release 1.3
Copyright 1992
by Gary Teachout
Whats new to release 1.3, November 1992
Bugs fixed:
Conflicts between the "word" primitive and the garbage collector, could
trash the workspace. This would add garbage to the end of an existing
list. And a related problem would set the high order bit in one of the
system interupt vectors.
The "clean" primitive now works in all draw modes (before it would just
make a mess if the window was in compliment mode).
Tabs are now converted to spaces when loading or reading files.
Another bug in the garbage collector could corrupt the spelling and the
contents of words. This would happen with large programs, or when a lot
of words were defined.
The "word" primitive would add an extra quote to quoted words, and an
extra colon to dotted words.
Primitive, keyword, and buried names are no longer allowed as names of
local variables.
Files created with the 'save', or 'fprintout' primitives would sometimes
contain lines longer than 1000 characteres. Such files were not
compatible with the 'load' primitive.
The 'new' primitive would not close turtles properly, which would lead
to a system crash.
An instruction with too many optional inputs would sometimes give the
wrong error message.
Random numbers are much more random.
New primitives:
>> number number number ( number ... )
Output true if the rest of the inputs are between the first two.
>>= number number number ( number ... )
Output true if the rest of the inputs are between or equal to
the first two.
acos cosine
Inverse cosine, output angle of cosine.
allocchip bytes ( pred )
Allocate chip memory, output pointer, for sound waveform data, etc.
'pred' indicates whether you want LOGO to deallocate it
automatically.
allocmem bytes ( pred )
Allocate memory, output pointer, for messages, arrays, etc.
'pred' indicates whether you want LOGO to deallocate it
automatically.
allocstring object ( pred )
Create an ARexx argstring, output pointer.
'pred' indicates whether you want LOGO to deallocate it
automatically.
asin sine
Inverse sine, output angle of sine.
break
Jump out of looping primitives ("repeat", "while", and "dowhile").
closepalette pred
Close the palette tool.
continue
Skip to next pass in looping primitives.
convertstring string
Output list of contents from an argstring.
dec name
Decrement variable.
ellipse window x y w h
Draw ellipse.
findport port-name
Output pointer to the message port if it exists. Output null pointer
(@0) if the port does not exist.
freemem pointer ( pred )
Deallocate memory allocated by "allocchip", "allocmem", or
"allocstring". 'pred' indicates whether this is from LOGOs
user memory list.
getmessage
Output pointer to next message at the host port, wait if its empty.
getreply
Output pointer to next message at the reply port, wait if its empty.
hostport ( port-name )
Without an input, outputs the name of the host port.
With an input, changes the name of the host port.
inc name
Increment variable.
intuition
12 window
Make window, the active window.
13 window menu item subitem
Set menu checkmark.
14 window menu item subitem
Clear menu checkmark.
launch run-list
Add run-list to a queue to be executed once prior to
returning to top level.
messagep
Output true if the host port is not empty.
movecommand screen ( left top width height )
Move the LOGO command window to another screen.
openpalette pred screen ( le te )
Open the palette tool, output window pointer.
palettep ( window )
Test to see if the palette tool is open, or wait for it to be
closed, and or output how it was closed.
replymessage message
Return a message received at the host port.
replyp
Output true if the reply port is not empty.
sendmessage port-name message ( pred )
Send a message to the specified message port. 'pred' indicates
whether or not you want a reply.
system
15
Output a real pointer to the command window.
16
Output a real pointer to the workbench screen.
17
Output launch list.
18
Output char demon list.
19
Output close demon list.
20
Output menu demon list.
21
Output mouse demon list.
22
Output host port demon list.
23
Output reply port demon list.
whenmessage run-list
Set demon to respond when the host port is not empty.
whenreply run-list
Set demon to respond when the reply port is not empty.
Other changes:
LOGO should now recognize PAL, or NTSC systems, and adjust the defaults
for screen size, and turtle aspect ratio.
Menus have been cleaned up, and may be any color.
The "peek", and "poke" primitives, now accept an offset as an optional
input. "poke" no longer accepts multiple numbers.
Most primitives that expect integer inputs now truncate (round toward
zero) all nonintegers. Previously 'item', 'repitem', 'represt',
and 'restof' would round up for lists and down for words. 'psum' and
'random' would give strange results with nonintegers.
Whats new to release 1.2, February 1992
Bugs fixed:
After using "erase" in a large program LOGO would sometimes erase most
of the variables in the workspace.
Some primitives that output lists (tpos, cursor...) would sometimes
output something LOGO could not recognize. When this happend you would
get some error, the words "bad lnode", and some numbers.
A word contaning just a period (.) is no longer converted to the number
zero (0).
The garbage collector would sometimes set the high order bit in one of
the system interupt vectors.
The "closeturtle" primitive would sometimes close more turtles than
specified, or cause LOGO to lock up.
The "sleep" primitive would not work following any command window text
output (print, printout, type, ect.).
New primitives:
floodpc window X Y
Flood fill pixel color. Recolor in all directions from X, Y all
adjacent pixels the same color as X, Y.
sound sound-list sound-list sound-list sound-list
Play sounds and music on all four of the Amiga audio channels.
Other changes:
The "floodol" primitive is many times faster than it was.
All arithmetic now uses the Amiga "mathieeedoubbas.library", this
includes automatic support for 6888x.
The "fprint" primitive used to write one word from a list at a time, it
now writes in larger blocks. This makes output to the SPEAK: device
much smoother.
You may now open turtles with their sense of left and right reversed.
The "copyrect" primitive now accepts a minterm input, allowing
complement and other effects.
The "rgb", and "setrgb" primitives now recognize the null pointer (@0)
as the workbench screen.
Whats new to release 1.1, December 1990
Bugs fixed:
Some primitives used to crash if LOGO ran out of memory.
Some primitive operations could trash the workspace. This is the one
that mysteriously replaced parts of lists with garbage from other lists.
Local variables were not always popped on exit from a procedure.
The "filelist", "screenlist", "turtlelist", and "windowlist" primitives
used to output references to LOGO internal lists. This could cause a
problem when LOGO changed one of these lists after the user had an
external reference to it. They now output copies of these lists.
New primitives:
argslist
Output list of startup arguments (Workbench or CLI).
cd ( path )
Set or output the current directory.
dir ( path )
Output list of contents of the specified directory or the current
directory.
freadbyte file
Output one byte number read from file, Output the empty list if end
of file.
fwritebyte file number ( number ... )
Write one byte numbers to file.
saveicon file-name ( default-tool tool-types )
Attach icon to file.
Other changes:
Infinite lists (circularly defined lists) can cause some primitives to
get stuck in a loop, the break key (Control-G) will now abort these.
The "asave" primitive has been eliminated.
The "erase" primitive will no longer erase buried names.
The "freadlist" primitive now outputs the empty word if at end of file.
The "save" primitive now saves the file with a project icon.