Retro Fix: A Purgatory of TRS-80 Model 1 Repairs

As I've mentioned before, one of my favorite pastimes is vintage computing. I take particular interest in early connect-to-TV 8 bit microcomputers (including the short-lived Mattel Aquarius, for which I recently developed an extremely thorough, free modern online visual designer to assist fellow Aquarius artists and developers).

And while I'm mostly a software guy, the aging nature of these vintage electronics leads to inevitable hardware faults and necessary maintenance, therefore it is still vital to be skillful on the hardware side as well. I recently wrapped up the most strenuous restoration project to date — an original TRS-80 Model I computer from 1977 with all the bells and whistles from that era. I don't usually document or write about my repair projects or 8-bit endeavors since I do it purely for the fun of it and personal enjoyment, but this was such a long and convoluted journey of highs and lows that I figured I should write a blog while aspects of it are still fresh in my mind. There are a lot of resources for TRS-80 computers out there already, but perhaps my shared experience will be of value or help to others trying to diagnose their own sets. If you have any questions, please feel free to ask in the comments. Read Full Article

Apple Muncher Project Postmortem: Developing for Panasonic VIERA Connect SmartTV (Part 4)

This is the final part of a four-part series detailing my personal experience developing an indie game for Panasonic’s obscure VIERA Connect television app market years ago.

In the first part of the series, I detailed the pains of becoming a VIERA Connect third party developer and struggles of setting up the rigid development environment required by Panasonic. For the second part, I documented the development process of actually creating a game using the often restrictive VIERA Connect framework. The third part of the story focused on the obstacles of actually publishing the app to the market. This part discusses the aftermath. Read Full Article

How To Fix OBS Studio and ZoomIt for Screencasts (Double Cursor Bug)

 

If you have ever tried using OBS Studio in conjunction with any realtime magnification tools—such as the LiveZoom feature of the excellent and free ZoomIt utility by SysInternals—you'll find that there is quite a frustrating issue with it. While recording with OBS Studio, if you want to zoom into the mouse location using a magnifier app, you will get a second phantom mouse cursor that appears in the recording relative to the enlarged version. This is because OBS is still rendering the native system mouse relative to the display resolution, while the enlarged cursor is being simultaneously rendered to the screen relative to the zoomed in coordinates.

This problem has generated a number of discussions over the years and has been especially problematic to users wishing to create screencasts and related materials. There have been complaints, bug reports and suggestions on how OBS Studio could internally resolve the problem. However, to date there has not been any proper solution offered. The general counter-argument has been that this is a very isolated use case and that other commercial products like Camtasia ($249 USD) would be much better suited for this scenario. But for users already familiar with OBS or not wishing to invest time and money into other software products, I have found that professional screencasts can be created just fine via OBS as long as we can overcome the double cursor bug. Here is what I came up with as a makeshift solution.

Fixing the Double Cursor Bug when Zooming in OBS

To get around the cursor bug problem, we will setup a new OBS scene collection with two scenes. One scene will be setup to record the display with the mouse cursor, and the other without the mouse cursor. Using a shared keyboard shortcut and the transition feature of OBS, we will be able to automatically switch scenes when zoomed in or out so that only the enlarged render of the cursor will appear while magnified.

