Changesto the ROM Kernel Manual for the 1.2 Release These notes have been assembled from a number of Alpha release documents. You will find more than one mention of many features and descriptions of problems that are later solved. DOS muchimproved dos, and some new commands. look for 'addbuffers dfx: nn' which will add nn buffers to the list of sector caches for drive x. Smarter caching and new disk layout. For optimal performance; relay out your disk by using copy all. Details of CLI commands below. Improvements include New mode for opening files - MODE_READWRITE which opens an old file with an exclusive lock. (The actual value is 1004). Provided the name MODE_READONLY as a synonym for MODE_OLDFILE. Look for new dos.h. Requestors asking for a disk to be inserted are now only displayed once the light on the disk has been turned off; thus not encouraging users to damage their disks so much. CON: and RAW: parameter values are now not checked by dos; they will be checked by intuition eventually but as of now they are not checked at all. Improved handling of sector allocation bitmap; should be fast for hard disks. RAM: handles parent(); allows null file name; seek in empty file not now an error; faster transfer rate; better out of memory handling Theramdisk released is about 30% faster than the 1.1 ram disk. ramdisk:now has an icon. It will appear whenever the ram disk isbuilt. It is built whenever you touch ram disk with a dir, orcopy something into it. You can't get rid of the icon though, althoughyou can get rid of all the contents of the ramdisk. Emacs emacsfixed, now can use new rawinput code. alphaversion of emacs. It supports 50 rows of interlaced stuff now. supportsthe mouse noteon emacs, the commodore-amiga supplied emacs is part of the softwaretoolkit. It has been heavily enhanced and is not public domain. emacs documentation included on the Software Toolkit disk. Remember this emacs is not a public domain emacs. Andy spent a lot of time adding all kinds of goodies to make it easy to use on the amiga. It is currently planned to be distributed to all who get the developers toolkit. Exec expansion architecture now in kickstart! Big side affect is that many system data structures should now appear in fast memory if it is available. This is true of SysBase and GfxBase. So beware! Bug fix, exec now correctly sets AFB_68881 in AttnFlags For the next Beta release, there may be a new function/libraryor something for you 68881 programmers. This would allow you to set up the multitasking properly via tc_Switch,tc_Launch in exec. No more multitasking problems with 68020/68881 combinations (RSN) Wehave partial 68881 support. Moderatechanges to exec. Two feature areas: we now have support forfinding code modules in ram at system bring up time (this lets us ignore or add to modules in ROM) This new exec has a fully working "romtagsin ram" facility. This willallow one to override individual modules in kickstart. In addition,new modules may be added to the system. Inaddition several bugs were fixed. AllocAbs() was rewritten from scratchto make it work. The exec library structure was not properly kept-- LIB_POSSIZE and LIB_NEGSIZE were incorrect. In addition exec usedto write over the top of legal memory on system boot. includedseperate file, the latest exec.doc Exechas new functions to deal with SignalSemaphore's. Thereis one open design issue on this stuff. Because this "romtags inram" is ram-based, there is a possibility of trashing the list dueto an errant program. Currently the "directory" information forthe ramtags is checksummed, but not the actual code and data. Thismakes it possible to link in normal C code. However, it meansthat a program can be trashed and your system will infinitely loop,until the machine is powered off. Apossible solution is to checksum the code as well as the directory information. However, this means that only "clean" code may be used -- e.g.code that is capable of being burned into ROM (even though it isin ram). Newfunctions: AddMemList() adds memory to the system InitSemaphore(), ObtainSemaphore() for signal semaphores CopyMem() fast, safe memory mover SunKickData() Formore information, see the autodocs. Finally,of interest only for those of us who write exec code, exec willignore the old execbase if the version or revision of exec haschanged. Graphics/Layers fixedscrolllayer, it wasn't recomputing the cliprects used to draw intothe superbitmap when scrolllayer called. XorRectRegionnow works. But removed, ran out of space on kickstart. NotRegionremoved from graphics. It never did anything useful anyway exceptblow up if you called it with correct parameters. You can emulatedifferent forms of what you think NotRegion was supposed to dowith XorRectRegion. Changesto support different standard screen sizes. Programmersshould get the NormalDisplayHeight of a screen from GfxBase->NormalDisplayHeight.For NTSC this is currently set to200 at power up and to 256 for PAL at power up. It is intendedthat user preferences can make additional changes tothese variables. Support for overscan displays is still beingworked on. Tentatively there are also some new values inGfxBase for max viewport height/width. NTSCsoftware on PAL machine. Screens of 200 lines on a PAL displayof 256 will appear at the position requested. Screensare no longer bound to the bottom of the Display, they maybe moved freely around. However there is no data displayed belowthe topmost screen.(This was true in the previous release). Usageof the NTSC/PAL bits in GfxBase are discouraged however thosebits will be set correctly based on 262/312 lines per frame. Includedwith this document are copies of any changed graphics includefile plus sample program dotty.c These will also be provided ona separate disk. Dotty.c can be expanded to use 256 line display. Thereis a copy of the new trackdisk driver documentation. Thereis a copy of the source for the animated pointer that Jim had atthe UK Amiga conference. It demonstrates several basic and advancedIntuition programming techniques, including pointer animation. fixed d7 trashing in Text() improved speed of Text() 9%-50% faster (1char-64char) strings tad downcoded floodfill (about 1% faster) big deal. its a start. fixed bug in color routines that try to make the top overscan color be the same as the topmost viewport's color. It know lets the bottom color wrap around if the topmost viewport has no colormap. Like ea's Dpaint program. fixedscrolllayer, it wasn't recomputing the cliprects used to draw intothe superbitmap when scrolllayer called. XorRectRegionnow works. But removed, ran out of space on kickstart. NotRegionremoved from graphics. It never did anything useful anyway exceptblow up if you called it with correct parameters. You can emulatedifferent forms of what you think NotRegion was supposed to dowith XorRectRegion. better handling of SimpleRefreshLayer when moving layers. CreateUpfront(BehindLayer) fixed. It now creates the layer on top of all other backdrop layers as it should. XorRectRegion really installed for good now. Bug fix in WritePixel, it wasn't waiting for the blitter to complete between each of the blits. Consequently it is a little slower now. some minor upgrades to gel code, streamlining, cost reduction. faster, quicker for less. bug fix, ScrollRaster now correctly uses WriteMask when clearing out the vacated area. Gel code, faster, tighter. Expect about a 15% improvement in speed. New graphics functions: AndRegionRegion,XorRegionRegion,ClearRectRegion. See the graphics.doc Sprite movement now restricted to not go above hardware limitations. This means that the absolute starting position of a Sprite must not occur before line 20. gfxbase.h change see the include file mainly: name change from DPI->DPM The meaning to ascribe to this value is DotsPerMeterX/Y. Use these values to calculate display aspect ratio. These numbers will be different between NTSC and PAL. faster flood fill, should be about twice as fast. layers: fix of sizelayer/movelayer with superbitmap window. It would trash the bits if the scroll position was other than 0,0. this was actually fixed in alpha-3, did I already mention it? New routineSetRGB4CM(cm,i,r,g,b) similar to SetRGB4() except this routine takes a ColorMap as a parameter instead of ViewPort. Due to consistent prodding from glenn at EA, I've finally fixed the FreeSprite() bug, it failed to turn the sprite off normally. See, you guys out there can make a difference. Note:to you guys that assume you can just play around with the ColorTable ptr in ColorMap, What happens if I go to a 5bit per color colormap. Have you just screwed yourself into a corner? I know, maybe I should have gone to 8 bits per gun right away. We live and learn. new"ed" fixed bug when run in an interlaced workbench screen. increased buffer again for PAL interlaced displays, boy you guys just want everything! fixed AreaEnd, it now returns 0 if no error occured. fixed top overscan color to match top viewport as long as it has a colormap. (Pay attention you cheaters). Slightly retouched fonts. Two new Functions: DrawCircle, DrawEllipse. The autodocs are in this directory. graphicsadded AreaEllipse,AreaCircle Theinterface to Circle and Ellipse had to be changed. Circleis now just a macro that uses Ellipse. Ellipseno longer takes a rectangle but takes a center and 2radii. Fixed MoveSprite to position sprite correctly instead of off by 1 inx. Copperlist generation addition. If interlaced view, and interrupts goaway for some reason, the copperlists will ping pong back andforth themselves. MrgCopnow about 20% faster. Hope that helps. Depends on instruction mix andnumber of actual copper lists involved. Housekeeping This release of kickstart will have library version number 33. Use this version Intuition Enhancementsto Intuition for Release 1.2: An Outline JimMackraz Here,in extremely terse form, is an 'outline' of the enhancements ofIntuition from version 1.1 to 1.2. Be sure to see AutoDoc function headers,release notes, and intuition.h for details, as appropriate. Outlinecomposed on Flow(tm) by New Horizons Software. Screens ScreenHeight extended conditionally for PAL, values gotten from GfxBase NewScreen.Height no longer clipped Screens no longer frozen to display bottom GetScreenData() provided to obtain Screen field values for system screen NewScreen Flags STDSCREENHEIGHT for NewScreen.Height gets values from SCREENBEHIND -- screen is created behind other screens SCREENQUIET -- screen title bar/gadgets will not be rendered (but YOU must catch the Menus) DUALPF don't set this NewScreen.ViewModes, get example program Windows ActivateWindow() Borders not excessively rendered when window activated or title changed refreshed after layer damage through damage list (Begin/EndRefresh) title bar (drag gadget) rendering changed for improvement on interlaced screens Size ranges are checked on open (max only) MaxWidth and MaxHeight unsigned, use ~0 for largest RMBTRAP may be set by user, just Forbid()/Permit() RefreshWindowFrame() Gadgets general ActivateGadget() -- see string gadget subsection GList functions -- apply to a given number (1 thru 'all') of gadgets AddGList() RemoveGList() RefreshGList() User Screen Gadgets don't exist, never did TOPBORDER and other border gadget flags now required as spec'd! string ActivateGadget() provided to activate a string gadget cursor position may be selected by mouse sg's deselect if user presses Menu mouse button RELWIDTH works (test) unprintable characters suppressed ^H serves as backspace (open bug: integer gadgets don't edit correctly) prop ModifyProp() only refreshes one gadget container clicking is by body amount (if possible) decoupled from resolution of the image on the screen body size = 1 will click the pots but not the visuals if you use this, you must provide some feedback to the user can be used in requesters examples of setting body and pots for scroll gadgets to be provided bool masked gadgets -- selected and highlighted through a bit mask set BOOLEXTEND in gadget flags set address of BoolInfo in SpecialInfo MUTUALEXCLUDE not provided, can be done by user (example) Menus MENUTOGGLE item flag now re-implemented Requesters New Flags POINTREL -- Double-Menu requester comes up under mouse NOISYREQ -- you will hear input when this requester is active System Requests (AutoRequest()) cancel from keyboard (leftA-V and -B) screen is popped to front User Rendering layer is Request.ReqLayer layer is SMART, but damaged if window sizing clips it rastport is Request.ReqLayer->RastPort (or something) REQSET and ENDREQ IDCMP now come for each request posted or removed Lockingand Rentrancy Multi-tasking access of Intuition data structures now arbitrated by use of exec SignalSemaphores RastPort cloning -- your screen rastport no longer used, rather copied, for Intuition's rendering of gadgets, titles, etc. Un/LockIBase() -- for access to IntuitionBase IDCMP Verify Functions MENUVERIFY you always get some notification that menu operation has finished, even for commkey operation safety user must still turn off verify IDCMPFlags when calling AutoRequest() (or dos) but modifyIDCMP() now always safe CloseWindow(), On/OffMenu(), Set/ClearMenuStrip() safe VANILLAKEY not enhanced (for compatibility), suggest RAWKEY and console.device/RawKeyConvert() Please make ^H synonymous with backspace REQSET and REQCLEAR now sent for every Requester begun/ended Preferences Serial LaceWB Miscellaneous InstallClipRegion(), a layers function, supported Pointer sprite no longer has error of one low-res pixel (!) Intutionnotes: newintuition.h definition #defineSTDSCREENHEIGHT -1 Includedwith this document are copies of any changed graphics includefile plus sample program dotty.c These will also be provided ona separate disk. Dotty.c can be expanded to use 256 line display. Thereis a copy of the new trackdisk driver documentation. Thereis a copy of the source for the animated pointer that Jim had atthe UK Amiga conference. It demonstrates several basic and advancedIntuition programming techniques, including pointer animation. This is the first release with an intuition that jim ripped apart and isstill in the process of putting back together. It is included instead ofthe older more stable version because it represents the real future offurther distributions. It significantly uses the new semaphore technology.Work is also being done on fine tuning the seemingly redundantrefreshing of the gadgets. Note the cleaner open windows. Someitems that are still being worked on: the Titles of windows andthe menu bar get a little trashy. Intuition is starting to using theclipping of the layer library to avoid flashing the gadgets needlessly. Otheritems: fromjimm (Jim Mackraz) on intuition Intuition 124 -screen personal rastport now cloned, not corrupted, for intuition rendering including gadgets, borders, titles, drag/size frame, ... should solve gadget crashes (while windows are opening, gadgets refreshing, etc.) -more locking refinements (not perfect yet) -screen may be created behind other screens (see flag in intuition.h) -screen gadgets may be specified as invisible (see flag in intuition.h) -border updates visually improved: rendered through damage list, only the title and dragbar are redrawn when window made active. (known bug: title can overwrite depth gadgets) -border area added to damage list for smart refresh windows, fixes major bug. updating of border areas still needs refinement. -clean up and compaction (in some areas) -pressing menu key with active string gadget deactivates gadget and proceeds with menu processing (more like select button now). newintuition.h included on disk Thereis a copy of the source for the animated pointer that Jim had atthe UK Amiga conference. It demonstrates several basic and advancedIntuition programming techniques, including pointer animation. alpha-4release of kickstart 1.2 comments: strap: did not remove the open of intuition in strap, sorry fella's I'll shoot for alpha-5 intuition: jimm has got a bunch of bug fixin going on here: Intuition 161 Size: 54348 bytes (increase 348) more improvement to window border refreshing fix bug: gimmezerozero and backdrop didn't work together (confusion from CreateUpfrontLayer()) OpenWindow() does position/dimension checking (max's only) incorporated serial preferenes into intuition.h, intuition.i fixed bug where GetPrefs might copy data in areas beyond the limit of the buffer the callers provides. known change in side-effects Boing! has depended on (probably not new with this particular release). Plan is to fix the above using new function RefreshOneGadget(), (actually, something more like RefreshNGadgets()) which, along with AddGList(), represents the most asked for gadget enhancements.) stay tuned intuitionchanges: Intuition 183 -- diagonal draggers New user functions: RefreshGList (J0002) AddGList (K0025) RemoveGList (K0025) (needs testing) ActivateWindow (J0010) (needs testing) RefreshWindowFrame (for rj) (needs testing) see autodocs attached below fixed top border gadets, including depth gadgets being overwritten, user top border gadgets work better (J0019) experiment with drag gadget rendering (will try again) pointer reset in closewindow, safer (J0013) modifyIDCMP restores from NULL safely (K0142) drawImageGrunt safe when out of memory now (J0018) Enhancement request for keyboard movement of mouse (E1907) moved to "Wait" list Changes to menu short-cut key handling. These are so that if MENUVERIFY is in effect, applications always know when the menu handling period is over. when menuverify is in effect, and canceled, users now get a message: menupick (MENUNULL) when the key corresponds to a disabled item, users now get a message: menupick (MENUNULL) (B2360) note that if the user cancels menuverify when the mouse menu button is pressed, application hears a MOUSEBUTTONS:MENUUP message Furthermore: menu shortcuts are prevented when normal menu operations are in progress, and when requesters are up (the latter was reported as a bug, but was in place and working fine.) (B2295) Internal: removed unused parameters from drawWGadgets windows.c gadgets.c consolidated linked list handling; more to come intuition195: fixed the propgadget in GZZ window bug Container clicking at bottom of G00 border propgadgets works now (un-listed bug?) Alerts now push down interlaced screens correctly. ReportMouse() no longer crashes (was error in asm to C interface). DELTAMOUSE IDCMP now works intuition: Intuition 215 NEWPREFS IDCMP works, for the first time ever. It turns out that you would only get the NEWPREFS IDCMP message if your idcmp flags contained at least one of: NEWSIZE, REFRESHWINDOWS, or MOUSEBUTTONS. Note that you would still receive the proper NEWPREFS message class. SELECTED gadget flag set when window/screen draggers are in use. Trying some more drag bar rendering, this time the bars are a little thicker, and there is some space following the title OnMenu() and OffMenu() would crash trying to redraw a currently displayed menu element in Notepad. Now they block until user finishes with menu. Sizing, dragging, and menu use while windows are opened/closed, no longer deadlocks, poof. not compiling with speed optimizer, saves many bytes more general linked list handling routines dealing with viewports all changed around to set View.Modes correctly at the correct time. visible and hidden interlaced screens now effect the display correctly. (K0121) It is verified that Intuition will handle a linked list of events, providing it is no more than 10 in length, enhancement to this is on the list. This is not true if a string gadget is active, in which case all but the last event (or two) is discarded. Barry has determined that repeated WRITEEVENTS to the input device are the best way to fool intuition. It was determined that string gadgets and GRELWIDTH do not work together; changing this would require major surgery. moved to the Wait list. Bug B2199 where too many CLI's crashes the machine not reproducible by JonF Bug B2214, string gadgets with small buffers cannot be reproduced by Barry intuition290: ModifyProp only refreshes one gadget On/OffGadget only refreshes one gadget locking improved: very near to betting that it can't be deadlocked. proportional gadgets, especially those with small body field, now click according to your body settings, and are not dependent on the resolution of the rendering. very specific formulas for using propgadgets now apply, and will follow. propgadgets in the various gimmezerozero and requester layer environments now container click correctly. steps have been taken to handle low-memory especially in menus, and TmpRas' have been set up to help text, but sufficiently tough memory situations crash in text/graphics. dale fixed the wild pointer bug. off my list. fonts supplied to OpenScreen are checked for success in opening. failure will cause the current system default font to be used. finally put interface to RefreshGList, AddGList, RemoveGList, ActivateWindow, and RefreshWindowFrame into amiga.lib intuition300/301: doesn't trim DHeight for front screen. duplicate mouse-move events eliminated for RMBTRAP users windows which don't come up active don't block behind lock held when string/prop gadgets are active all relative gadgets entered into damage list when window sized. put requesters in smart layers so user-rendering is preserved. intuition: gadgets week. unified gadgetRelatvity calculations: no more weird proportional gadget rendering, gadgets locking and rendering calculations done all in one place. saved 1400 bytes, for a while anyway. hitting gadgets (Select mouse button) more sane: only checks correct layer, smarter for requesters in layers now. string gadgets: -bug with long gadgets centered in select box shorter than max string length fixed. -new feature: click in string gadget puts cursor at click location. -control-H serves as backspace -cursor doesn't flash when you push shift, control keys, etc. and doesn't flash on upstrokes. -note: centered string gadgets of buffer length 1 (plus one for null) still don't work (from 1.1). i don't know WHAT is going on. changed the Workbench Screen default title back to official name fixed memory leakage problem in intuition that appeared in a-9. there is now a minimum limit to the rendering of an AUTOKNOB, per the manual, but different from 1.1. am postponing final decision. intuition378: === NOTE: the items below haven't been thoroughly tested == New function ActivateGadget() activates a string gadget, god-willing. POINTREL requesters now implemented (can have double-mouse requesters come up at or near cursor position). =========================================================== Implemented NOISYREQ option for requesters. If NOISYREQ flag is set, requester being active won't filter normal input--in particular, keystrokes. Used above to implement keyboard equivalents for Cancel and Retry gadgets in system requesters (AutoRequests). Today, these keys are leftA-V and leftA-B, subject to change. damage list problems were in layers: fixed by dale. Now do WaitBlit() before freeing bitmaps in CloseScreen() and after menus are erased (dale's recommendation). This fixed Emacs, and god-only-knows what else. This could be a big one; thanks dale. caught failing error handling path in requesters. thanks, sam. unified double mouse requesters and normal, user scheduled requesters Intuition 417 AutoDocs all fixed up. String Gadget fixes: single-character centered string gadgets had about 3 bugs in them: finally fixed after at least 8 hours work. incredible. RELWIDTH string gadgets should work now; haven't tested. SetMenuStrip() returns TRUE, which, it is hoped, solves beaucoup backwards compatibility problems with wrong-written programs (still need to hear definitive word on what dpaint expects: haven't tested dpaint.) WorkBenchToFront/Back() now return success as has been documented, but not implemented (probably always returned TRUE). Intuition 454 (+/-1) Old bug fixes: can use leftamiga-M,N for menu shortcuts. Fixes to alpha releases: RELVERIFY GADGHIMAGE gadgets work again. title bar cleared with NULL fill pattern for sure now. screen being opened while user drags windows will block until user is done. old Boing!s work nice again. ActivateGadgets() and ActivateWindow() all tested and ready to use. ---- System Requester (in fact all autorequests) will cause the screen on which they occur to be moved to the front. ---- Masked gadgets now implemented. Use BOOLEXTEND flag in gadgets flag, see structure BoolInfo in intuition.h. example forthcoming. ---- Slight change to meaning of IDCMPFlags REQSET and REQCLEAR. Manual states that they are only sent when first/last of possibly several requesters is started/ended. This hasn't been exactly true, and the distinction to first/last is not critical since requesters are in layers. Now if you want to be in the ActivateGadget() business, it is important to know when a requester becomes active, so * REQSET and REQCLEAR messages will be sent WHENEVER a requester * starts or ends (if you have these bits set in your IDCMPFlags, * of course). Programs possibly affected will be very rare, if any: if a program uses two requesters simultaneously, and the second one started is a Double-Menu Request (DMR) (or the first removed), a REQSET (or REQCLEAR) message will now be sent where there would be none in 1.1. Further, such a program would also need to be using REQSET and REQCLEAR as an intimate part of its state machine for problems to arise. ---- Menu Verify (and Size and Request Verify) deadlock protection is installed. It is now safe to turn off MenuVerify using ModifyIDCMP(). You must do such a thing before, for example, calling AutoRequest(). Closing a window is now also safe: no need to turn off verify first. Set/ClearMenuStrip() are also now safe. ---- Functions LockIBase() and UnlockIBase() now functional, operate as documented in intuitionbase.h. More proper documentation has been added as an autodoc (function header). Note that one passes a zero to LockIBase in D0. It will return a ULONG in D0. Pass that value to UnlockIBase(). Sorry, but you must pass it to UnlockIBase() in A0, not D0. For those not wise to these gems, they access the SignalSemaphore(s) intuition uses to arbitrate its data structures and state. If you use (by which I mean READ) the structure IntuitionBase defined in intuitionbase.h/i and located at the address returned by OpenLibrary("intuition.library",..) the values and linked lists that you find may not stay valid unless you protect yourself against the rest of Intuition. Now, even though you had better READ ONLY, the Intuition locks are all write locks, so Intuition Will Freeze while you hold these locks. So be quick, ladies and gents. The intent of allowing access to IntuitionBase at all is intended to provide knowledge of the ActiveWindow, front-to-back linked list of Screens, mouse position and little else. More of IntuitionBase might be made public, for instructional purposes perhaps, but creative and tricky use of internal data structures will prove hard to support. ---- MENUTOGGLE once again operational. apologies for not being able to find the bug which kept this out of 1.1. (But it was weird.) Set this flag in a CHECKIT menu item and it can be selected to turn the checkmark off. ---- punted on attempt to keep submenus from flashing when you roll the mouse off of a subitem. recommendation: don't leave any space between your adjacent menu or submenu items. ---- POINTREL requesters really work, as documented in the Intuition manual. They are constrained to coming up within the window interior, although programmers can get Requesters to come up overlapping some borders. POINTREL only applies to Double-Menu requesters (DMR's). ---- Workbench interlace test of LaceWB preferences restricts to the LACEWB bit, cause one never knows when y'all run out of bits, do one? ---- Borderless windows with system gadgets have their "title bars" refreshed compatibly with 1.1. (not when activated, but when window layer is damaged.) I think the state of this is questionable, but Boing!, for one, depends on the old algorithms. ---- intuition.h has added preferences: LaceWB was in, i guess, but new printer file item now in. intuition.i and intuitionbase.i are now usable, thanks to Barry. Intuition 461/7 InstallClipRegion() support added. see layers release for details. Might I add that InstallClipRegion() is the breakthrough we layer fans have been waiting for. (No need for GIMMEZEROZERO). Math mathffp: Supports Ceil,Floor Serial/ParallelDevices newserial and parallel device MARK/SPACEsupported by serial device. Trackdisk Thedocumentation for trackdisk driver is now on the disk seetrackdisk.doc trackdisk: actual step rate now down to 3.6msec. The specs for fine tuningthis are in this directory. look at trackdisk.h See tdu_StepDelay,tdu_SettleDelay. These parameters are extremely hardware dependant! This means that values that may work for a 68000 may not work fora 68010 as well as a 68020 or a faster clock, etc. If you decide the ^[ ^] keys do not generate correct ascii codes. thatyou must play with this the be aware of the consequences. trackdisk: timing problem with 68020 and new external disk drives fixed. Workbench workbench/dosleft disk icons laying around when disk has been removedand there are no drawers open on it. Now fixed. clickingdisk icon when disk not in used to blow up. Now fixed. wb: fixed cross disk copy icon bug. Workbenchdied a horrible death after being closed and then reopened (e.g.after Graphicraft, tutor, etc.). Now fixed. Workbench arranges to have it's autorequest messages be marked with its name("Workbench") in the title bar. This is harder than it sounds. Other Includedwith this document are copies of any changed graphics includefile plus sample program dotty.c These will also be provided ona separate disk. Dotty.c can be expanded to use 256 line display. Thereis a copy of the new trackdisk driver documentation. layers.hclip.h semaphore.h include on disk some updated demos box/lines/dots. Try the lines it's pretty snazzynow. The new format command replaces both format and initialize, too bad our dos does not support 'links' NOTE:that if you use initialize with the same parameters as you used Format, it will do something different. It puts a trashcan icon on the diskinstead of leaving it blank. SO if you must have a blank initialized diskyou must use the NOICON option. Thefont editor will be available on the Software Toolkit disk. newclock, new mount, new preferences moredisk new directory 'docs' contains latest of the autodoc's from the sources. fed on the more disk. new _main.c for lattice-c programs. It fixes old bugs and now correctly supports quoted "" parameters. prefs code new lines (checks to make sure V33 is there) auto-docs: Because of the size of the auto-doc files, we have placed these babies on another disk. Enjoy! amiga.lib bug fixed in fpa (motorola ffp to ascii). It used to tromp allover memory. There is a new one (native amiga only) on this disk. strap: finally recoded to NOT open Intuition. miscellaneousfine tuning of: cia,timer. newprinter device bug fix, now handles character >=160 new"ed" fixed bug when run in an interlaced workbench screen. newnotepad newsay command newinfo.library newinfo.library to fix the add-tooltypes bug nochanges to say, just wanted to recompile to make sure exerything Iuse was still there.new "ed" fixed bug when run in an interlaced workbenchscreen. increased buffer again for PAL interlaced displays, boy you guys just want everything! newinitialize/format Thisis the first V1.2 initialize. It replaces both initialize and formatbecause it can also run from CLI. It can initialize any type of disk - even partitions If you have your SYS: disk in any drive it will use your trashcan image for the new trashcan. Otherwise it defaults to the new trashcan image from WC. For compatability with the format I've added a NOICON option to make completely blank disks. The motor light stays on during the entire initialization to prevent confusion. CTRL-C stops initialize from the cli (more civilized then pulling the disk out) This new command replaces both format and initialize, too bad our dos does not support 'links' NOTE:that if you use initialize with the same parameters as you used Format, it will do something different. It puts a trashcan icon on the diskinstead of leaving it blank. SO if you must have a blank initialized diskyou must use the NOICON option.amigaterm fixed, now can use new rawinputcode. touchedup fonts.There is a new fed, fixed a couple bugs. Dalelines- made prop gadgets easier to use. clip.h semaphore.h include on diskversion.library, use this to get the currentworkbench version number.See the expansion directory in this directoryfor the changes tothe expansion software. There were some incompatible changes made.Many thanks for you continues patience while we try to getthis baby right.info.library ...fixedbug wherein info would not respond to info-request of a disk on which no Disk.info is present (as detailed in Bug Report B2604 dated 4/24/86). Also can now create a Disk.info if user selects SAVE.version.library,use this to get the current workbench version number. Autodocs are now on the Readme disk. They have been improved. See the readme file in the autodoc directory for more information.