<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Get Info: #system7</title>
    <description>Posts tagged “system7” — Blog of independent game and app developer Matt Sephton. Featuring vintage Macintosh, game development, digital artwork, Japanese esoterica, video game reviews, hacks and tips, and much more.</description>
    <link>https://blog.gingerbeardman.com/tag/system7/</link>
    <atom:link href="https://blog.gingerbeardman.com/tag/system7/index.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Wed, 01 Jul 2026 16:09:47 +0000</pubDate>
    <lastBuildDate>Wed, 01 Jul 2026 16:09:47 +0000</lastBuildDate>
    <generator>Jekyll v4.4.1</generator>

    
      
        <item>
          <title>Adding the “Move to Trash” function to System 7.1</title>
          <description>&lt;p&gt;First, a little bit of Macintosh History. You probably know that on modern macOS you can select a file in Finder, on your Desktop, or in an app, and send it to the Trash by choosing the Move to Trash menu item, or by pressing Cmd+Backspace/Delete. This keyboard shortcut was added in System 7.5.3 where it was largely unadvertised and somewhat of a secret feature, but quickly became indispensable for those who knew. Of course, these days it is proudly displayed in macOS Finder menu.&lt;/p&gt;

&lt;p&gt;Fast forward to today, when &lt;a href=&quot;https://twitter.com/james_wages&quot;&gt;James Wages&lt;/a&gt; asked about a good way to do this on System 7.1, and posed a partial solution along with a challenge. But we’ll get to that in a moment. Since I regularly use &lt;a href=&quot;/2021/04/17/turning-an-ipad-pro-into-the-ultimate-classic-macintosh/&quot;&gt;System 7 on my iPad Pro&lt;/a&gt; I’d also missed this function and had come up with a few different workarounds to map Move to Trash to Cmd+Backspace/Delete.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;a href=&quot;#keyquencer&quot;&gt;KeyQuencer&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#finderhack&quot;&gt;FinderHack &amp;amp; KeyQuencer&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#hexedit&quot;&gt;FinderHack &amp;amp; HexEdit&lt;/a&gt; &lt;br /&gt;Bonus:&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#keyquencer-redux&quot;&gt;KeyQuencer, Redux&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;keyquencer&quot;&gt;KeyQuencer&lt;/h2&gt;

&lt;p&gt;The first workaround was to script a &lt;a href=&quot;https://macintoshgarden.org/apps/keyquencer&quot;&gt;KeyQuencer&lt;/a&gt; macro to simulate the mouse drag of the selected item to the trash can. This relied on you positioning the mouse pointer over the selected file and also making sure the Trash icon was always in the required position on screen. It worked, but it was less than ideal because it was far too fragile. I’ll leave reproducing this as an excercise for the reader.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;em&gt;KeyQuencer&lt;/em&gt; is one of my favourite and most used classic Macintosh apps, written by prolific Italian developer &lt;a href=&quot;http://www.montalcini.com&quot;&gt;Alessandro Levi Montalcini&lt;/a&gt; who is still developing &lt;a href=&quot;https://www.usboverdrive.com&quot;&gt;useful things&lt;/a&gt; today! Anyway, it could be used for a wide variety of macro and automation purposes. It was very versatile as it contained its own scripting language and a dictionary of functions that touched most aspects of System 7. I use it to map &lt;a href=&quot;/tag/keyquencer/&quot;&gt;all sorts of esoteric functions&lt;/a&gt; to hotkeys, like changing screen resolutions and colour depth, or performing complicated multi-step tasks on a single key stroke. An equivalent for modern macOS is &lt;a href=&quot;https://www.keyboardmaestro.com/main/&quot;&gt;Keyboard Maestro&lt;/a&gt;, which is no doubt more capable but also more difficult to use.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;finderhack&quot;&gt;FinderHack&lt;/h2&gt;

&lt;p&gt;So, James mentioned &lt;a href=&quot;https://macintoshgarden.org/apps/finderhack&quot;&gt;FinderHack&lt;/a&gt; which is a system Extension that gave earlier versions of System 7 a similar set of Finder features to those introduced in 7.5.3. But, crucially, it mapped the Move to Trash hotkey to Cmd+T, which is different enough to become annoying as you can no longer rely on muscle memory. The challenge: how can we map this to the modern Cmd+Backspace/Delete shortcut?&lt;/p&gt;

&lt;p&gt;So, I turned to KeyQuencer once again and created a short macro which would type the Cmd+T key combination and I assigned it to Cmd+Backspace/Delete. It worked! Pressing my hotkey typed the FinderHack hotkey.&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/move-to-trash-1.png&quot; alt=&quot;PNG&quot; title=&quot;This macro, bound to Cmd+Backspace/Delete, types Cmd+T to effectively map one hotkey to another&quot; /&gt;&lt;/p&gt;

&lt;p&gt;So we already have a good solution but resources are often scarce on classic Macintosh, so I wondered if I might be able to cut out the middleman and change the keyboard shortcut by modifying FinderHack directly. James had noticed that ResEdit would not allow you to type the Backspace character. I confirmed the same was true in Resorcerer. So, what to do?&lt;/p&gt;

&lt;h2 id=&quot;hexedit&quot;&gt;HexEdit&lt;/h2&gt;

&lt;p&gt;Opening FinderHack directly in &lt;a href=&quot;https://macintoshgarden.org/apps/hexedit&quot;&gt;HexEdit&lt;/a&gt; we can scroll down a little to find the menu definitions, find “Move to Trash” and can change the following hex value from 54 (“T”) to 08 (“Backspace/Delete”), those being ASCII values, and reminding ourselves that the Backspace/Delete key is different than Forward Delete key on some Apple keyboards that have both.&lt;/p&gt;