For this tutorial I am using OBS Studio 22.0.2 and ZoomIt v4.5, but you will find other magnification apps exhibit the same double cursor issue when used with OBS and should be able to easily adapt these instructions for those other utilities. These steps only need to be completed one time; you can then load the scene collection at any time to use these settings.

  1. Create a new scene collection by selecting Scene Collection → New from the top file menu. Give the collection a name, such as "Screencasting" and click OK.
  2. For clarify, let's rename the default scene to "Scene (With Cursor)" by right-clicking on it and selecting Rename.
  3. Add a second scene by clicking on the [+] button under the Scenes list and name it "Scene (Without Cursor") then click OK.
  4. Select the first scene again—Scene (With Cursor)—and then click the [+] button under the Sources list and select Display Capture.
    1. Note: Other source types will not allow you to capture the full screen as you see it. To capture magnification features of other utilities, you must use Display Capture.

    Give the selected Display Capture a more descriptive name, such as "Display Capture (With Cursor)" and then click OK.
    When the Properties window appears, make sure that "Capture Cursor" is checked and—if you have more than one connected display—that you have selected the correct display that you wish to capture, then click OK.
    Repeat steps 4-6 for the second scene—Scene (Without Cursor)—but name the source "Display Capture (Without Cursor)" and make sure that "Capture Cursor" is unchecked.
    Open up the magnifier tool to configure a toggle shortcut. In ZoomIt, click on the LiveZoom tab and then assign a unique keyboard shortcut such as CTRL+SHIFT+ALT+X.  Do NOT click OK yet as we don't want to enable the shortcut until after we also configure it in OBS.
    Click on "Settings" in OBS Studio, then click on Hotkeys and finally enter the same keyboard shortcut under Transition as you did in the zoom utility (e.g., CTRL+SHIFT+ALT+X). Then click OK.
    You can now click OK within ZoomIt as well to activate the utility, but don't press the shortcut just yet.
    Back inside of OBS Studio, click to select "Scene (Without Cursor)" from the Scenes list and then click on the Studio Mode button.
    With Studio Mode open, click to highlight "Scene (With Cursor)" and then click on the Transition button in the center of the screen. This will establish our transition process between the two scenes and ready it for use with our zoom utility and matching shortcut.

    1. Note: Make sure that "Swap Preview/Output Scenes After Transitioning" is activated in the Preferences button next to Transition, which it should be by default.

    Now you can start the recording, minimize OBS Studio and then toggle the magnification whenever needed using the keyboard shortcut. Only a single cursor will be recorded, as expected. The keyboard shortcut for Transition will not work if you currently have OBS Studio in focus, so either click onto a different app or minimize OBS before using the magnification shortcut.

    NOTE: After switching scenes or relaunching OBS, you may need to repeat steps 11-12 to prepare it for use again. You can also add audio input/output sources to both scenes for capturing audio.

    Although this is not the most desirable solution, it does solve the problem pending any official fix. Since OBS Studio is open-source, anyone could theoretically create a fork of the code to implement a workaround internally or perhaps a standalone plugin, time-permitting.

Guide: Fix Epson Scan Not Responding Windows 10 (2018) - V300 V600 V700

 

The 2018 "feature update" for Windows 10, also known as Update #1803, breaks the Epson Scan Utility software. This affects all compatible devices including Epson's dedicated line of scanners from the V300 to the V600 on up.

When the problem occurs, you'll see a small Epson window flicker in the bottom corner of the screen and sometimes bounce around sporadically. The app locks up and your only recourse is to terminate the software through the Task Manager and then power your device off and on again. This happens most commonly after switching to a different application and then back.

Epson has acknowledged that this problem affects most of their products and they've reportedly escalated the matter. Until a fix becomes available through Epson or Microsoft, the quick fix is to simply run it in administrative mode. Here are the complete steps:

  1. Download the latest Epson Scan package from Epson's website for your respective device. You can find the correct download by entering the device's model number into the epson.com site and then clicking on the "Support" link. From there, locate Scanner Driver and EPSON Scan Utility and click "Download." If a security warning pops up, click "OK" or "Keep" to download the file to your computer.
  2. Once downloaded, install the program to your computer using the default options. This process will place a new shortcut to the software on your desktop, which will make the next steps a little easier. If asked to restart your computer, please do so.
  3. Right-click on the Epson Scan shortcut on your desktop and select "Properties."
  4. Click on the "Compatibility" tab.
  5. Click the button at the bottom labeled: "Change Settings for All Users" and if prompted for confirmation, click "Yes."
  6. Check the option "Run this program as an administrator."
  7. Click "OK," then "OK" again to close the properties.

You should now be able to launch Epson Scan Utility again and use it without issue. Depending on your user account settings, you may have to click "Yes" if prompted with a security alert.

The first time you launch the application after making these changes, you may also receive a "compatibility alert." Select "Yes, this program worked correctly" to close it.

Addendum - No Icon on Desktop

