cd24.tioga copy /ivy/jacobi/chipndale/doc/cd24.tioga _ cd24.tioga use Tioga levels ChipNDale (only) 2.4 released Actually it happened on 04-Nov-86 (but was only messaged to DAToolsImplementors). Designers: wait until your favorite tool set is available, but please put pressure on the tool implementors to do the conversion. There is no way to read in a file writen with version 2.4 into any older ChipNDale version. Why a message before all the other tools are available: I can't wait any longer, since I am now thinking on getting the conversion to Cedar7.0 smothly and have to tell you about the archive and deletion plans in time. What next When Cedar7.0 will be released, I will convert ChipNDale fast. The changes noted in my master whish list will be incorporated, and the converted ChipNDale will be called 2.5. There will be minor changes only for 2.5. [It's a good time now to forward your whishes] Old versions Version 2.3 will stay accessible to users until all the major tools are converted. But I will pull the plug after Cedar 7.0 is released; I can not maintain 3 different versions ! [Nor do we have unlimited disk space on Cyan] Version 2.3 will be archived on request only; ChipNDale 2.4 will be archived anyway. Current state All my code is converted... Good news Some df files with core related tools have version numbers in their names. It looks like the users will not be thrown into the cold water, but have a choice of their own when to convert their code. Where it is /DATools/DATools6.1/Top/CDDesign24.df Usefull files are /DATools/DATools6.1/CDCommon24/cd24.tioga /DATools/DATools6.1/CDCommon24/cd24renames.tioga ChipNDale 2.4 also uses new versions of TerminalIO, D2Basic, ColorMaps and CStitching While the release time it might be of advantage to NOT put ColorMaps into your checkpoint. Updates Main attractions of this release Concurrent IO of different designs. TokenIO supports streams as tokens. Orientation is newly defined [does no more depend on object size]. Objects can have their origin at any point; No repositioning. CDCells suports only one coordinate system [the former originCoords]. Sequences are used to represent cell contents. Large clean up, smaller code size. If you dont want to read it in detail look for the starred attractions * If you are programming ChipNDale clients, it might be very useful to really check all points. Global changes Packages given up CDFeedback I always stated that I wouldn't maintain it. CDX coordinate system transfers are no more necessary CDCallSpecific complexity/functionality was too large CDLRUCache replaced by general package CDOrient collapsed with CDBasics * CDPolygons use CDCurves CDMenus use general menu package, CDCommandOps and rarely CDPopUpMenus CDChipmonkColors%.df who uses it?. CDExtras usefull procedures distributed into other packages CDTipEtc replaced by CDEnvironment all the FooExtra's merged in Not done Parts of CMosA: Old Chipmonk compatible objects do not have interactive commands. Parts of NMos Df file renamed to CDNMosA24, Conversion of data structures is implemented, Interactive commands which where not used by Tom or Shahram are not converted CDRecognizer, CDOverlapRemover Formally converted but not functional [the semantical differences of orientation are not considered] Lots of things not maintained by me. Renaming FooPtr => FooSpecific Orientation concept ** No repositioning ** cells can be represented using sequences * safes trashing on cons cells for the dragon ifu chip This code, while principially ugly, saves 600000 words of memory in the representation of the dragon ifu. Conversion hint: See warning in detailed list. Saves 8 gfi's, 2 mds * 2 gfi's by collapsing packages; the others by really reducing features Package changes CD Rename: specificRef => specific Replace: size => bbox * Orientation and Transformation are lower level and imported * design New version feature accessible from clients; use boolean fields in CD, set with CDSequencer Fields edited, changedSinceSaving [reserrved for sequencer] PushRec.changed now in CellRec Has fields for delayed redraws Propertylist to implement undo caches class InternalReadProc knows atom Field whether object class is created with CDAtomicObjects drawing Default device size is reduced to LAST[INT]/2 to prevent arithmetic overflow Has a dummyInstance field Showing selection for abstract devices CDAtomicObjects Rename: lev => layer CDBasics All the functionality from CDOrient * Rename: NormalizeRect => ReInterpreteRect Degenerated new proc CDCells No coordinate system choices ** Some procedures moved to CDCellsInteractions SetSimplificationTreshhold has comment CreateCell, IncludeInstance, EnumerateInstances: new procs IncludeMode: dontReposition also implies dontNotify; dontPropagate renamed to make sure compiler find possible conflict spots. [for dontReposition I greped /datools/datools6.1/*] Use of sequence and list to represent cells * *Warning (Conversion hint): Use "grep .contents *.mesa!h" to find all use of cell interiors; check whether it is the contents of a pushed in design or a real cell. If it is a real cell use CDCells.EnumerateInstances instead. The field contents does not describe the complete contents of a cell; this might cause some troubles in converting clients. It might be good to use grep to look for places using this field. CDCellsInteractions Module separates implementation of commands from implementation of data structures CDCleanup ReplaceFunny removed: it could only be implemented using PreTag and ReplaceTagged CDCommandOps Some procedures migrated to CDOps DoWithResource replaces CallWithResource (no abortFlag feature) CDDebug New definitions useful for debugging only CDDirectory Expand and Another procs have different defaults return values ReplaceObject: comment must say deals with instances but not with the directory. DirectoryProc: Better class procedures to deal with renaming CDEnvironment New procedure RemoveSpaces CDGenerate Rename: Table => Context Context not readonly; there were too many LOOPHOLE'S CDInstances new procedures Member, Length CDImports The dummy readonly design is accessible [but private] Rename CDImportsExtras => CDImportsBackdoor ImportDesign => ImportEntry New proc TrustedCreateImport Working directory: check first in designs wDir, then in ChipNDale's wDir CDInstances Documentation such that you won't intermix Composed, DeComposed any more CDIO Handle for design; parallel IO possible ** CDMakeMenusImpl Menus are made from a ChipNDale.MenuTable file... Lots of tools start now from menus CDMenuSpecials SelectOneOf allows also list of ropes, type in It removes duplicates CDOps Rename: Redraw => ImmediateRedraw DelayedRedraw => Redraw PointedInstance is removed [it had only one client] Some procedures from CDCommandOps LambdaRope must not have a default for lambda CDPanel Cleaned up implementation CDProperties New procedures PutPropProp and GetPropProp * RegisterAndInstall => Register; new parameters CDRemote New mechanism for using non-defaulted file names CDSatellites Comment is not property but font only! On output (input) we do not enforce invariants but on call of GetSatellites the satellites are either cached, or if computed thats the time to enforce invariants On pop the invariants are not enforced but on GetSatellites... CDSequencer Command.ref viewer instead of viewer.data field New procedure to associate an abort flag CheckAborted also checks commandtool stop button CDSimpleRules New mechanism for large contacts [the mechanism is there, not the implementation] CDStretchyExtras Replaced by CDStretchyBackdoor; new mechanism to return similar object CDTexts Rigid and flexible texts Font no more readonly [some LOOPHOLE less] Gone: CDProperties.PutProp[rigidTextClass, $SisyphExtractProc, $ExtractNull]; CDProperties.PutProp[rigidTextClass, $SinixCMosBExtractProc, $ExtractNull]; CDTextsBackdoor New package CDUtil Flatten procedure CDViewer It is now possible to open a viewer without opening a control panel The procedure DesignOf also works for control panels, buttons inside control panels in addition to plain ChipNDale design viewers (uses the property $ChipNDaleDesign on the viewer or its parent) CDViewerInternals New package CStitching New proc EnumerateNeighborhood [gbb] (In definitions only) D2Basic Rename: Pos => Vector D2Orient New package exporting Orientation and Transformation in a ChipNDale independent way to allow sharing Transformations between ChipNDale and other packages. Once in future also procedures should be moved (and renamed) from CDBasics. TerminalIO * Log file Edits on input are possible Rename: Write~ => Put~ Less procedures Timeout parameter on input is no more optional TokenIO Completely redone: Concurrent IO for different designs is possible. * Tokenized streams. * Ropes use lru cacheing [saves 10% of file length]. UserProfile options User profile options which have to do with files (tiptables, icons, menutables) have a prefix including a version number. ChipNDale.OpenPanel: BOOL _ TRUE If set to false, reading a design won't open a control panel ChipNDale24.AutoLoad: BOOL Switch whether technologies should be loaded automatically on need ChipNDale24.AutoLoad.technologyKey: BOOL Switch whether technology technologyKey should be loaded automatically on need This switch, if set, overrules the ChipNDale.AutoLoad switch. ChipNDale24.MenuTable: Default File to load menu texts and help documentation ChipNDale.SavePeriod: 0 Time in seconds ChipnDale waits before starting a background save ChipNDale.AutoLoadImports: TRUE Whether imports should be directly loaded when file is read Commands and properties Background saving For a particular design can be stopped using a property $CDxDontBackgroundSave with value $TRUE on the design. Statistic command writes the font of single selected texts Viewers View mode can substitute or leave tioga fonts The split viewer command does not automatically opens a control panel [must use "control panel" entry in viewer pop up menu to create a control panel] Control panels Are never suppressed [for the benefit of Nectarine on CSMonitor] InterpressPlot Font substitution is done without file Default scale option reads scale from property PDPlot Scan converts in device coordinates (instead cd coordinates) Font substitution Can draw outlines Pop Up Menus Menus can be defined from the menu entry definition files Imports Reading a design can load all imports, depending on options and user profile Some commands are improved Christian Κθ˜Jšœ ˜ Jšœ6˜6J˜J˜˜JšΠos˜—J˜šΠbl˜J˜JšœΟn œ0˜QJ˜JšœƒΟs[˜ήJ˜JšœΪ˜ΪJ˜—J˜šΟb ˜ JšœŠ˜ŠJ˜—š‘ ˜ Jšœ^Ÿœv˜βJšœU˜UJ˜—šŸ ˜ J˜J˜—šŸ ˜ J˜ΗJ˜—šŸ ˜ J˜%˜J˜)J˜0—JšœU˜UJšœZ˜ZJ˜—J˜Jšž˜code˜˜ K˜HK˜BK˜=KšœE˜EK˜.K˜"J˜—J˜HJ˜]J˜—š‘˜J˜˜J˜9J˜:J˜8Jšœ-˜-Jšœ*˜*Jšœ˜JšœN˜NJšœ'˜'JšœC˜CJšœ*˜*Jšœ"˜"J˜—˜˜J˜A—˜ Jšœ‘œ˜J˜-J˜M—šœ˜šœ&˜&Jš >œ˜?——J˜%J˜—˜J˜J˜—˜J˜—˜J˜—˜+J˜5Jš i˜iJš /˜/J˜—˜J˜FJ˜—J˜—š‘˜J˜˜J˜J˜J˜=˜J˜[J˜;Jšœ˜J˜J˜%—˜J˜J˜:—˜Jšœ+‘œ ˜MJ˜J˜&—J˜—˜J˜J˜—˜J˜%Jšœ)˜)Jšœ˜J˜—˜J˜Jšœ,˜,Jšœ&˜&J˜:Jšœ΄˜΄šœ.˜.Jš‘œΪ˜β—JšœΎ˜ΎJ˜—šœ˜J˜SJ˜—šœ ˜ J˜QJ˜—˜ Jšœ"˜"Jšœ?˜?J˜—˜J˜)J˜—˜ J˜>J˜PJ˜J˜—˜ J˜/J˜(J˜0J˜—˜ Jšœ&Οi œ"˜QJ˜—šœ˜JšœF˜FJ˜—˜J˜Kšœ*˜*šœ˜KšœG˜GKšœK˜K—J˜—˜J˜ J˜—˜Jšœ˜J˜—˜J˜CJšœΓ˜ΓJ˜—˜J˜ J˜—˜ Jšœ:˜:J˜—˜J˜J˜—˜J˜VJ˜TJ˜=J˜—šœ ˜ J˜J˜J˜J˜J˜/J˜—šœ˜˜J˜2J˜Jšœ’œ˜4—J˜—J˜—š‘˜J˜˜zJ˜—˜ J˜