&lt;div class=&quot;carousel__holder&quot;&gt;
    &lt;div class=&quot;carousel&quot;&gt;
        
          &lt;input class=&quot;carousel__activator&quot; type=&quot;radio&quot; name=&quot;carousel&quot; id=&quot;a&quot; checked=&quot;checked&quot; /&gt;
        
          &lt;input class=&quot;carousel__activator&quot; type=&quot;radio&quot; name=&quot;carousel&quot; id=&quot;b&quot; /&gt;
        
        
          
          
          
          
          &lt;div class=&quot;carousel__controls&quot;&gt;
              &lt;label class=&quot;carousel__control carousel__control--backward&quot; for=&quot;b&quot;&gt;&lt;/label&gt;
              &lt;label class=&quot;carousel__control carousel__control--forward&quot; for=&quot;b&quot;&gt;&lt;/label&gt;
          &lt;/div&gt;
        
          
          
          
          
          &lt;div class=&quot;carousel__controls&quot;&gt;
              &lt;label class=&quot;carousel__control carousel__control--backward&quot; for=&quot;a&quot;&gt;&lt;/label&gt;
              &lt;label class=&quot;carousel__control carousel__control--forward&quot; for=&quot;a&quot;&gt;&lt;/label&gt;
          &lt;/div&gt;
        
        &lt;div class=&quot;carousel__track&quot;&gt;
          &lt;ul&gt;
            
            &lt;li class=&quot;carousel__slide&quot; style=&quot;background-image: url(&apos;https://cdn.gingerbeardman.com/images/posts/move-to-trash-2.png&apos;);&quot;&gt;&lt;img class=&quot;carousel__staticimage&quot; src=&quot;https://cdn.gingerbeardman.com/images/posts/move-to-trash-2.png&quot; /&gt;&lt;/li&gt;
            
            &lt;li class=&quot;carousel__slide&quot; style=&quot;background-image: url(&apos;https://cdn.gingerbeardman.com/images/posts/move-to-trash-3.png&apos;);&quot;&gt;&lt;img class=&quot;carousel__staticimage&quot; src=&quot;https://cdn.gingerbeardman.com/images/posts/move-to-trash-3.png&quot; /&gt;&lt;/li&gt;
            
          &lt;/ul&gt;
        &lt;/div&gt;
        &lt;div class=&quot;carousel__indicators&quot;&gt;
            
              &lt;label class=&quot;carousel__indicator&quot; for=&quot;a&quot;&gt;&lt;/label&gt;
            
              &lt;label class=&quot;carousel__indicator&quot; for=&quot;b&quot;&gt;&lt;/label&gt;
            
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
.carousel__holder {width: 100%; position: relative; padding-bottom: 100%; margin: 1rem 0 1rem;}
.carousel {
  height: 100%;
  width: 100%;
  overflow: hidden;
  text-align: center;
  position: absolute;
  padding: 0;
}
.carousel__staticimage,
.carousel__controls,
.carousel__activator {
  display: none;
}

.carousel__activator:nth-of-type(1):checked ~ .carousel__track {
  -webkit-transform: translateX(-000%);
          transform: translateX(-000%);
}
.carousel__activator:nth-of-type(1):checked ~ .carousel__slide:nth-of-type(1) {
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.carousel__activator:nth-of-type(1):checked ~ .carousel__controls:nth-of-type(1) {
  display: block;
  opacity: 1;
}
.carousel__activator:nth-of-type(1):checked ~ .carousel__indicators .carousel__indicator:nth-of-type(1) {
  opacity: 1;
}

.carousel__activator:nth-of-type(2):checked ~ .carousel__track {
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
.carousel__activator:nth-of-type(2):checked ~ .carousel__slide:nth-of-type(2) {
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.carousel__activator:nth-of-type(2):checked ~ .carousel__controls:nth-of-type(2) {
  display: block;
  opacity: 1;
}
.carousel__activator:nth-of-type(2):checked ~ .carousel__indicators .carousel__indicator:nth-of-type(2) {
  opacity: 1;
}


.carousel__control {
  height: 30px;
  width: 30px;
  margin-top: -15px;
  top: 50%;
  position: absolute;
  display: block;
  cursor: pointer;
  border-width: 5px 5px 0 0;
  border-style: solid;
  opacity: 0.35;
  opacity: 1;
  outline: 0;
  z-index: 3;
  color: #fafafa;
  mix-blend-mode: difference;
}
.carousel__control:hover {
  opacity: 1;
}
.carousel__control--backward {
  left: 20px;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}
.carousel__control--forward {
  right: 20px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.carousel__indicators {
  position: absolute;
  bottom: 20px;
  width: 100%;
  text-align: center;
}
.carousel__indicator {
  height: 10px;
  width: 10px;
  border-radius: 100%;
  display: inline-block;
  z-index: 2;
  cursor: pointer;
  opacity: 0.35;
  margin: 0 2.5px 0 2.5px;
}
.carousel__indicator:hover {
  opacity: 0.75;
}
.carousel__track {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 0;
  margin: 0;
  transition: -webkit-transform 0.5s ease 0s;
  transition: transform 0.5s ease 0s;
  transition: transform 0.5s ease 0s, -webkit-transform 0.5s ease 0s;
}
.carousel__track .carousel__slide {
  display: block;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
}

.carousel__track .carousel__slide:nth-of-type(1) {
  -webkit-transform: translateX(000%) translateZ(0);
          transform: translateX(000%) translateZ(0);
}

.carousel__track .carousel__slide:nth-of-type(2) {
  -webkit-transform: translateX(100%) translateZ(0);
          transform: translateX(100%) translateZ(0);
}


.carousel--scale .carousel__slide {
  -webkit-transform: scale(0);
          transform: scale(0);
}
.carousel__slide {
  height: 100%;
  position: absolute;
  opacity: 0;
  overflow: hidden;
}
.carousel__slide .overlay {height: 100%;}
.carousel--thumb .carousel__indicator {
  height: 30px;
  width: 30px;
}
.carousel__indicator {
  background-color: #fafafa;
}

.carousel__slide:nth-of-type(1),
.carousel--thumb .carousel__indicators .carousel__indicator:nth-of-type(1) {
  background-size: cover;
  background-position: center;
}

.carousel__slide:nth-of-type(2),
.carousel--thumb .carousel__indicators .carousel__indicator:nth-of-type(2) {
  background-size: cover;
  background-position: center;
}

&lt;/style&gt;

&lt;script&gt;
  function isVisible(el) {
        while (el) {
            if (el === document) {
                return true;
            }

            var $style = window.getComputedStyle(el, null);

            if (!el) {
                return false;
            } else if (!$style) {
                return false;
            } else if ($style.display === &apos;none&apos;) {
                return false;
            } else if ($style.visibility === &apos;hidden&apos;) {
                return false;
            } else if (+$style.opacity === 0) {
                return false;
            } else if (($style.display === &apos;block&apos; || $style.display === &apos;inline-block&apos;) &amp;&amp;
                $style.height === &apos;0px&apos; &amp;&amp; $style.overflow === &apos;hidden&apos;) {
                return false;
            } else {
                return $style.position === &apos;fixed&apos; || isVisible(el.parentNode);
            }
        }
  }
  
  setInterval(function(){
    var j=0;
    var elements = document.querySelectorAll(&apos;.carousel__control--forward&apos;);
    for(i=(elements.length - 1);i&gt;-1;i--) {
      if(isVisible(elements[i])) j=i;
    }
    elements[j].click();
  },7000);
  
&lt;/script&gt;

&lt;p&gt;The final modified file is up over at Macintosh Garden: &lt;a href=&quot;https://macintoshgarden.org/apps/finderhack&quot;&gt;macintoshgarden.org/apps/finderhack&lt;/a&gt;&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/move-to-trash-4.png&quot; alt=&quot;PNG&quot; title=&quot;Notice that System 7 has no glyph for the Backspace key&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Removing the confirmation alert&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I used a &lt;a href=&quot;https://github.com/fuzziqersoftware/resource_dasm/issues/77&quot;&gt;disassembler&lt;/a&gt; to figure out the code that was responsible for showing the confirmation alert that appears after pressing the hotkey, but I wasn’t sure how best to remove it. So I asked on 68KMLA.org and user &lt;em&gt;cheesestraws&lt;/em&gt; came up with a solution (thanks!) that involved NOPing out the Alert syscall setup, invokation, and return, and making the comparison that usually checks the alert button always default to the OK. I was so close to figuring out this solution myself, but I lacked a key bit of knowledge for how to figure out the hex code for a totally new instruction. Well, now I know how to do that! &lt;a href=&quot;https://68kmla.org/bb/index.php?threads/skipping-a-confirmation-alert-and-doing-the-ok-code-path.47220/post-529695&quot;&gt;Here’s all the details of how to change the machine code&lt;/a&gt;. I could have and probablt should have used Ghidra to figure out this edit to the code.&lt;/p&gt;

&lt;p&gt;Once this was done it became obvious how much of a hack FinderHack really is. After deleting the file the icon of the now missing file persists in Finder for up to a few seconds on my emulated Mac, and up to 20 seconds on period hardware! This is unacceptable, so I had to go deeper.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;keyquencer-redux&quot;&gt;KeyQuencer, Redux&lt;/h2&gt;

&lt;p&gt;I went back to old faithful, KeyQuencer, to see if there was a way I could force Finder to refresh the icon more quickly. Whilst I was reading the docs I saw the following:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;What Is KeyQuencer?

KeyQuencer is a utility that lets you create shortcuts, called macros, that
perform a series of tasks with a single keystroke. A macro is a set of
instructions that KeyQuencer uses to perform a task on a computer, for
example you can use KeyQuencer macros to:

   * Apply shortcuts directly to the current Finder selection, like moving
     items to the Trash.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Well! It turns out KeyQuencer could have solved our problem from day one! Lesson learned: RTFM.&lt;/p&gt;

&lt;p&gt;So, how do we go about setting up KeyQuencer to enable this feature? Well, before we get to that let’s talk about how KeyQuencer does its thing. It consists of three main parts:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;em&gt;KeyQuencer Engine&lt;/em&gt;&lt;/li&gt;
  &lt;li&gt;one or more &lt;em&gt;KeyQuencer Extensions&lt;/em&gt;&lt;/li&gt;
  &lt;li&gt;&lt;em&gt;KeyQuencer Panel&lt;/em&gt; and/or &lt;em&gt;KeyQuencer Editor&lt;/em&gt;&lt;/li&gt;
  &lt;li&gt;one or more &lt;em&gt;KeyQuencer Macros&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The beating heart of KeyQuencer is the &lt;em&gt;KeyQuencer Engine&lt;/em&gt; system extension that lives in the usual System/Extensions folder, along with a folder in System called &lt;em&gt;KeyQuencer Extensions&lt;/em&gt; that contains KeyQuencer’s own type of extensions. Still with me?&lt;/p&gt;

&lt;p&gt;Inside the &lt;em&gt;KeyQuencer Extensions&lt;/em&gt; folder you put any KeyQuencer Extension files that you want to use, by copying them from the KeyQuencer installation folder. This was a method to keep memory usage low by only loading the functions you’re using rather than the whole suite. So if you’re using a function from the File category, you copy the “File” KeyQuencer Extension in there.&lt;/p&gt;

&lt;p&gt;Once all that is set up you can create/add KeyQuencer Macros, using either KeyQuencer Panel or KeyQuencer Editor. There are lots of sample macros included with the app to get you started, and many were made and shared by the community. The app also includes detailed command help so you know exactly what is possible and how to make it so. Eventually you can construct your own macro, which is what I’ll do here.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step by step: words&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Download &lt;a href=&quot;https://macintoshgarden.org/apps/keyquencer&quot;&gt;KeyQuencer 2.5.6&lt;/a&gt; which gives us a folder called &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;KeyQuencer 2.5.6 99/07/18&lt;/code&gt; and copy the following files to their destinations:
    &lt;ul&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;KeyQuencer Engine&lt;/code&gt; goes in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;System/Extensions&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;KeyQuencer Panel&lt;/code&gt; goes in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;System/Control Panels&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;KeyQuencer Extensions/Archive and Files/File&lt;/code&gt; goes in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;System/KeyQuencer Extensions&lt;/code&gt; (create the destination folder)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Install &lt;a href=&quot;https://macintoshgarden.org/apps/applescript-11&quot;&gt;AppleScript 1.1&lt;/a&gt; &lt;em&gt;Finder Scripting Software&lt;/em&gt; (this is the updated &lt;em&gt;Scriptable Finder 7.1.3&lt;/em&gt; and &lt;em&gt;Finder Scripting Extension&lt;/em&gt;)&lt;/li&gt;
  &lt;li&gt;Restart the Macintosh when prompted&lt;/li&gt;
  &lt;li&gt;Create the Macro (you could also copy and paste it from a sample macro file):
    &lt;ul&gt;
      &lt;li&gt;Open &lt;em&gt;KeyQuencer Panel&lt;/em&gt; control panel&lt;/li&gt;
      &lt;li&gt;Inside the panel choose File &amp;gt; New Macro&lt;/li&gt;
      &lt;li&gt;Give the macro a name: “Move to Trash”&lt;/li&gt;
      &lt;li&gt;Give the macro a hotkey: Cmd+Backspace/Delete&lt;/li&gt;
      &lt;li&gt;Enter the macro script: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;File move selected to trash enforce&lt;/code&gt; by pasting, typing, or using the gui&lt;/li&gt;
      &lt;li&gt;Click OK&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Select some files and press Cmd+Backspace/Delete to move them to the trash!&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Step by step: video&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here’s a screen recording of me doing the above on a fresh System 7.1:&lt;/p&gt;

&lt;lite-youtube style=&quot;aspect-ratio: 4/3;&quot; videoid=&quot;99oQ5zZMHkI&quot; params=&quot;start=0&amp;amp;modestbranding=2&quot;&gt;
&lt;/lite-youtube&gt;

</description>
          <author>by Matt Sephton</author>
          <pubDate>Fri, 12 Apr 2024 22:08:00 +0000</pubDate>
          <link>https://blog.gingerbeardman.com/2024/04/12/adding-the-move-to-trash-function-to-system-7/</link>
          <guid isPermaLink="true">https://blog.gingerbeardman.com/2024/04/12/adding-the-move-to-trash-function-to-system-7/</guid>
        </item>
      
    
      
        <item>
          <title>Japanese language support on Classic Macintosh</title>
          <description>&lt;p&gt;Collecting &lt;a href=&quot;/2021/10/30/macintosh-magazine-media/&quot;&gt;Japanese Macintosh Magazine Media&lt;/a&gt; was not without its challenges. After buying those discs, and &lt;a href=&quot;/2022/03/31/working-with-classic-macintosh-text-encodings-in-the-age-of-unicode/&quot;&gt;figuring out a way to index the content&lt;/a&gt;, I wanted to run some of that software! So I needed a way to work with Japanese files and display them correctly in a real Classic Macintosh environment. For the reasons outlined below I decided to use only System J7.5.3 and Mac OS 9.&lt;/p&gt;

&lt;h2 id=&quot;system-6&quot;&gt;System 6&lt;/h2&gt;

&lt;p&gt;You’d install a third party solution like &lt;a href=&quot;https://macintoshgarden.org/apps/sweetjam&quot;&gt;SweetJAM&lt;/a&gt; or &lt;a href=&quot;https://macintoshgarden.org/apps/gomtalk&quot;&gt;GomTalk&lt;/a&gt;. This method only for the truly hardcore!&lt;/p&gt;

&lt;h2 id=&quot;kanjitalk&quot;&gt;KanjiTalk&lt;/h2&gt;

&lt;p&gt;You could install KanjiTalk 7 on top of US System 7. It includes all the features of System 7, plus utilities for entering and displaying Japanese.&lt;/p&gt;

&lt;h2 id=&quot;native-japanese-system-7&quot;&gt;Native Japanese System 7&lt;/h2&gt;

&lt;p&gt;Later you could get official Japanese installers for System 7. I’ve found that it’s easiest to install &lt;a href=&quot;https://macintoshgarden.org/apps/kanjitalk753&quot;&gt;System J7.5.3&lt;/a&gt; and dual boot to it using &lt;a href=&quot;https://macintoshgarden.org/apps/system-picker&quot;&gt;System Picker&lt;/a&gt;. This allows full display of Japanese text, opening of Japanese documents and you can still type in English when you need to, by using the language input method icon in the menu bar.&lt;/p&gt;

&lt;h2 id=&quot;language-kits&quot;&gt;Language Kits&lt;/h2&gt;

&lt;p&gt;For later versions of the system you can install Language Kits provided by Apple. For System 7 and 8 the Language Kits had to be bought. For OS 9 they came for free.&lt;/p&gt;

&lt;h2 id=&quot;example-mac-os-9&quot;&gt;Example: Mac OS 9&lt;/h2&gt;

&lt;p&gt;After installation the process requires some additional steps: set your system to a specific font, and register specific apps to display in Japanese (if they don’t automatically).&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Install “Language Kits”
Result:
    &lt;ul&gt;
      &lt;li&gt;You’ll gain the language input menu&lt;/li&gt;
      &lt;li&gt;You’ll be able to see Japanese in Text control panel&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Set “Control Panels -&amp;gt; Appearance -&amp;gt; Fonts -&amp;gt; Views Font” to Osaka
Result:
    &lt;ul&gt;
      &lt;li&gt;You’ll be able to see Japanese in Finder&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Use “Language Register” to set Japanese on a per-app basis
Result:
    &lt;ul&gt;
      &lt;li&gt;You’ll be able to see Japanese in the app menus and windows&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Further details at &lt;a href=&quot;http://www.kenkyuu.net/computer-01.html&quot;&gt;Japanese-ization of OS (Mac OS 9 edition)&lt;/a&gt;.&lt;/p&gt;
</description>
          <author>by Matt Sephton</author>
          <pubDate>Tue, 07 Nov 2023 12:50:00 +0000</pubDate>
          <link>https://blog.gingerbeardman.com/2023/11/07/japanese-lanuage-support-on-classic-macintosh/</link>
          <guid isPermaLink="true">https://blog.gingerbeardman.com/2023/11/07/japanese-lanuage-support-on-classic-macintosh/</guid>
        </item>
      
    
      
        <item>
          <title>About the interoperability of System 7 and iOS</title>
          <description>&lt;p&gt;It never fails to amaze me how at home System 7 feels on an iPad. In fact, I’d go so far as to say I’ve never felt more capable than when I’m using it this way. &lt;em&gt;What a time to be alive!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Still, there are times when it makes sense to lean on the features of the host device to get your job done more easily. In this post I detail common tasks that involve “crossing the streams”.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;file-conversions&quot;&gt;File Conversions&lt;/h2&gt;

&lt;p&gt;When transferring files to/from System 7 you’re going to need to convert them to/from suitable formats to make your life easier. Below I’ve listed my approach to the most common file types. Of course, your task may differ but I hope this gives you some useful hints.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bitmap files&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I use &lt;a href=&quot;https://pixaki.com&quot;&gt;Pixaki&lt;/a&gt; which is a fantastic native iPad app for creating pixel art. It will load either layered Photoshop or flat PNG files, both of which are easy to generate in System 7:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;PSD: Photoshop 3.0&lt;/li&gt;
  &lt;li&gt;PNG: GraphicConverter 4.1&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Vector files&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Dealing with vector artwork produced in the Deneba apps that I use is a little trickier. We have to jump use a stepping stone or two. First we export a file that keeps the vector data—I tend to choose Illustrator 88—and then we load that into the majestic FreeHand and export an EPS from there.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;I88: Illustrator 88 (aka version 1.7)&lt;/li&gt;
  &lt;li&gt;EPS: FreeHand 3/4/5&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Textual data&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I generally type in Markdown so plain-text TXT files work just fine and require no conversion. Programming source code files such as C, Pascal, or otherwise also transfer without incident.&lt;/p&gt;

&lt;p&gt;You may have some luck with Rich Text RTF files, and also with some versions of the Microsoft Word DOC file format, to transfer formatted text both ways without having to convert it to other file formats.&lt;/p&gt;

&lt;p&gt;More exotic document formats will be trickier, but &lt;a href=&quot;https://www.libreoffice.org&quot;&gt;LibreOffice&lt;/a&gt; can open number of older formats as read-only files. Examples are: AppleWorks, ClarisWorks, Nisus Writer, WordPerfect, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tabular data&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Excel&lt;/em&gt; 4.0 has you covered for CSV, XLS and more.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;file-io&quot;&gt;File I/O&lt;/h2&gt;

&lt;p&gt;To get files out of System 7 simply drop them onto the File Sharing drive, open Files, and long press on the file to get a list of the available actions. The exact options that iOS will give you will depend on the apps you have installed. Don’t be a stranger over at the App Store!&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;printing&quot;&gt;Printing&lt;/h2&gt;

&lt;p&gt;To print any type of document from System 7, I make use of software that allows printing to a PDF. It’s worth noting that the result is a bitmap PDF, not vector, but it’s good enough to get hold of a quick hardcopy.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;PDF: Acrobat PDFWriter 3.0&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Of course, if you are working with vector files you’ll have a proper scalable vector PDF file that you can print in exactly the same way.&lt;/p&gt;

&lt;p&gt;Once the PDF is in File Sharing, use iOS to print it wirelessly to an AirPrint compatible printer.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;multitasking&quot;&gt;Multitasking&lt;/h2&gt;

&lt;p&gt;iOS is only a swipe away, so remember that you can access iOS apps and services and swipe System 7 away at any time.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Split View&lt;/strong&gt; (if you enabled it when building BasiliskII) for side-by-side browsing in Safari&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Slide Over&lt;/strong&gt; for quick access to Files, Photos, Safari, etc.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Background&lt;/strong&gt; to listen to Music or Podcasts&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Picture-in-Picture&lt;/strong&gt; for YouTube or other video playback&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;downloading-files&quot;&gt;Downloading files&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Safari&lt;/em&gt; will let you download classic Macintosh file formats. Even though it doesn’t know how to handle them, they will automatically be saved on your iPad in Downloads.&lt;/p&gt;

&lt;p&gt;From there you can use Files to copy the file into BasiliskII’s File Sharing folder, or use the iOS Share Sheet to copy the file into BasiliskII and simultaneously open the emulator! Very handy. I use one or the other depending on my goal.&lt;/p&gt;

&lt;p&gt;Some file formats you are likely to come across:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;.hqx&lt;/strong&gt;—BinHex file&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;.bin&lt;/strong&gt;—MacBinary file&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;.sit&lt;/strong&gt;—StuffIt archive&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;.cpt&lt;/strong&gt;—CompactPro archive&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;.sea&lt;/strong&gt;—self-extracting archive&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The above files can be converted or extracted using StuffIt, MindExpander, or CompactPro. You might also see files with more than one extension, in which case don’t worry the file has been treated twice for good measure, you may have to open it twice in System 7 to get it into its final/original form.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;.dsk&lt;/strong&gt;—disk image&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;.img&lt;/strong&gt;—disk image&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;.smi&lt;/strong&gt;—self-mounting disk image&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The above disk images can be mounted using StuffIt, ShrinkWrap, DiskCopy 6. You could also mount them in the BasiliskII interface, but I tend not to do so for disk images that I won’t have mounted for very long.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;.iso&lt;/strong&gt;—standard CD-ROM disk image&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;.toast&lt;/strong&gt;—proprietary CD-ROM disk image&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The above optical disk images should be mounted using the BasiliskII settings interface (shown at first launch, or whenever you shake your device). Disks mounted in this way will be available at every boot, and can only be removed by shutting down the system and restarting the emulator.&lt;/p&gt;

&lt;h3 id=&quot;related-posts&quot;&gt;Related posts&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/17/turning-an-ipad-pro-into-the-ultimate-classic-macintosh&quot;&gt;Turning an iPad Pro into the Ultimate Classic Macintosh&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/21/building-basiliskii-for-ios/&quot;&gt;How to install BasiliskII on your iPad&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/19/automating-interactions-using-apple-events/&quot;&gt;Exploring Custom Keyboards and Automation&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/03/28/changing-the-size-of-toolbar-items-using-resedit/&quot;&gt;Optimising Macintosh app toolbars for touch&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/24/macintosh-drawing-software-compared/&quot;&gt;Macintosh drawing software compared&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/25/mixing-external-tools-across-deneba-software/&quot;&gt;Mixing External Tools across Deneba software&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/30/my-system-7-software-choices/&quot;&gt;My System 7 software choices&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;About the interoperability of System 7 and iOS&lt;/li&gt;
&lt;/ul&gt;
</description>
          <author>by Matt Sephton</author>
          <pubDate>Mon, 03 May 2021 00:00:00 +0000</pubDate>
          <link>https://blog.gingerbeardman.com/2021/05/03/interoperability-of-system-7-and-ios/</link>
          <guid isPermaLink="true">https://blog.gingerbeardman.com/2021/05/03/interoperability-of-system-7-and-ios/</guid>
        </item>
      
    
      
        <item>
          <title>My System 7 software choices</title>
          <description>&lt;p&gt;System 7 is a great operating system. The experience using it today remains very close to modern macOS. It’s surprising how little has changed on our Desktop in the 30 years since. That said, the experience can be improved with the judicious use of additional software.&lt;/p&gt;

&lt;p&gt;When adding things to the system my goal is always to increase quality of life and improve user experience. Functionality is key and nothing is added without careful consideration. If I can install one package to add several functions I’d rather do that than add several individual packages. If I can install software to match modern macOS features or muscle memory then I’ll do so.&lt;/p&gt;

&lt;p&gt;Below are my personal choices that improve my time spent using System 7.&lt;/p&gt;

&lt;h2 id=&quot;control-panels&quot;&gt;Control Panels&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/better-edit-keys&quot;&gt;Better Edit Keys&lt;/a&gt; - adds modern text editing and selection keyboard controls, such as the ability to grow the selection by word&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/capture-402&quot;&gt;Capture&lt;/a&gt; - screen grabbing software&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/capture-ae&quot;&gt;Capture AE&lt;/a&gt; - logger for Apple Events calls&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/aladdin-desktop-tools&quot;&gt;Desktop Makeover&lt;/a&gt; - provides custom Finder features such as menu shortcuts, enhanced diskette icons, allows you to hide Balloon Help&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/draganywindow&quot; title=&quot;https://macintoshgarden.org/apps/draganywindow&quot;&gt;DragAnyWindow&lt;/a&gt; - adds solid dragging of any window, apps can be excluded&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/hidden-finder-features&quot;&gt;Hidden Finder Features&lt;/a&gt; - enables hidden Finder keyboard shortcuts to create aliases by dragging, reveal alias original, and move file to Trash&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/keyquencer&quot;&gt;KeyQuencer&lt;/a&gt; - macro and automation utility, the ultimate tool for power-users&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/popup-folder-201&quot;&gt;PopupFolder&lt;/a&gt; - allows access to folder contents from hierarchical pop-up menu without having to drill down into folders&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/quickeys-353&quot;&gt;QuicKeys&lt;/a&gt; - macro and automation utility, I use it only for composing Apple Event calls&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/smart-scroll&quot;&gt;Smart Scroll&lt;/a&gt; - live scrolling and proportionally sized scrollbar thumb&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/smartlaunch-308&quot;&gt;SmartLaunch&lt;/a&gt; - application launcher, I launch this using Cmd+Return KeyQuencer macro&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/snitch&quot;&gt;Snitch&lt;/a&gt; - Get Info extender, can do batch type/creator changes by summoning whilst holding Shift&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/symbionts-286&quot;&gt;Symbionts&lt;/a&gt; - occasionally used to troubleshoot Control Panels and Extensions&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/windowshade&quot;&gt;WindowShade&lt;/a&gt; - collapse a window into its title bar by double-clicking&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/yesnocancel-121&quot;&gt;YesNoCancel&lt;/a&gt; - adds modern keyboard control to dialog boxes&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;extensions&quot;&gt;Extensions&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/2020patch&quot;&gt;2020Patch&lt;/a&gt; - fixes year 2020 date bug&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/about&quot;&gt;About&lt;/a&gt; - replacement for About This Macintosh window, with task manager features&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/apollo&quot;&gt;Apollo&lt;/a&gt; - pop-up menu at any location to select and launch apps&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/copypaste-33&quot;&gt;CopyPaste&lt;/a&gt; - multiple clipboard manager, works everywhere but ResEdit!&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macgui.com/downloads/?file_id=26327&quot;&gt;DirtyDesk&lt;/a&gt; - disables Clean Up Desktop menu item&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/natural-order&quot;&gt;Natural Order&lt;/a&gt; - improves sorting order in Finder&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;text-editors&quot;&gt;Text Editors&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://macgui.com/downloads/?file_id=20966&quot;&gt;Alpha&lt;/a&gt; - programmer’s editor, includes TCL scripting&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/anarcho-16&quot;&gt;Anarcho&lt;/a&gt; - has a few unique features&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/bbedit-5&quot;&gt;BBEdit&lt;/a&gt; - packed with features&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macgui.com/downloads/?file_id=21218&quot;&gt;Eddan&lt;/a&gt; - has a way to summon THINK References&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;word-processors&quot;&gt;Word Processors&lt;/h2&gt;

&lt;p&gt;Take your pick of the best:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/macwrite-pro-15&quot;&gt;MacWritePro&lt;/a&gt; 1.5&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/nisus-writer-4&quot;&gt;Nisus Writer&lt;/a&gt; 4&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/microsoft-word&quot;&gt;Word&lt;/a&gt; 5.1&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/wordperfect-35-novell&quot;&gt;WordPerfect&lt;/a&gt; 3.5&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/writenow&quot;&gt;WriteNow&lt;/a&gt; 4&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;other-utilities&quot;&gt;Other Utilities&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/compact-pro&quot;&gt;CompactPro&lt;/a&gt; - file compressor/decompressor&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/graphicconverter-4x&quot;&gt;GraphicConverter&lt;/a&gt; - image file converter&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/disktop-453&quot;&gt;DiskTop&lt;/a&gt; - file manager desk accessory&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/gregs-browser&quot;&gt;Greg’s Browser&lt;/a&gt; - file manager with StuffIt integration&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/masterfinder-13-fat&quot;&gt;MasterFinder&lt;/a&gt; - multi-column file manager&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/mindexpander&quot;&gt;MindExpander&lt;/a&gt; - file decompressor&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/super-resedit-213&quot;&gt;(Super) ResEdit&lt;/a&gt; - resource editor with built-in code viewer&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/resorcerer-125&quot;&gt;Resorcerer&lt;/a&gt; - resource editor with built-in code viewer&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/shrinkwrap-21&quot;&gt;ShrinkWrap&lt;/a&gt; - disk and archiving helper&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.macgui.com/downloads/?file_id=23652&quot;&gt;ShowSizes&lt;/a&gt; - disk usage analyser&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/type-resolve-201&quot;&gt;Type Resolve&lt;/a&gt; - drag-and-drop type/creator changer&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;operating-system&quot;&gt;Operating System&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/macintosh-os-755&quot;&gt;System 7.5.3 plus updates&lt;/a&gt; - Apple released this version for free!&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/japanese-language-kit-v12&quot;&gt;Japanese Language Kit&lt;/a&gt; - adds support for Japanese, I use this on a duplicate System folder&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/system-picker&quot;&gt;System Picker&lt;/a&gt; - choose which system folder to boot from&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://macintoshgarden.org/apps/applescript-11&quot;&gt;AppleScript 1.1&lt;/a&gt; - to enable Finder Scripting on &lt;em&gt;System 7.1&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;related-posts&quot;&gt;Related posts&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/17/turning-an-ipad-pro-into-the-ultimate-classic-macintosh&quot;&gt;Turning an iPad Pro into the Ultimate Classic Macintosh&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/21/building-basiliskii-for-ios/&quot;&gt;How to install BasiliskII on your iPad&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/19/automating-interactions-using-apple-events/&quot;&gt;Exploring Custom Keyboards and Automation&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/03/28/changing-the-size-of-toolbar-items-using-resedit/&quot;&gt;Optimising Macintosh app toolbars for touch&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/24/macintosh-drawing-software-compared/&quot;&gt;Macintosh drawing software compared&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/25/mixing-external-tools-across-deneba-software/&quot;&gt;Mixing External Tools across Deneba software&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;My System 7 software choices&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/05/03/interoperability-of-system-7-and-ios/&quot;&gt;About the interoperability of System 7 and iOS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
          <author>by Matt Sephton</author>
          <pubDate>Fri, 30 Apr 2021 00:00:00 +0000</pubDate>
          <link>https://blog.gingerbeardman.com/2021/04/30/my-system-7-software-choices/</link>
          <guid isPermaLink="true">https://blog.gingerbeardman.com/2021/04/30/my-system-7-software-choices/</guid>
        </item>
      
    
      
        <item>
          <title>Changing the text size of a list using Resorcerer</title>
          <description>&lt;p&gt;I sometimes use an app called KeyQuencer Launcher that is part of the KeyQuencer software. The app presents a simple window containing a list of macros allowing quick and easy access.&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/changing-textsize-1.png#pixel&quot; alt=&quot;PNG&quot; title=&quot;KeyQuencer Launcher window&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The text in the window is very small, which makes sense as you want to see multiple macros in as little space as possible. However, my use case in System 7 on iPad is a little different as I’d like to see fewer, larger items that are easy to select by touch.&lt;/p&gt;

&lt;p&gt;Knowing a little about how Macintosh apps are put together I thought it should be easy enough to change the text size in the window by modifying the app’s binary code directly. This can be done using a tool called Resorcerer (you could also use Super ResEdit, or ResEdit with the CODE viewer resources installed).&lt;/p&gt;

&lt;p&gt;By searching for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0xA88A&lt;/code&gt; (the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_TextSize&lt;/code&gt; toolbox call) I was lucky enough to find a single place in the app where the text size is set. I changed the value passed to the preceding &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;move.m&lt;/code&gt; from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;0E&lt;/code&gt; (decimal 14) to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;12&lt;/code&gt; (decimal 18) and the text size was increased.&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/changing-textsize-2.png#pixel&quot; alt=&quot;PNG&quot; title=&quot;Toolbox Trap 0xA88A&quot; /&gt;&lt;/p&gt;

&lt;p&gt;That was enough of a solution for me, though it is possible to change the font or to increase text size more dramatically if required.&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/changing-textsize-3.png#pixel&quot; alt=&quot;PNG&quot; title=&quot;KeyQuencer Launcher window with increased text size&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;related-posts&quot;&gt;Related posts&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/17/turning-an-ipad-pro-into-the-ultimate-classic-macintosh&quot;&gt;Turning an iPad Pro into the Ultimate Classic Macintosh&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/21/building-basiliskii-for-ios/&quot;&gt;How to install BasiliskII on your iPad&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/19/automating-interactions-using-apple-events/&quot;&gt;Exploring Custom Keyboards and Automation&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Optimising Macintosh app toolbars for touch&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/24/macintosh-drawing-software-compared/&quot;&gt;Macintosh drawing software compared&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/25/mixing-external-tools-across-deneba-software/&quot;&gt;Mixing External Tools across Deneba software&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/30/my-system-7-software-choices/&quot;&gt;My System 7 software choices&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/05/03/interoperability-of-system-7-and-ios/&quot;&gt;About the interoperability of System 7 and iOS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
          <author>by Matt Sephton</author>
          <pubDate>Wed, 28 Apr 2021 00:00:00 +0000</pubDate>
          <link>https://blog.gingerbeardman.com/2021/04/28/changing-the-text-size-of-a-list-using-resorcerer/</link>
          <guid isPermaLink="true">https://blog.gingerbeardman.com/2021/04/28/changing-the-text-size-of-a-list-using-resorcerer/</guid>
        </item>
      
    
      
        <item>
          <title>Mixing External Tools across Deneba software</title>
          <description>&lt;p&gt;One of the most interesting things about Deneba’s early 1990s Macintosh drawing apps is that they were built in a modular way with additional files adding specific features. These days we call those Plugins but back in 1990 Deneba referred to them as External Tools.&lt;/p&gt;

&lt;p&gt;They are first seen in UltraPaint and later in Canvas 3.0, artWORKS and Canvas 3.5. Tools are categorised as several types: Effect, I/O, Manager, Modifier, Object, Setting and Other. Each adds functionality and/or user interface to the app in its own way.&lt;/p&gt;

&lt;p&gt;Amongst the Deneba material on an AppleLink archive disk from Spring 1993 there are a bunch of “non-shipping” tools labelled for use with Canvas 3.0. Interestingly, they are listed individually and also as a combined set. If we extract the combined set of tools there’s a single additional tool that is somewhat out of place: the Waco Tool (for Wacom pressure sensitive pen) which is marked with UltraPaint’s type and creator information.&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/deneba-external-tools-0.png#pixel&quot; alt=&quot;PNG&quot; title=&quot;Spot the odd one out&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I can confirm this that this tool - which I don’t believe was ever included with UltraPaint - allows my Wacom ArtPad II to work. Bonus! But why was this tool meant for UltraPaint included in a download for Canvas. Could it work in Canvas?&lt;/p&gt;

&lt;p&gt;I put the additional files in the Canvas Tools folder and started the app with the Space Bar held down. This starts the Tool Picker allowing you to select which tools you want to use for that session.&lt;/p&gt;

&lt;p&gt;Boom! There it was.&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/deneba-external-tools-1.png#pixel&quot; alt=&quot;PNG&quot; title=&quot;A wild Waco Tool appears in the Tool Picker&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;experimentation&quot;&gt;Experimentation&lt;/h2&gt;

&lt;p&gt;I tried copying some tools from Canvas to UltraPaint and artWORKS. They didn’t work. What was the difference? In ResEdit they looked largely the same. On a whim I looked at the type/creator codes using Snitch’s Get Info extension. I noticed that disabled tools had a different type code. If the app is using type to store information like that, maybe it’s only accepting certain type codes?&lt;/p&gt;

&lt;p&gt;So I copied a tool from Canvas over to artWORKS, being careful to pick one that already exists so it was as much like for like as it could be. It didn’t show up. Then I changed the type/creator codes and… it did show up! And not only that, but the tool worked in the app!&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/deneba-external-tools-2.png#pixel&quot; alt=&quot;PNG&quot; title=&quot;External Tool type/creator codes&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I was surprised, and also impressed. Deneba did a really great job with the architecture and API of these apps for things to remain this compatible over the course of several years. All three apps share code and resources. If you take a look at both UltraPaint and artWORKS in ResEdit you’ll see that they share a lot of DNA, artWORKS is basically an enhanced version of UltraPaint. I’d bet all three apps were built from the same code base.&lt;/p&gt;

&lt;h2 id=&quot;how-far-can-we-go&quot;&gt;How far can we go?&lt;/h2&gt;

&lt;p&gt;Some questions remained: how many tools could this be done with? Would they install and function? Could I use tools in artWORKS that were meant only for the more expensive Canvas? There was only one way to find out: try all the tools!&lt;/p&gt;

&lt;p&gt;I set about copying the tools from one app to artWORKS, my favourite app, changing the creator and type codes to match. To make bulk changes to type/creator I used Get Info (with Snitch) on multiple items, but I could have used software such as FileTyper.&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Year&lt;/th&gt;
      &lt;th&gt;Software&lt;/th&gt;
      &lt;th&gt;Type&lt;/th&gt;
      &lt;th&gt;Creator&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;1990&lt;/td&gt;
      &lt;td&gt;UltraPaint&lt;/td&gt;
      &lt;td&gt;TOOL&lt;/td&gt;
      &lt;td&gt;ULTR&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;1992&lt;/td&gt;
      &lt;td&gt;Canvas 3.0&lt;/td&gt;
      &lt;td&gt;TOL2&lt;/td&gt;
      &lt;td&gt;DAD2&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;1993&lt;/td&gt;
      &lt;td&gt;artWORKS&lt;/td&gt;
      &lt;td&gt;TOL4&lt;/td&gt;
      &lt;td&gt;DAD3&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h2 id=&quot;very-far&quot;&gt;Very far!&lt;/h2&gt;

&lt;p&gt;The result was quite amazing with artWORKS total tools increasing from 59 to 92—that’s 33 additional tools! This is not counting a handful of tools that install but do not present themselves in the user interface. I’ll need to investigate those further at a later date.&lt;/p&gt;

&lt;p&gt;Doing the same for Canvas 3.0 takes us from 74 to an even higher total of 97 tools! It’s worth noting there are a couple of tools that go by the same internal name: PANTONE™ Colors (Color Manager) and Separations (PostScript) but I’ve chosen not to merge those rows of the table as there are some subtle differences in their capabilities. Also the functionality of the Grids &amp;amp; Rulers tool is built-in.&lt;/p&gt;

&lt;p&gt;The table below shows tools present in each of the apps, each with their own symbol, and then the final combined column shows all tools that are compatible with artWORKS with the symbols showing which app that tool originated from.&lt;/p&gt;

&lt;h1 id=&quot;external-tools&quot;&gt;External Tools&lt;/h1&gt;

&lt;div class=&quot;table-wrapper&quot;&gt;
  &lt;table id=&quot;deneba-external-tools&quot;&gt;
    &lt;thead&gt;
      &lt;tr&gt;
        &lt;th&gt;Software Name&lt;/th&gt;
        &lt;th style=&quot;text-align: center&quot;&gt;UltraPaint&lt;/th&gt;
        &lt;th style=&quot;text-align: center&quot;&gt;Canvas 3.0&lt;/th&gt;
        &lt;th style=&quot;text-align: center&quot;&gt;artWORKS&lt;/th&gt;
        &lt;th style=&quot;text-align: center&quot;&gt;artWORKS+&lt;/th&gt;
        &lt;th style=&quot;text-align: center&quot;&gt;Canvas 3.0+&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td&gt; Tool Loader&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt; ToolPicker&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Alignment Specs&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Antialias&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Arrowhead Manager&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Auto Trace&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Balloon Help&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Bézier Text&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Bind&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Blend Objects&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Blotter Pen&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Brush Manager&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Canvas 1.0 I/O&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Canvas 2.1 I/O&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;CGM I/O&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Chalk&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Charcoal&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Coil&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Color Manager&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Combine Objects&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Concentric Circles&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Contrast&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Convert To&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Cube&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Cylinder&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Dash Manager&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Dimensioning&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Doughnuts&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Drawing Size&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Dropper&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Duplication Specs&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;DXF I/O&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Filters&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Fingertip&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Fractals&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Fuzz lasso/Soften Edges&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;GIF I/O&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Gradient Fill&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Gray Scale Manager&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Grid Specs&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Grid Tool/Maker&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Grids &amp;amp; Rulers&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Hatch Patterns&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;IGES I/O&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Illustrator I/O&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Imported Filters&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Impressionist&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Layer Specs&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Luminance&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;MacDraw I/O&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;MacPaint I/O&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Magic Wand&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Masking&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Mover&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Multigon&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;NameStamp&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Object Specs&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Object Tint&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;PANTONE™ Colors&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;○&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Parallel Lines&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Pattern Manager&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Pen Manager&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Place&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Point Rotate&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;PostScript&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Preferences&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Pressure Pen&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;QuickTime&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Quill Pen&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Registration Marks&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Resistor&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;RGB Color Manager&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Rubber Stamp&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Ruler Specs&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Scale Specs&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Search &amp;amp; Replace&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Selection Specs&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;○&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Separations&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;○&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Sharpen and Blur&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Size Other&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Slides&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Smart Mouse&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;○&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Sounder&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Spacing Other&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Spelling&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Spiral&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Split&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Spray Manager&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;StartupScreen I/O&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;System 7.0 Options&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Text Ruler&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;○&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Text Utilities&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Textures&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Three Color Airbrush&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;TIFF I/O&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;TimeStamp&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Tool Info&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;UltraPaint 1.0 I/O&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Undo Killer&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;○&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Water Droplet&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;▲&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;■&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
    &lt;tfoot&gt;
      &lt;tr&gt;
        &lt;td&gt;Total Tools&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;30&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;74&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;58&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;92&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;97&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tfoot&gt;
  &lt;/table&gt;

  &lt;p&gt;Key:&lt;/p&gt;

  &lt;p&gt;▲ UltraPaint tool
  ● Canvas 3.0 tool
  (○ that installs but doesn’t show any interface)
  ■ artWORKS tool&lt;/p&gt;

  &lt;h2 id=&quot;result&quot;&gt;Result&lt;/h2&gt;

  &lt;p&gt;So after all this I now have an install of artWORKS (let’s call it artWORKS+) that includes additional tools from both UltraPaint and Canvas 3.0 and I had a ton of fun figuring all this out. And I’m only 30 years late!&lt;/p&gt;

  &lt;p&gt;Here’s a download of my artWORKS Tools folder containing all the combined tools (use StuffIt! Expander 5.5 to extract): &lt;a href=&quot;/files/artWORKS-Tools-Combined.sit&quot;&gt;artWORKS-Tools-Combined.sit&lt;/a&gt; [1.1MB]&lt;/p&gt;

  &lt;h3 id=&quot;footnote&quot;&gt;Footnote&lt;/h3&gt;

  &lt;p&gt;A note about later versions of Canvas: version 3.5 provides roughly the same tools as version 3.0. The handful of unique tools in version 3.5 are not compatible with artWORKS. Version 5.0 features similar tools but they’re no longer compatible with the earlier apps.&lt;/p&gt;

  &lt;h3 id=&quot;related-posts&quot;&gt;Related posts&lt;/h3&gt;

  &lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;/2021/04/17/turning-an-ipad-pro-into-the-ultimate-classic-macintosh&quot;&gt;Turning an iPad Pro into the Ultimate Classic Macintosh&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;/2021/04/21/building-basiliskii-for-ios/&quot;&gt;How to install BasiliskII on your iPad&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;/2021/04/19/automating-interactions-using-apple-events/&quot;&gt;Exploring Custom Keyboards and Automation&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;/2021/03/28/changing-the-size-of-toolbar-items-using-resedit/&quot;&gt;Optimising Macintosh app toolbars for touch&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;/2021/04/24/macintosh-drawing-software-compared/&quot;&gt;Macintosh drawing software compared&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Mixing External Tools across Deneba software&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;/2021/04/30/my-system-7-software-choices/&quot;&gt;My System 7 software choices&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;/2021/05/03/interoperability-of-system-7-and-ios/&quot;&gt;About the interoperability of System 7 and iOS&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;

&lt;/div&gt;
</description>
          <author>by Matt Sephton</author>
          <pubDate>Sun, 25 Apr 2021 00:00:00 +0000</pubDate>
          <link>https://blog.gingerbeardman.com/2021/04/25/mixing-external-tools-across-deneba-software/</link>
          <guid isPermaLink="true">https://blog.gingerbeardman.com/2021/04/25/mixing-external-tools-across-deneba-software/</guid>
        </item>
      
    
      
        <item>
          <title>Macintosh drawing software compared</title>
          <description>&lt;p&gt;Below is a list of various drawing applications that are available to use with System 7 (68K).&lt;/p&gt;

&lt;p&gt;I’m mostly interested in apps that can do both pixel and vector, and that support layers and transparency. The table below might be useful for at-a-glance comparisons. Apps run in both mono or colour, unless stated otherwise.&lt;/p&gt;

&lt;p&gt;Deneba artWORKS can do both pixel and vector, has layers and partial transparency. The bottom layer is opaque and all layers on top are transparent. Collections of pixels are managed as a special object, and there’s a limit of 8 layers. The user interface is brilliant.&lt;/p&gt;

&lt;p&gt;SuperPaint has two layers: pixel and vector with transparency in all but the base layer. Though it allows cut/copy and paste from the pixel layer to the vector layer at which point those collections of pixels are managed as SuperBits objects and can be edited in isolation.&lt;a href=&quot;https://twitter.com/tumult/status/1432279388519763972&quot;&gt;ref&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Freehand is king of the vector apps. It really was so much better than Illustrator. Such a shame that it’s no longer around. To use it on iPad is quite something!&lt;/p&gt;

&lt;p&gt;Also interesting is how many early versions of successful apps didn’t support layers (Photoshop, Freehand) or full transparency (Photoshop).&lt;/p&gt;

&lt;p&gt;Almost every app has only a single level undo, with only Expression and Freehand offering multi-level undo. This is probably why everybody was using Freehand when I started work in graphic design in the mid-late 1990s.&lt;/p&gt;

&lt;p&gt;One small disappointment: Macromedia Fireworks requires the PPC architecture so won’t run on my iPad System 7 setup. Sad face. (But we can use &lt;a href=&quot;https://infinitemac.org&quot;&gt;infinitemac.org&lt;/a&gt;)&lt;/p&gt;

&lt;div class=&quot;table-wrapper&quot;&gt;
  &lt;table id=&quot;macintosh-drawing-software&quot;&gt;
    &lt;thead&gt;
      &lt;tr&gt;
        &lt;th&gt;APP&lt;/th&gt;
        &lt;th style=&quot;text-align: center&quot;&gt;PIXEL&lt;/th&gt;
        &lt;th style=&quot;text-align: center&quot;&gt;VECTOR&lt;/th&gt;
        &lt;th style=&quot;text-align: center&quot;&gt;LAYERS&lt;/th&gt;
        &lt;th style=&quot;text-align: center&quot;&gt;TRANSP.&lt;/th&gt;
        &lt;th style=&quot;text-align: center&quot;&gt;UNDO&lt;/th&gt;
        &lt;th&gt;NOTES&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td&gt;artWORKS&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;○&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td&gt;Many layers, many objects&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;BluePaint&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;○&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td&gt;PPC-only&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Canvas&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;○&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td&gt;Many layers, many objects&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;ClarisDraw&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td&gt;Pixel drawing within specific objects&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Cricket Draw&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td&gt; &lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Draw It Again Sam&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td&gt; &lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Drawing Table&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td&gt; &lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Expression&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td&gt;Colour required&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Freehand 1.0–2.0&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;○&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td&gt;Layers not managed visually&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Freehand 3.1–5.5&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td&gt; &lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Illustrator 88–3.0&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td&gt; &lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;ImageStudio 0.6&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td&gt;Custom brushes&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;LightningPaint&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td&gt;Polite palettes&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;MacDraw Pro&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td&gt; &lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;MacPaint&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td&gt; &lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;MacroPaint&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;○&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td&gt;Transparent patterns&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Photoshop 1.0–2.5&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td&gt; &lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Photoshop 3.0&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td&gt;Full alpha channel transparency&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;PixelPaint&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td&gt;Special brush effects&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;ShareDraw&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td&gt; &lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Studio/1&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td&gt;Animation, 1-bit&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Studio/8&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td&gt;Animation, 8-bit&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;SuperPaint&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;○&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td&gt;Two layers, many objects&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;UltraPaint&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;○&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td&gt;Eight layers, many objects&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Zeus&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt;●&lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
        &lt;td&gt;Animation&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;

&lt;/div&gt;
&lt;p&gt;Key: ● full support, ○ partial support&lt;/p&gt;

&lt;h3 id=&quot;related-posts&quot;&gt;Related posts&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/17/turning-an-ipad-pro-into-the-ultimate-classic-macintosh&quot;&gt;Turning an iPad Pro into the Ultimate Classic Macintosh&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/21/building-basiliskii-for-ios/&quot;&gt;How to install BasiliskII on your iPad&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/19/automating-interactions-using-apple-events/&quot;&gt;Exploring Custom Keyboards and Automation&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/03/28/changing-the-size-of-toolbar-items-using-resedit/&quot;&gt;Optimising Macintosh app toolbars for touch&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Macintosh drawing software compared&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/25/mixing-external-tools-across-deneba-software/&quot;&gt;Mixing External Tools across Deneba software&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/30/my-system-7-software-choices/&quot;&gt;My System 7 software choices&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/05/03/interoperability-of-system-7-and-ios/&quot;&gt;About the interoperability of System 7 and iOS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
          <author>by Matt Sephton</author>
          <pubDate>Sat, 24 Apr 2021 00:00:00 +0000</pubDate>
          <link>https://blog.gingerbeardman.com/2021/04/24/macintosh-drawing-software-compared/</link>
          <guid isPermaLink="true">https://blog.gingerbeardman.com/2021/04/24/macintosh-drawing-software-compared/</guid>
        </item>
      
    
      
        <item>
          <title>Automating interactions using Apple Events</title>
          <description>&lt;p&gt;&lt;a href=&quot;/2021/04/17/turning-an-ipad-pro-into-the-ultimate-classic-macintosh/&quot;&gt;As I’ve previously mentioned&lt;/a&gt;, UltraPaint and artWORKS share a lot of DNA so their structure is effectively identical, including the tool palette. This is a good thing as I intend to automate tool selection in both apps and I’ll take any help 30-year-old software wants to send my way!&lt;/p&gt;

&lt;p&gt;Chapter 6 in the book “The Automatic Mac” (1992, &lt;a href=&quot;https://vintageapple.org/macbooks/&quot;&gt;download&lt;/a&gt;) details a number of ways of scripting graphics programs. They use Canvas as an example, which is great because that is a very close relative to the artWORKS and UltraPaint apps that I use. The book informed a lot of what I’m doing here, though my approach differs because of my available tools and personal preference.&lt;/p&gt;

&lt;h2 id=&quot;simply-clicking&quot;&gt;Simply Clicking&lt;/h2&gt;

&lt;p&gt;My first thought was to try the naive way of selecting tools by just clicking them! If the tool palettes are positioned in the same place (this can also be automated) then macros can simply click at specific screen locations to select a tool. This approach works well for both apps. But this is a very fragile way of automating interactions—if windows are inadvertently moved the automation will break. So, there’s definitely room for improvement.&lt;/p&gt;

&lt;h2 id=&quot;going-deeper&quot;&gt;Going Deeper&lt;/h2&gt;

&lt;p&gt;According to period Apple documentation (&lt;a href=&quot;https://www.google.co.uk/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=&amp;amp;ved=2ahUKEwiIr_OAzYXwAhXErHEKHR_sAcYQFjAAegQIChAD&amp;amp;url=https%3A%2F%2Fdeveloper.apple.com%2Flegacy%2Flibrary%2Fdocumentation%2Fmac%2Fpdf%2FInterapplication_Communication%2FIntro_to_IAC.pdf&amp;amp;usg=AOvVaw0WKA5J59562fzTuOMZ58PG&quot;&gt;PDF&lt;/a&gt;, &lt;a href=&quot;http://mirror.informatimago.com/next/developer.apple.com/documentation/mac/IAC/IAC-94.html&quot;&gt;HTML&lt;/a&gt;) a means of automation was introduced in System 7:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;The interapplication communication (IAC) architecture provides a standard and extensible mechanism for communication among Macintosh applications. The IAC architecture makes it possible for your application to&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;provide automated copy and paste operations between your application and other applications&lt;/li&gt;
    &lt;li&gt;be manipulated by means of scripts&lt;/li&gt;
    &lt;li&gt;send and respond to Apple events&lt;/li&gt;
    &lt;li&gt;send and respond to high-level events other than Apple events&lt;/li&gt;
    &lt;li&gt;read and write blocks of data between applications&lt;/li&gt;
  &lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;Sounds perfect—my idea of a good time!&lt;/p&gt;

&lt;h2 id=&quot;apple-events&quot;&gt;Apple Events&lt;/h2&gt;

&lt;p&gt;To support AppleScript, apps were required to offer suites of supported messages and mechanisms. These are advertised through the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;aete&lt;/code&gt; resource. ResEdit shows this data as raw hex, unless you install a template to enable it to make sense of it. Resorcerer supports it out of the box. There are a bunch of other tools that can display the data in a human readable way such an Apple-created &lt;a href=&quot;https://staticky.com/mirrors/ftp.apple.com/developer/Development_Kits/AppleScript/Development_Tools/Aete_Editor_Stack_1.0b3/&quot;&gt;HyperCard stack&lt;/a&gt;, a third-party app called &lt;a href=&quot;https://macintoshgarden.org/apps/eightyrez&quot;&gt;EightyRez&lt;/a&gt;, and automation tool &lt;a href=&quot;https://macintoshgarden.org/apps/quickeys-353&quot;&gt;QuicKeys&lt;/a&gt; to name just a few.&lt;/p&gt;

&lt;p&gt;QuicKeys sounded ideal as it lets me query the data, using a set of dropdown menus, and use it to specify automation to try out the Apple Events way of selecting a tool. It worked first time! But it was slow, and there was a distracting loss of window focus as the macro was executed.&lt;/p&gt;

&lt;p&gt;In search of something better turned to my favourite classic automation tool: KeyQuencer. I’d previously searched trough various archives for any available macros, so had a vague memory there was something out there I might be able to use. I dug up AESend, an Apple Events extension for KeyQuencer.&lt;/p&gt;

&lt;p&gt;I used QuicKeys GUI to set up the initial Apple Events call, as it allows you to pick options from drop-down lists. Then I used the Capture AE control panel to decode the Apple Events call into something human readable that I could adapt for use in KeyQuencer. I’d still take that approach for any new Apple Events.&lt;/p&gt;

&lt;p&gt;The result was much faster Apple Events sending and no distracting window focus flickering.&lt;/p&gt;

&lt;h2 id=&quot;two-in-one&quot;&gt;Two-in-One&lt;/h2&gt;

&lt;p&gt;The end result is a macro of two parts: the first section operates artWORKS using Apple Events, continuing without complaint if the app is not open, and the second section operates UltraPaint using simple mouse clicks.&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/automating-apple-events.png#pixel&quot; alt=&quot;PNG&quot; title=&quot;Example of a KeyQuencer Macro that works in both artWORKS and UltraPaint&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I plan to adding support for Canvas 3.x at some point as this shares Apple Events support with artWORKS.&lt;/p&gt;

&lt;h2 id=&quot;investigation&quot;&gt;Investigation&lt;/h2&gt;

&lt;p&gt;According to the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;aete&lt;/code&gt; resource description in both artWORKS and Canvas, selection of Internal Tools using Apple Events is limited to 10 seemingly random tools. This made no sense to me, so I tried specifying higher tools and this experimentation proved that all 18 internal tools are indeed available. I guess the description had been truncated at some point?&lt;/p&gt;

&lt;p&gt;Some time later I read “The Automatic Mac” again and it shows a more complete list of tool values! The order seems to be based on the tool palette in Canvas.&lt;/p&gt;

&lt;p&gt;Even so, I went the extra mile to complete a list of both internal and external tools, shown below.&lt;/p&gt;

&lt;h3 id=&quot;internal-tools-btol&quot;&gt;Internal Tools (btol)&lt;/h3&gt;

&lt;table id=&quot;deneba-btol&quot;&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Name&lt;/th&gt;
      &lt;th&gt;shor&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;ArcRect&lt;/td&gt;
      &lt;td&gt;7&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Arrow&lt;/td&gt;
      &lt;td&gt;1&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;BezierCurve&lt;/td&gt;
      &lt;td&gt;10&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Brush&lt;/td&gt;
      &lt;td&gt;14&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Eraser&lt;/td&gt;
      &lt;td&gt;17&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Free Hand&lt;/td&gt;
      &lt;td&gt;8&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Lasso&lt;/td&gt;
      &lt;td&gt;11&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Line&lt;/td&gt;
      &lt;td&gt;3&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Marquee&lt;/td&gt;
      &lt;td&gt;12&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Oval&lt;/td&gt;
      &lt;td&gt;6&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Paint Bucket&lt;/td&gt;
      &lt;td&gt;15&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Paint Object Creator&lt;/td&gt;
      &lt;td&gt;18&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Pencil&lt;/td&gt;
      &lt;td&gt;16&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Polygon&lt;/td&gt;
      &lt;td&gt;9&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Rect&lt;/td&gt;
      &lt;td&gt;4&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;RoundRect&lt;/td&gt;
      &lt;td&gt;5&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Spray Can&lt;/td&gt;
      &lt;td&gt;13&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Text&lt;/td&gt;
      &lt;td&gt;2&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h3 id=&quot;external-tools-etol&quot;&gt;External Tools (etol)&lt;/h3&gt;

&lt;table id=&quot;deneba-etol&quot;&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Name&lt;/th&gt;
      &lt;th&gt;long&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Coil&lt;/td&gt;
      &lt;td&gt;CoiL&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Concentric Circles&lt;/td&gt;
      &lt;td&gt;CCir&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Cube&lt;/td&gt;
      &lt;td&gt;Cube&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Cylinder&lt;/td&gt;
      &lt;td&gt;cyln&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Dimensioning&lt;/td&gt;
      &lt;td&gt;DIMN&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Doughnuts&lt;/td&gt;
      &lt;td&gt;doug&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Fractals&lt;/td&gt;
      &lt;td&gt;Flin&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Gradient Fill&lt;/td&gt;
      &lt;td&gt;ObFl&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;GridMaker&lt;/td&gt;
      &lt;td&gt;grid&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Mover&lt;/td&gt;
      &lt;td&gt;MovE&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Multigon&lt;/td&gt;
      &lt;td&gt;NGON&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Namestamp&lt;/td&gt;
      &lt;td&gt;NamE&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Parallel Lines&lt;/td&gt;
      &lt;td&gt;Paln&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Point Rotate&lt;/td&gt;
      &lt;td&gt;PtRt&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;QuickTime&lt;/td&gt;
      &lt;td&gt;QkTm&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Registration Marks&lt;/td&gt;
      &lt;td&gt;regP&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Resistor&lt;/td&gt;
      &lt;td&gt;ResT&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Sounder&lt;/td&gt;
      &lt;td&gt;sndT&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Spiral&lt;/td&gt;
      &lt;td&gt;Spir&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Split&lt;/td&gt;
      &lt;td&gt;Splt&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Star&lt;/td&gt;
      &lt;td&gt;STAR&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Timestamp&lt;/td&gt;
      &lt;td&gt;TimE&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h3 id=&quot;related-posts&quot;&gt;Related posts&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/17/turning-an-ipad-pro-into-the-ultimate-classic-macintosh&quot;&gt;Turning an iPad Pro into the Ultimate Classic Macintosh&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/21/building-basiliskii-for-ios/&quot;&gt;How to install BasiliskII on your iPad&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Exploring Custom Keyboards and Automation&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/03/28/changing-the-size-of-toolbar-items-using-resedit/&quot;&gt;Optimising Macintosh app toolbars for touch&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/24/macintosh-drawing-software-compared/&quot;&gt;Macintosh drawing software compared&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/25/mixing-external-tools-across-deneba-software/&quot;&gt;Mixing External Tools across Deneba software&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/30/my-system-7-software-choices/&quot;&gt;My System 7 software choices&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/05/03/interoperability-of-system-7-and-ios/&quot;&gt;About the interoperability of System 7 and iOS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
          <author>by Matt Sephton</author>
          <pubDate>Mon, 19 Apr 2021 00:00:00 +0000</pubDate>
          <link>https://blog.gingerbeardman.com/2021/04/19/automating-interactions-using-apple-events/</link>
          <guid isPermaLink="true">https://blog.gingerbeardman.com/2021/04/19/automating-interactions-using-apple-events/</guid>
        </item>
      
    
      
        <item>
          <title>Turning an iPad Pro into the Ultimate Classic Macintosh</title>
          <description>&lt;p&gt;I’ve started work on the next in my &lt;a href=&quot;/tag/1bitwoodblocks/&quot;&gt;1-bit Woodblocks&lt;/a&gt; series: “Tekagami” (Ito Shinsui’s “Hand Mirror”). So it’s a good time to talk about how I turned an iPad Pro into the ultimate Classic Macintosh.&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/ultimate-classic-macintosh-1.jpg&quot; alt=&quot;JPG&quot; title=&quot;One of my drawings in Deneba UltraPaint on System 7, running in a Macintosh emulator on an iPad Pro&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;emulators&quot;&gt;Emulators&lt;/h2&gt;

&lt;p&gt;Both Macintosh emulators available on iOS we’re ported by &lt;a href=&quot;https://Twitter.com/maczydeco&quot; title=&quot;@maczydeco&quot;&gt;@maczydeco&lt;/a&gt; who has done an amazing job making them feel truly at home on iOS. Many thanks! They need to be built from source using Xcode but it’s a pretty straight forward process.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mini vMac&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Supports System 1.1 to 7.5.5&lt;/li&gt;
  &lt;li&gt;Limited RAM and CPU emulation&lt;/li&gt;
  &lt;li&gt;File Sharing via bespoke method&lt;/li&gt;
  &lt;li&gt;No dynamic screen resolution changing&lt;/li&gt;
  &lt;li&gt;Odd interface using Control key shortcuts&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/zydeco/minivmac4ios&quot;&gt;Source code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;BasiliskII&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Supports System 7.0 to 8.1&lt;/li&gt;
  &lt;li&gt;Advanced RAM and CPU emulation&lt;/li&gt;
  &lt;li&gt;File Sharing via mapped folder&lt;/li&gt;
  &lt;li&gt;Dynamic screen resolutions through Monitors control panel, or automation&lt;/li&gt;
  &lt;li&gt;Native iOS interface for settings panel, negating all the issues with the desktop GUI&lt;/li&gt;
  &lt;li&gt;We have a winner!&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/zydeco/macemu/wiki/BasiliskII-for-iOS&quot;&gt;Source code&lt;/a&gt; (use the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ios&lt;/code&gt; branch)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;file-sharing&quot;&gt;File Sharing&lt;/h2&gt;

&lt;p&gt;This works a treat in both emulators, but the experience is better in BasiliskII.&lt;/p&gt;

&lt;p&gt;With Mini vMac you need to run a special file import app, and then whilst it’s open use iOS Share Sheet to send a file to Mini vMac. These extra steps are just enough friction to make the emulator annoying to use.&lt;/p&gt;

&lt;p&gt;With BasiliskII things are easier as it has a drive mapped to the app’s file sharing folder. You can use the Share Sheet in the same way as Mini vMac, but you can also simply copy/move a file to the BasiliskII folder and it will be accessible inside the emulator. The only gotcha with this approach is that you’re best moving the file to the emulated system’s main disk drive otherwise you’ll encounter various oddities with certain apps that don’t know how to cope with files located on this type of drive.&lt;/p&gt;

&lt;h2 id=&quot;screen-resolutions&quot;&gt;Screen Resolutions&lt;/h2&gt;

&lt;p&gt;The original Macintosh had a native screen resolution of 512×342.&lt;/p&gt;

&lt;p&gt;Conceptually, the iPad has a logical screen resolution of 1024×768, which when running in pixel doubled mode equates to 512×384. A pretty good match. Specifically, the native resolution varies according to the model of iPad or iPhone you are using.&lt;/p&gt;

&lt;p&gt;I use an iPad Pro 12.9” which has a native resolution of 2732×2048, pixel doubled that means 1366×1024, and pixel quadrupled 683×512. Targeting this ballpark of resolution means user interface elements will be around the &lt;a href=&quot;https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/adaptivity-and-layout/&quot;&gt;magic 44pt tappable area&lt;/a&gt;, so that fingertip interactions are accurate, predictable and enjoyable.&lt;/p&gt;

&lt;p&gt;Of course the iPad can flip between landscape and portrait orientations on demand, which means BasiliskII supporting the Monitors control panel is a big win.&lt;/p&gt;

&lt;p&gt;So I added a bunch of custom resolutions to the BasiliskII soure code to add support for both pixel-doubled and pixel-quadrupled resolutions, in both portrait and landscape, with and without room for the software keyboard. I can switch between these resolutions with keyboard shortcuts. Which leads nicely on to…&lt;/p&gt;

&lt;h2 id=&quot;custom-keyboards&quot;&gt;Custom Keyboards&lt;/h2&gt;

&lt;p&gt;Both emulators share the same software keyboard mechanism. The keyboard layouts are user-editable as JSON and &lt;a href=&quot;https://github.com/zydeco/macemu/tree/ios/BasiliskII/src/iOS/Keyboard%20Layouts&quot;&gt;compiled&lt;/a&gt; into a custom format.&lt;/p&gt;

&lt;p&gt;So I put together a &lt;a href=&quot;https://github.com/gingerbeardman/artworks-keyboard&quot;&gt;custom keyboard layout&lt;/a&gt; that can be used in either emulator that gives me quick thumb access to tools and shortcuts in my most used apps: artWORKS and UltraPaint. It works for both apps as they are closely related, sharing a lot of code and resources.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/ultimate-classic-macintosh-2.png&quot; alt=&quot;PNG&quot; /&gt;&lt;/p&gt;

&lt;p&gt;With this keyboard layout I’m not only relabelling the function keys, but also replacing some key codes to reposition keys for my own purposes. The apps don’t respond to function keys so I use macros and Apple Events to get things to work &lt;a href=&quot;/2021/04/19/automating-interactions-using-apple-events/&quot;&gt;as detailed in another post&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;how-does-the-experience-compare-to-a-real-macintosh&quot;&gt;How does the experience compare to a real Macintosh?&lt;/h2&gt;

&lt;p&gt;The most important aspect of this setup is that it runs System 7 and the various apps I use. That is the core of my classic Macintosh experience and the goal I had in mind. The hardware running System 7 is merely a conduit.&lt;/p&gt;

&lt;p&gt;That said, the iPad Pro is more portable, reliable and capable than my real Macintosh. That’s 30 years of hardware progress for you.&lt;/p&gt;

&lt;p&gt;The iPad’s display in particular is a huge differentiator—it can assume so many different resolutions it should be thought of as a collection of displays rather than just a single one.&lt;/p&gt;

&lt;p&gt;Apple Pencil is very similar in feel to my Wacom ArtPad II, but with the single huge improvement that you’re drawing directly on the screen. Drawing with an Apple Pencil on System 7 is every bit as good as drawing in a native iPad app.&lt;/p&gt;

&lt;p&gt;iOS is only a swipe away: download classic software using a modern web browser like Safari, expand archives more quickly with Files or Documents, watch videos picture-in-picture, search your Inside Macintosh PDFs in Books, listen to streaming music, and so many other things that aren’t doable (or at least are extremely difficult to do) on a real classic Macintosh.&lt;/p&gt;

&lt;p&gt;Bluetooth keyboards just work. The new/recent mouse pointer support in iOS also works. You could even plug the iPad into an external display to go full circle back to a desktop computer.&lt;/p&gt;

&lt;p&gt;This setup gives me the best of both old and new worlds, and that’s why I refer to it as the Ultimate Classic Macintosh.&lt;/p&gt;

&lt;h3 id=&quot;related-posts&quot;&gt;Related posts&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Turning an iPad Pro into the Ultimate Classic Macintosh&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/21/building-basiliskii-for-ios/&quot;&gt;How to install BasiliskII on your iPad&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/19/automating-interactions-using-apple-events/&quot;&gt;Exploring Custom Keyboards and Automation&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/03/28/changing-the-size-of-toolbar-items-using-resedit/&quot;&gt;Optimising Macintosh app toolbars for touch&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/24/macintosh-drawing-software-compared/&quot;&gt;Macintosh drawing software compared&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/25/mixing-external-tools-across-deneba-software/&quot;&gt;Mixing External Tools across Deneba software&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/04/30/my-system-7-software-choices/&quot;&gt;My System 7 software choices&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;/2021/05/03/interoperability-of-system-7-and-ios/&quot;&gt;About the interoperability of System 7 and iOS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;elsewhere&quot;&gt;Elsewhere&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;2021-03-29—&lt;a href=&quot;https://www.macobserver.com/cool-stuff-found/emulating-mac-plus-ios/&quot;&gt;The Mac Observer&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;2021-04-18—&lt;a href=&quot;https://news.ycombinator.com/item?id=26854990&quot;&gt;Hacker News&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;2021-04-19—&lt;a href=&quot;https://boingboing.net/2021/04/19/ipad-pro-turned-into-the-best-classic-mac-there-ever-was.html&quot;&gt;Boing Boing&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;2021-04-19—&lt;a href=&quot;https://www.idownloadblog.com/2021/04/19/ipad-pro-classic-macintosh-emulator/&quot;&gt;iDownloadBlog&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;2021-04-19—&lt;a href=&quot;https://www.loopinsight.com/2021/04/19/turning-an-ipad-pro-into-the-ultimate-classic-macintosh/&quot;&gt;The Loop&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;2021-04-22—&lt;a href=&quot;https://www.fredzone.org/et-si-vous-transformiez-votre-ipad-en-macintosh-portable-2828&quot;&gt;FredZone&lt;/a&gt; (in French)&lt;/li&gt;
  &lt;li&gt;2021-04-23—&lt;a href=&quot;https://gizmodo.com/this-artist-turned-their-ipad-pro-into-a-classic-macint-1846749495&quot;&gt;Gizmodo&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;2021-04-23—&lt;a href=&quot;https://pxlnv.com/linklog/classic-macintosh-painting/&quot;&gt;Pixel Envy&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;2021-04-26—&lt;a href=&quot;https://www.igen.fr/ipad/2021/04/un-ipad-pro-sous-systeme-7-pour-dessiner-en-noir-et-blanc-122071&quot;&gt;iGeneration&lt;/a&gt; (in French)&lt;/li&gt;
&lt;/ul&gt;
</description>
          <author>by Matt Sephton</author>
          <pubDate>Sat, 17 Apr 2021 00:00:00 +0000</pubDate>
          <link>https://blog.gingerbeardman.com/2021/04/17/turning-an-ipad-pro-into-the-ultimate-classic-macintosh/</link>
          <guid isPermaLink="true">https://blog.gingerbeardman.com/2021/04/17/turning-an-ipad-pro-into-the-ultimate-classic-macintosh/</guid>
        </item>
      
    
      
        <item>
          <title>History of DenebaCAD</title>
          <description>&lt;p&gt;I recently stumbled across a series of Facebook posts about the origins of DenebaCAD, from humble beginnings as MasterCAD on Atari ST, of all unlikely places. The app still exists today as DCAD VectorSpace. Here I provide the story translated from Spanish into English.&lt;/p&gt;

&lt;!--more--&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Year&lt;/th&gt;
      &lt;th&gt;Title&lt;/th&gt;
      &lt;th&gt;Platform&lt;/th&gt;
      &lt;th&gt;Distribution&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;1988&lt;/td&gt;
      &lt;td&gt;MasterCAD&lt;/td&gt;
      &lt;td&gt;Atari ST&lt;/td&gt;
      &lt;td&gt;Retail&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;1989&lt;/td&gt;
      &lt;td&gt;User’s CAD&lt;/td&gt;
      &lt;td&gt;Macintosh&lt;/td&gt;
      &lt;td&gt;Beta&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;1991&lt;/td&gt;
      &lt;td&gt;ArchiDOT 2.0&lt;/td&gt;
      &lt;td&gt;Macintosh&lt;/td&gt;
      &lt;td&gt;Retail&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;1992&lt;/td&gt;
      &lt;td&gt;ArchiDOT 3.0&lt;/td&gt;
      &lt;td&gt;Macintosh&lt;/td&gt;
      &lt;td&gt;Retail&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;1997&lt;/td&gt;
      &lt;td&gt;DenebaCAD&lt;/td&gt;
      &lt;td&gt;Macintosh&lt;/td&gt;
      &lt;td&gt;Retail&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;This breakthrough CAD software was created by Hernán Pisani at INDI C.A. (Calle Madrid, Qta. El Pilar, Las Mercedes, Caracas, Venezuela).&lt;/p&gt;

&lt;p&gt;The below is taken from &lt;a href=&quot;https://www.facebook.com/page/226466162072375/search/?q=archidot&quot;&gt;Metamorfosis 3D on Facebook&lt;/a&gt; with the text presented in full below, albeit translated from Spanish using DeepL.&lt;/p&gt;

&lt;div class=&quot;carousel__holder&quot;&gt;
    &lt;div class=&quot;carousel&quot;&gt;
        
          &lt;input class=&quot;carousel__activator&quot; type=&quot;radio&quot; name=&quot;carousel&quot; id=&quot;a&quot; checked=&quot;checked&quot; /&gt;
        
          &lt;input class=&quot;carousel__activator&quot; type=&quot;radio&quot; name=&quot;carousel&quot; id=&quot;b&quot; /&gt;
        
          &lt;input class=&quot;carousel__activator&quot; type=&quot;radio&quot; name=&quot;carousel&quot; id=&quot;c&quot; /&gt;
        
          &lt;input class=&quot;carousel__activator&quot; type=&quot;radio&quot; name=&quot;carousel&quot; id=&quot;d&quot; /&gt;
        
          &lt;input class=&quot;carousel__activator&quot; type=&quot;radio&quot; name=&quot;carousel&quot; id=&quot;e&quot; /&gt;
        
          &lt;input class=&quot;carousel__activator&quot; type=&quot;radio&quot; name=&quot;carousel&quot; id=&quot;f&quot; /&gt;
        
        
          
          
          
          
          &lt;div class=&quot;carousel__controls&quot;&gt;
              &lt;label class=&quot;carousel__control carousel__control--backward&quot; for=&quot;f&quot;&gt;&lt;/label&gt;
              &lt;label class=&quot;carousel__control carousel__control--forward&quot; for=&quot;b&quot;&gt;&lt;/label&gt;
          &lt;/div&gt;
        
          
          
          
          
          &lt;div class=&quot;carousel__controls&quot;&gt;
              &lt;label class=&quot;carousel__control carousel__control--backward&quot; for=&quot;a&quot;&gt;&lt;/label&gt;
              &lt;label class=&quot;carousel__control carousel__control--forward&quot; for=&quot;c&quot;&gt;&lt;/label&gt;
          &lt;/div&gt;
        
          
          
          
          
          &lt;div class=&quot;carousel__controls&quot;&gt;
              &lt;label class=&quot;carousel__control carousel__control--backward&quot; for=&quot;b&quot;&gt;&lt;/label&gt;
              &lt;label class=&quot;carousel__control carousel__control--forward&quot; for=&quot;d&quot;&gt;&lt;/label&gt;
          &lt;/div&gt;
        
          
          
          
          
          &lt;div class=&quot;carousel__controls&quot;&gt;
              &lt;label class=&quot;carousel__control carousel__control--backward&quot; for=&quot;c&quot;&gt;&lt;/label&gt;
              &lt;label class=&quot;carousel__control carousel__control--forward&quot; for=&quot;e&quot;&gt;&lt;/label&gt;
          &lt;/div&gt;
        
          
          
          
          
          &lt;div class=&quot;carousel__controls&quot;&gt;
              &lt;label class=&quot;carousel__control carousel__control--backward&quot; for=&quot;d&quot;&gt;&lt;/label&gt;
              &lt;label class=&quot;carousel__control carousel__control--forward&quot; for=&quot;f&quot;&gt;&lt;/label&gt;
          &lt;/div&gt;
        
          
          
          
          
          &lt;div class=&quot;carousel__controls&quot;&gt;
              &lt;label class=&quot;carousel__control carousel__control--backward&quot; for=&quot;e&quot;&gt;&lt;/label&gt;
              &lt;label class=&quot;carousel__control carousel__control--forward&quot; for=&quot;a&quot;&gt;&lt;/label&gt;
          &lt;/div&gt;
        
        &lt;div class=&quot;carousel__track&quot;&gt;
          &lt;ul&gt;
            
            &lt;li class=&quot;carousel__slide&quot; style=&quot;background-image: url(&apos;https://cdn.gingerbeardman.com/images/posts/history-of-deneba-cad-1.jpg&apos;);&quot;&gt;&lt;img class=&quot;carousel__staticimage&quot; src=&quot;https://cdn.gingerbeardman.com/images/posts/history-of-deneba-cad-1.jpg&quot; /&gt;&lt;/li&gt;
            
            &lt;li class=&quot;carousel__slide&quot; style=&quot;background-image: url(&apos;https://cdn.gingerbeardman.com/images/posts/history-of-deneba-cad-2.jpg&apos;);&quot;&gt;&lt;img class=&quot;carousel__staticimage&quot; src=&quot;https://cdn.gingerbeardman.com/images/posts/history-of-deneba-cad-2.jpg&quot; /&gt;&lt;/li&gt;
            
            &lt;li class=&quot;carousel__slide&quot; style=&quot;background-image: url(&apos;https://cdn.gingerbeardman.com/images/posts/history-of-deneba-cad-3.jpg&apos;);&quot;&gt;&lt;img class=&quot;carousel__staticimage&quot; src=&quot;https://cdn.gingerbeardman.com/images/posts/history-of-deneba-cad-3.jpg&quot; /&gt;&lt;/li&gt;
            
            &lt;li class=&quot;carousel__slide&quot; style=&quot;background-image: url(&apos;https://cdn.gingerbeardman.com/images/posts/history-of-deneba-cad-4.jpg&apos;);&quot;&gt;&lt;img class=&quot;carousel__staticimage&quot; src=&quot;https://cdn.gingerbeardman.com/images/posts/history-of-deneba-cad-4.jpg&quot; /&gt;&lt;/li&gt;
            
            &lt;li class=&quot;carousel__slide&quot; style=&quot;background-image: url(&apos;https://cdn.gingerbeardman.com/images/posts/history-of-deneba-cad-5.jpg&apos;);&quot;&gt;&lt;img class=&quot;carousel__staticimage&quot; src=&quot;https://cdn.gingerbeardman.com/images/posts/history-of-deneba-cad-5.jpg&quot; /&gt;&lt;/li&gt;
            
            &lt;li class=&quot;carousel__slide&quot; style=&quot;background-image: url(&apos;https://cdn.gingerbeardman.com/images/posts/history-of-deneba-cad-6.jpg&apos;);&quot;&gt;&lt;img class=&quot;carousel__staticimage&quot; src=&quot;https://cdn.gingerbeardman.com/images/posts/history-of-deneba-cad-6.jpg&quot; /&gt;&lt;/li&gt;
            
          &lt;/ul&gt;
        &lt;/div&gt;
        &lt;div class=&quot;carousel__indicators&quot;&gt;
            
              &lt;label class=&quot;carousel__indicator&quot; for=&quot;a&quot;&gt;&lt;/label&gt;
            
              &lt;label class=&quot;carousel__indicator&quot; for=&quot;b&quot;&gt;&lt;/label&gt;
            
              &lt;label class=&quot;carousel__indicator&quot; for=&quot;c&quot;&gt;&lt;/label&gt;
            
              &lt;label class=&quot;carousel__indicator&quot; for=&quot;d&quot;&gt;&lt;/label&gt;
            
              &lt;label class=&quot;carousel__indicator&quot; for=&quot;e&quot;&gt;&lt;/label&gt;
            
              &lt;label class=&quot;carousel__indicator&quot; for=&quot;f&quot;&gt;&lt;/label&gt;
            
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
.carousel__holder {width: 100%; position: relative; padding-bottom: 82%; margin: 1rem 0 1rem;}
.carousel {
  height: 100%;
  width: 100%;
  overflow: hidden;
  text-align: center;
  position: absolute;
  padding: 0;
}
.carousel__staticimage,
.carousel__controls,
.carousel__activator {
  display: none;
}

.carousel__activator:nth-of-type(1):checked ~ .carousel__track {
  -webkit-transform: translateX(-000%);
          transform: translateX(-000%);
}
.carousel__activator:nth-of-type(1):checked ~ .carousel__slide:nth-of-type(1) {
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.carousel__activator:nth-of-type(1):checked ~ .carousel__controls:nth-of-type(1) {
  display: block;
  opacity: 1;
}
.carousel__activator:nth-of-type(1):checked ~ .carousel__indicators .carousel__indicator:nth-of-type(1) {
  opacity: 1;
}

.carousel__activator:nth-of-type(2):checked ~ .carousel__track {
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
.carousel__activator:nth-of-type(2):checked ~ .carousel__slide:nth-of-type(2) {
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.carousel__activator:nth-of-type(2):checked ~ .carousel__controls:nth-of-type(2) {
  display: block;
  opacity: 1;
}
.carousel__activator:nth-of-type(2):checked ~ .carousel__indicators .carousel__indicator:nth-of-type(2) {
  opacity: 1;
}

.carousel__activator:nth-of-type(3):checked ~ .carousel__track {
  -webkit-transform: translateX(-200%);
          transform: translateX(-200%);
}
.carousel__activator:nth-of-type(3):checked ~ .carousel__slide:nth-of-type(3) {
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.carousel__activator:nth-of-type(3):checked ~ .carousel__controls:nth-of-type(3) {
  display: block;
  opacity: 1;
}
.carousel__activator:nth-of-type(3):checked ~ .carousel__indicators .carousel__indicator:nth-of-type(3) {
  opacity: 1;
}

.carousel__activator:nth-of-type(4):checked ~ .carousel__track {
  -webkit-transform: translateX(-300%);
          transform: translateX(-300%);
}
.carousel__activator:nth-of-type(4):checked ~ .carousel__slide:nth-of-type(4) {
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.carousel__activator:nth-of-type(4):checked ~ .carousel__controls:nth-of-type(4) {
  display: block;
  opacity: 1;
}
.carousel__activator:nth-of-type(4):checked ~ .carousel__indicators .carousel__indicator:nth-of-type(4) {
  opacity: 1;
}

.carousel__activator:nth-of-type(5):checked ~ .carousel__track {
  -webkit-transform: translateX(-400%);
          transform: translateX(-400%);
}
.carousel__activator:nth-of-type(5):checked ~ .carousel__slide:nth-of-type(5) {
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.carousel__activator:nth-of-type(5):checked ~ .carousel__controls:nth-of-type(5) {
  display: block;
  opacity: 1;
}
.carousel__activator:nth-of-type(5):checked ~ .carousel__indicators .carousel__indicator:nth-of-type(5) {
  opacity: 1;
}

.carousel__activator:nth-of-type(6):checked ~ .carousel__track {
  -webkit-transform: translateX(-500%);
          transform: translateX(-500%);
}
.carousel__activator:nth-of-type(6):checked ~ .carousel__slide:nth-of-type(6) {
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.carousel__activator:nth-of-type(6):checked ~ .carousel__controls:nth-of-type(6) {
  display: block;
  opacity: 1;
}
.carousel__activator:nth-of-type(6):checked ~ .carousel__indicators .carousel__indicator:nth-of-type(6) {
  opacity: 1;
}


.carousel__control {
  height: 30px;
  width: 30px;
  margin-top: -15px;
  top: 50%;
  position: absolute;
  display: block;
  cursor: pointer;
  border-width: 5px 5px 0 0;
  border-style: solid;
  opacity: 0.35;
  opacity: 1;
  outline: 0;
  z-index: 3;
  color: #fafafa;
  mix-blend-mode: difference;
}
.carousel__control:hover {
  opacity: 1;
}
.carousel__control--backward {
  left: 20px;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}
.carousel__control--forward {
  right: 20px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.carousel__indicators {
  position: absolute;
  bottom: 20px;
  width: 100%;
  text-align: center;
}
.carousel__indicator {
  height: 10px;
  width: 10px;
  border-radius: 100%;
  display: inline-block;
  z-index: 2;
  cursor: pointer;
  opacity: 0.35;
  margin: 0 2.5px 0 2.5px;
}
.carousel__indicator:hover {
  opacity: 0.75;
}
.carousel__track {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 0;
  margin: 0;
  transition: -webkit-transform 0.5s ease 0s;
  transition: transform 0.5s ease 0s;
  transition: transform 0.5s ease 0s, -webkit-transform 0.5s ease 0s;
}
.carousel__track .carousel__slide {
  display: block;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
}

.carousel__track .carousel__slide:nth-of-type(1) {
  -webkit-transform: translateX(000%) translateZ(0);
          transform: translateX(000%) translateZ(0);
}

.carousel__track .carousel__slide:nth-of-type(2) {
  -webkit-transform: translateX(100%) translateZ(0);
          transform: translateX(100%) translateZ(0);
}

.carousel__track .carousel__slide:nth-of-type(3) {
  -webkit-transform: translateX(200%) translateZ(0);
          transform: translateX(200%) translateZ(0);
}

.carousel__track .carousel__slide:nth-of-type(4) {
  -webkit-transform: translateX(300%) translateZ(0);
          transform: translateX(300%) translateZ(0);
}

.carousel__track .carousel__slide:nth-of-type(5) {
  -webkit-transform: translateX(400%) translateZ(0);
          transform: translateX(400%) translateZ(0);
}

.carousel__track .carousel__slide:nth-of-type(6) {
  -webkit-transform: translateX(500%) translateZ(0);
          transform: translateX(500%) translateZ(0);
}


.carousel--scale .carousel__slide {
  -webkit-transform: scale(0);
          transform: scale(0);
}
.carousel__slide {
  height: 100%;
  position: absolute;
  opacity: 0;
  overflow: hidden;
}
.carousel__slide .overlay {height: 100%;}
.carousel--thumb .carousel__indicator {
  height: 30px;
  width: 30px;
}
.carousel__indicator {
  background-color: #fafafa;
}

.carousel__slide:nth-of-type(1),
.carousel--thumb .carousel__indicators .carousel__indicator:nth-of-type(1) {
  background-size: cover;
  background-position: center;
}

.carousel__slide:nth-of-type(2),
.carousel--thumb .carousel__indicators .carousel__indicator:nth-of-type(2) {
  background-size: cover;
  background-position: center;
}

.carousel__slide:nth-of-type(3),
.carousel--thumb .carousel__indicators .carousel__indicator:nth-of-type(3) {
  background-size: cover;
  background-position: center;
}

.carousel__slide:nth-of-type(4),
.carousel--thumb .carousel__indicators .carousel__indicator:nth-of-type(4) {
  background-size: cover;
  background-position: center;
}

.carousel__slide:nth-of-type(5),
.carousel--thumb .carousel__indicators .carousel__indicator:nth-of-type(5) {
  background-size: cover;
  background-position: center;
}

.carousel__slide:nth-of-type(6),
.carousel--thumb .carousel__indicators .carousel__indicator:nth-of-type(6) {
  background-size: cover;
  background-position: center;
}

&lt;/style&gt;

&lt;script&gt;
  function isVisible(el) {
        while (el) {
            if (el === document) {
                return true;
            }

            var $style = window.getComputedStyle(el, null);

            if (!el) {
                return false;
            } else if (!$style) {
                return false;
            } else if ($style.display === &apos;none&apos;) {
                return false;
            } else if ($style.visibility === &apos;hidden&apos;) {
                return false;
            } else if (+$style.opacity === 0) {
                return false;
            } else if (($style.display === &apos;block&apos; || $style.display === &apos;inline-block&apos;) &amp;&amp;
                $style.height === &apos;0px&apos; &amp;&amp; $style.overflow === &apos;hidden&apos;) {
                return false;
            } else {
                return $style.position === &apos;fixed&apos; || isVisible(el.parentNode);
            }
        }
  }
  
  setInterval(function(){
    var j=0;
    var elements = document.querySelectorAll(&apos;.carousel__control--forward&apos;);
    for(i=(elements.length - 1);i&gt;-1;i--) {
      if(isVisible(elements[i])) j=i;
    }
    elements[j].click();
  },7000);
  
&lt;/script&gt;

&lt;blockquote&gt;
  &lt;p&gt;In 1988 and MasterCAD was sold to the world by several @ATARI distributors.
MasterCAD was present in several industrialized countries and version 2.0 was presented at the COMDEX in Las Vegas from November 14 to 19, 1988.
In that year the program was reviewed in different specialized publications such as ST WORLD of England, ST INFORMER, STAR, CURRENT NOTES of the United States totaling 17 pages of dedication by them.
Due to the limited presence of Atari computers in the professional world, despite the power of the Atari 1040 ST, it was decided to opt for the support of the Apple Latin America initiative for local developers and an agreement was reached with Atari Venezuela leaving them the MasterCAD product in the ATARI environment as far as the development had reached and continue with the technology they had developed in Macintosh, which was undoubtedly a larger market.
Thus began the development of a beta version of ArchiDOT which they called User’sCAD, a considerably more powerful and user friendly product.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;In 1989 the development of the pilot project of a product that was thought to be called user User’sCAD and that later would be launched on the market under the name of ArchiDOT (Architectural Design Oriented Tool) began.
Already here it was realized that the development of the product should be oriented only to architectural design and not pretend to solve problems of other engineering, in order not to complicate the tool pretending to also solve different thought processes and running the risk that the tool would no longer be intuitive.
The program was based on Mac II and Mac SE hardware with the support of the A.C.E. program of APPLE Corp represented in Venezuela by PLUS SISTEMAS.
This development, still in Alpha phase, was presented at the WORLWIDE DEVELOPERS CONFERENCE held in San Jose California in May 1989, receiving comments of praise from the representative of APPLE Latin America and other members of the Apple Staff as well as from the representatives of the Tecnológico de Monterrey.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;In 1990 the CADD Room was inaugurated at the Simon Bolivar University.
Hernan to date had spent 20,000.00 architect-hours of analysis and 11,000.00 hours of programming accumulated from the origin to User’sCAD, an architecture-oriented CAD.
Its version ß3 participated in the Latin American Software contest in May 1990, competing with the finished applications and being in sixth place with mention (first place in CAD), receiving comments of praise from Apple Computer’s staff representatives. In December 1990 it was presented with a booth at the DATA 90 exhibition in Miami, Florida. User’sCAD was selected in 1991 as the resident application in the laboratories of advanced design techniques at the School of Architecture of the Simon Bolivar University, Caracas, as a subject of the curriculum for two quarters.
At that time the application, for marketing and identification reasons, the name User’sCAD was replaced by ArchiDOT 2.0 (Architectural Design Oriented Tool).
In Venezuela alone, 150 architecture and construction companies successfully produced drawings with the program and
successfully with Hernán’s program and consulting services.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;In 1992 a work done in ArchiDOT was presented at Harvard University.
Diego Diaz, using a Mac IIci of the time and ArchiDOT version 3.0, presented his independent study work as part of his master’s degree at Harvard University and received an evaluation and recommendation of the software by the computer lab of the GSD (Graduate School of Design).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;In 1993 CADSOFT, the company founded by Hernan, starts again the international marketing with the opening of the Spanish market and ArchiDOT passes the necessary quality control tests for this demanding market.
Our distributor in Spain: The company Microgestió in Barcelona is in charge of distributing the software in their authorized Apple stores.
On the other hand, also in 1993, Architect Carlos Pollak (Head of CADD USB Room) recently presented a paper at the World Congress of Architectural Education (Prague 1993) on the use of ArchiDOT in design education. As a result of the good role played by the product, Apple Czech Republic showed interest in distributing it in that country.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;Between 1994 and 1995 ArchiDOT was shown to several software houses in the United States and attracted the interest of Deneba Software.
ArchiDOT was written up to that time in Symantec Pascal, a good language that was used to its full potential but was clearly insufficient for the development of a world class CAD version.
They ported, through the use of the PtoC converter, the Pascal code and the mathematical algorithms of ArchiDOT to the C++ language in its implementation “Code Warrior” of Metrowerks, to give birth to a much superior application in speed and performance, generating laboratory versions that were tested by several users among which I was. It was amazing at that time the image quality that we could achieve with that version that could only be surpassed with render engines years later.
The conversion process from Pascal to C++ was in charge of Eng. Federico Zappi.
The next step was the development of the new interface that was in charge of Architect Hernan Pisani and Mr. Doug Levy, vice-president of Deneba Software. All this happened after signing a publishing contract with Deneba Software, which gave birth to Deneba CAD.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
          <author>by Matt Sephton</author>
          <pubDate>Fri, 09 Apr 2021 00:00:00 +0000</pubDate>
          <link>https://blog.gingerbeardman.com/2021/04/09/history-of-deneba-cad/</link>
          <guid isPermaLink="true">https://blog.gingerbeardman.com/2021/04/09/history-of-deneba-cad/</guid>
        </item>
      
    
      
        <item>
          <title>Changing the size of toolbar items using ResEdit</title>
          <description>&lt;p&gt;I just finished increasing the size of toolbar icons in Deneba artWorks from 24x16 to 24x24.&lt;/p&gt;

&lt;p&gt;Easily done by finding the dialog that contains these icons, and resizing the canvas of each related PICT.&lt;/p&gt;

&lt;p&gt;Several trips between ResEdit and Photoshop (version 1.0!) and I was done.&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/macintosh-toolbar-resedit-1.png&quot; alt=&quot;PNG&quot; title=&quot;Toolbar size before and after editing&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This is to make the tool buttons easier to tap with my thumb when running System 7 on iPad.&lt;/p&gt;

&lt;p&gt;I love this “hackable” nature of early Macintosh systems. Palm OS is very similar in that regard.&lt;/p&gt;

&lt;p&gt;Why moan about an app not being to your liking when you can DIY!?&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/macintosh-toolbar-resedit-3.png#pixel&quot; alt=&quot;PNG&quot; title=&quot;Editing the image of a toolbar item using ResEdit&quot; /&gt;&lt;/p&gt;
</description>
          <author>by Matt Sephton</author>
          <pubDate>Sun, 28 Mar 2021 00:00:00 +0000</pubDate>
          <link>https://blog.gingerbeardman.com/2021/03/28/changing-the-size-of-toolbar-items-using-resedit/</link>
          <guid isPermaLink="true">https://blog.gingerbeardman.com/2021/03/28/changing-the-size-of-toolbar-items-using-resedit/</guid>
        </item>
      
    

  </channel>
</rss>