If you do not have a scan icon on your desktop, you can modify the executable directly. To do this:

  1. Press WINDOWS KEY + R to open the Run dialog.
  2. Enter: c:\windows\twain_32\escndv\ then press Enter or click "OK."
  3. When the Explorer window appears, right-click on the escndv.exe icon and select Properties. Then you can continue the tutorial as described above.

Addendum - Disable Security Prompt on Launch

If you have User Account Control enabled, you'll receive a confirmation box each time you launch the app in administrative mode. Although a minor nuisance, there are a couple solutions.

When the alert appears, you can click on "Show More Details" and then "Change when these notifications appear." From there, you can lower the level to the second notch to still receive the alert but without dimming the entire desktop. You can alternatively set the option to "Never Notify" to remove the alert entirely. Be aware that this is a global setting and unless you are an advanced user I don't recommend disabling it, since the alerts can help prevent malware installation.

A more intelligent solution is to use a third party utility or the task scheduler to disable the alert on this application exclusively. Since this can be a somewhat more involved process, I will refer you to an excellent tutorial from Raymond.cc, which thoroughly covers numerous methods of doing so. You'll find the tutorial link below.

Raymond.cc - 4 Ways to Disable User Account Control (UAC) for Specific Software in Windows

How to Increase Default Zoom Level in Outlook 2016

Although there are many accessibility options integrated into modern operating systems and software applications, increasing the default zoom level of received messages in Microsoft Outlook remains surprisingly complicated and inhibiting. I have recently been assisting with computer setup and tutoring of a friend who has macular degeneration, which makes it increasingly difficult to read small text. One of the more difficult tasks was personalizing Outlook 2016 to make the baseline text much larger with minimal required user interaction. Below is a summary of my tribulations and my most recommended way to configure Outlook for those with advanced vision impairment.

These instructions should be equally applicable to Outlook 2010 and Outlook 2013, but have not been tested.

The Wrong and Ineffective Ways to Zoom Messages

There are many general approaches toward increasing the text size in Outlook that I would not recommend. Some of these approaches include:

Increase the global scale and layout.

Description: To increase the general text and icon size throughout Windows, you can increase the scaling factor within Display Settings. The default scale is 100%, but you can quickly adjust it to 125%, 150% and 175% (or even up to 500% via custom scaling). This is similar to setting the "Large Text" option on MacOS and applies globally to all compatible interface elements.

What's Wrong: While this is a helpful technique to generically improve readability across many applications and processes, it has little impact on the UI in Outlook and can actually result in a blurry text appearance as if being artificially scaled. Furthermore, since the majority of emails are HTML-formatted and controlled via CSS, they will appear no different regardless of this global scale factor. There is no level of granular control over this approach either and the effects of changing the default scale factor will vary depending on the software application.

Lower the screen resolution.

Description: Most monitors these days are designed around a relatively high resolution of at least 1920 x 1080 (1080p). As such, lowering the resolution (e.g., down to 1280 x 720) will uniformly increase the size of all elements shown. On a whim, this may seem like a reliable "quick fix" to make everything bigger, but it is actually the least recommended approach out there.

What's Wrong: Unlike traditional CRT monitors that can look sharp at any supported resolution, LCD/LED monitors are physically designed to support one specific resolution. Altering it will almost always result in blurred pixels and decreased clarity, which is counterproductive when attempting to improve readability. Also, since this is a hardware-based adjustment it will impact all aspects of the system equally with no room for making individual adjustments on a per-application basis. In addition, lowering the resolution diminishes the actual on-screen area and reduces the overall number of pixels that could otherwise be put to use enhancing text size and readability.

Force plain text mode and increase the default font size.

Description: Outlook includes the option to adjust the text size for reading and composing plain text messages. (via Options > Mail > Stationary and Fonts) This is effective at enlarging and customizing the font, and will apply to all plain text messages sent or received.

What's Wrong: The obvious disadvantage to this approach is that it requires that all messages be read as plain text (via Options > Trust Center > Email Security > Read all standard mail in plain text). Otherwise, the  vast majority of messages will still use a fixed font size as defined within the embedded HTML/CSS. More annoyingly, when Outlook is configured to only show emails as plain text, any HTML-formatted messages will spit out the HTML source code along with the message and create an unreadable mess. Since most messages are HTML-formatted, forcing plain text output in Outlook causes a serious disruption in readability.

The Right and Automated Way to Zoom Messages

When you open up an email message in Outlook by double-clicking, a Zoom button appears in the top toolbar. Clicking this button allows you to specify the zoom level for that specific message. A shortcut to achieve the same action, as common across most applications, is to hold in CTRL and then roll the mouse wheel forward to zoom in and backward to zoom out (this also works in the reading pane view directly). Unfortunately, there is no integrated way to set the zoom level across all email messages. This means that when you close the zoomed message, any other you open will revert back to the standard 100% zoom level.

To achieve an automated system that zooms all emails by a certain percentage when opened (including HTML-formatted messages) without relying on third party products, we will have to rely on some simple VBA scripting. Note that there is no way to manipulate the "reading pane" directly, so this method is only applicable when actually opening messages via double-click.

Although the script is simplistic and provided below, half the battle is getting everything to behave happily given the heightened security restrictions of macros in recent Microsoft products. I will cover the full process of doing so in a safe and secure manner.

Step 1 - Enable Developer Options

To work with VBA macro scripts in Outlook, you first need to enable the Developer tab.

  1. Select File → Options.
  2. Click on Customize Ribbon from the left-hand menu.
  3. Under the "Customize the Ribbon" section, check the box next to Developer and click OK.

Step 2 - Enable Digitally Signed Macros

By default, Outlook disables all macros. This is to prevent malicious code from being covertly executed, which was a common threat in earlier versions of Microsoft Office. In order to run our own custom macro, we will need to enable support for digitally signed macros. This will ensure the application remains secure while allowing us to run our own digitally signed macro (as further precaution, the user will also be prompted before any digitally signed macros are run for the first time).

  1. Select File → Options.
  2. Click on Trust Center from the left-hand menu.
  3. Click on the "Trust Center Settings" button.
  4. Click on Macro Settings from the left-hand menu.
  5. Select the option: Notifications for digitally signed macros, all other macros disabled and click OK.

Step 3 - Create a Digital Signature

To sign our macro and enable its use in Outlook, we will need to create a unique digital signature on the PC that Office is installed on. Microsoft provides a utility buried in the Office folder to do just that.

  1. Navigate to your main Office installation directory. Below are example default paths for Office 2016:
    1. 64-Bit Install: C:\Program Files\Microsoft Office\Office16\ (or C:\Program Files\Microsoft Office\root\Office 16\)
      1. Alternate Possibility: C:\Program Files\Microsoft Office\root\Office 16\

      32-Bit Install on 32-Bit Operating System: C:\Program Files\Microsoft Office\Office16\

      1. Alternate Possibility: C:\Program Files\Microsoft Office\root\Office 16\

      32-Bit Install on 64-Bit Operating System: C:\Program Files (x86)\Microsoft Office\Office16\ 

      1. Alternate Possibility: C:\Program Files (x86)\Microsoft Office\root\Office 16\

      Locate the file named SELFCERT.EXE and double-click it to launch.
      Read the notice and then enter a certificate name, such as your name or OfficeZoomMacro, then click OK.

      Step 4 - Write the Macro

      Now that we have most of the legwork complete to run our macro, we can get to the heart of the task and create the macro itself.

      1. Back in Outlook, click on the Developer tab and then click on the Visual Basic button (ALT+F11).
      2. In the Project Explorer on the left-side, select Project1 → Microsoft Outlook Objects → ThisOutlookSession to open the script editor for the internal Outlook macro.
      3. We need to ensure the necessary References are added or else the code will error out. Click into the code editor and then select Tools → References. In the list that appears, check the following options and then click OK (already checked items will appear at the top; if you are using a different version of Outlook the '16.0' will be a different number):
        1. Visual Basic For Applications
        2. Microsoft Outlook 16.0 Object Library
        3. OLE Automation
        4. Microsoft Office 16.0 Object Library
        5. Microsoft Word 16.0 Object Library
        1. Now we can add the macro code. Copy and paste the following into the code editor. Notice the line "ZoomLevel = 175" - This is the line you modify to change the percentage of zoom that you wish to apply by default to every opened message (175 = 175%).

        1. Let's add the digital signature we created earlier. Click Tools → Digital Signature.
        2. From the Digital Signature window, click Choose. The certificate you created earlier should appear (click "More Choices" to choose it, if it is not already selected). Click OK, then click OK again to close the Digital Signature window.
        1. IMPORTANT: Back in the editor, press CTRL+S or click on the Save icon in the toolbar to save/re-save the macro after applying the digital signature. This will prevent a signature verification issue that affects some instances of Outlook when you attempt to use the macro for the first time. [See comments for additional discussion and what to do if you open Outlook and receive the error: "An error occurred while attempting to verify the VBA project’s signature. Macros will be disabled."]
        2. With the script saved, close the Visual Basic editor.
        3. Close Outlook. You will likely be prompted to save the VBA project again, click Yes. This two-process save (once in VBA and once when closing Outlook) can be necessary to properly apply the digital signature for subsequent use.

        The first time you open Outlook after creating the macro and digitally signing it, you will see a security alert. If you click on the "Show Signature Details" hyperlink you can verify that the certificate is the one previously created. Click "Trust all documents from this publisher" to allow the macro to run, and to prevent the alert from appearing each time you open Outlook. If you ever make modifications to the script, you may need to resign it to prevent it from being detected as suspicious and disabled by Outlook.

        If everything was done correctly, when you double-click on any message (or create a new message) it should now open up in a new window with the specified zoom level automatically applied. You can still override it by using the zoom button or shortcut described in the first section. As noted earlier, you will need to double-click on each message to view the enlarged text size as it is not possible to interface directly with the reading pane to control zoom levels.

        Additional Tasks to Improve Readability for the Vision Impaired

        The macro described above will help ensure that the user can read and compose messages (including HTML-formatted ones) using a default magnification. However, there are some other simple tasks that can be performed to better assist users who are visually impaired. My personal suggestions are below:

        Enlarge Column Heading and Rows & Disable Reading Pane

        The overall UI of Outlook will remain quite small even though the message text will be zoomed in when opened. The main list view of emails can be adjusted to increase column and row text visibility.

        1. Make sure you have the desired folder selected (e.g., Inbox)
        2. Select View → View Settings.
        3. Click the "Other Settings" button.
        4. Click on the "Column Font" and "Row Font" buttons to adjust the text size and formatting, such as increasing the size to 16 pt.
        5. If you wish to disable the reading pane (recommended to ensure the user always views the messages in their zoomed format) you can select the "Off" option under Reading Pane.
        6. Consider also turning off groups by unchecking "Show Items in Groups" to reduce on-screen complexity so that the emails are listed in a simple fashion.
        7. You can also experiment with the "Use compact layout" options in this view, which can have a visual impact depending on the font size and screen resolution.
        8. When done, click OK and then click OK again to close the View Settings window. You can repeat this for other mail folders as desired.

        Modify Conditional Formatting for Unread Messages, Etc.

        Similarly to adjusting the heading appearance above, it is also possible to adjust how the messages appear in the list before being opened.

        1. Make sure you have the desired folder selected (e.g., Inbox)
        2. Select View → View Settings.
        3. Click the "Conditional Formatting" button.
        4. Select the desired view rule such as "Unread Messages" and then click the "Font" button and adjust the text accordingly.
          1. Note that the row font configured in the previous section will still be inherited for aspects like size, but here you can adjust the color and other properties.

          When done, click OK and then click OK again to close the View Settings window. You can repeat this for other mail folders as desired.

          Adjust the Font for New Messages, Reply Letters and Plain Text Compositions

          The following procedure alters the actual font for creating new messages and replying to received mail. Unlike all of the previously offered suggestions, the changes here will also be reflected on the recipient's computer. If you change the font color to maroon and sized to 16 point, the user who receives your message will see that format from their mail reader. The exception is the plain text setting, which is only a local change.

          1. Select File → Options.
          2. Click on Mail from the left-hand menu.
          3. Click on the "Stationary and Fonts" button.
          4. Modify the "New mail messages," "Replying or forwarding messages," and "Composing and reading plain text messages" fonts as desired.
          5. Click OK and then click OK again to close the Options window.

          Read Full Article