Friday, September 11, 2020

MAG-85 Update

MAG-85 Isn't Dead
MAG-85 circuit schematic

While I haven't posted much about my MAG-85 project or blogged about it lately, I have continued to work with it until late 2018, when all my activity shifted toward making a cross-country move from the Sierra Foothills of northern California to Florida. Electronics got roughly pushed aside for activities like packing boxes, painting, minor home repairs, and so on. As it happens, a lot has happened with the MAG-85 that never got posted simply because posting what I do multiplies the time involved in doing it by about 4x, so I wanted to get to a stable point, collect all the information, then post it in one big update.

That was probably a bad choice, versus the do a little, post a little approach I started with.

Presently, I am in my new home and still getting my electronics stuff set up again. I have found the boxes with my MAG-85 stuff and organized them, and my soldering iron is out and in use, though I will not really have an electronics desk till next week or so while I reorganize some things in my "laboratory". I broke down my breadboard MAG-85 that was assembled on my HP Logic Lab--it wouldn't have survived the move as-is, and most of my work has been on my vectorboard assembly lately anyway. I will be reassembling a solderless breadboard version of the MAG-85 again, though, and I'll document that as I do it. I have the breadboard ready to go, in fact.

The major item of work hanging over me is the software--the monitor program. I have all the necessary pieces--the keyboard routines, the I/O routines for the display, the various functions such as reading memory, writing to memory, displaying blocks of memory to the display. It needs to be assembled into a complete program, though, along with the current software to perform setup of the system at power-on. I hope to assemble this into a cohesive "operating system" as I am building up the breadboard. I will do this initially with the NOVRAM as the sole memory, but will expect to adapt that circuit to the use of both EPROM and RAM, so that users can have a system with a secure section of memory. Since I also want to accommodate a variety of memory devices, and later memory expansion beyond the 8K of the original MAG-85, this gets complex enough that I don't want to hold up the development of a monitor for the current design.

Beyond the desktop versions of the system--breadboard or vectorboard--I hope to create a battery-powered handheld version of the design. I have always wanted to have a small 8080-compatible handheld system that I can plink away at while sitting in my easy chair. My current vectorboard version was a step in this direction. It's bulky, but can be used handheld. I can make it smaller, though. The provisions I made for expansion, along with being overly conservative about its thermal design, made it larger and more unweildy than it had to be. So beyond getting a working monitor, I intend to refine the design for handheld use.

Once I'm at the point of having a PCB, I expect to release it as an open design, so that anyone can get a board made without relying on me to produce them. I will release the software under an open license as well, so that a community can run with it.

Among the design changes I am considering (after reaching the point of getting a full monitor and stable basic system) are a display with 4 lines rather than two, to allow a more sophisticated interface for both the machine language monitor, and for a possible Tiny BASIC or Forth addition to the base software.

Wednesday, January 8, 2020

Wider Window Borders in Windows 10

Windows 10 by default uses a 1 pixel border on the active window. Not only that, but it doesn't use a contrasting color to make it stand out. When you combine that with a high resolution display, it becomes impossible to control window sizes with the mouse--just try to get your pointer right on the window border at 4k, especially with a touch screen!

There used to be settings to control this that were easily accessible. No more! Microsoft took those controls away.

Fortunately, you can still use the Registry Editor to control your border widths (as of January 2020). The setting names have changed since Windows 8, though, so older guides to solve this problem don't work any more.

Set a Color
Before setting the width, let's make sure we can see the border. Fortunately, this is still a user-accessible setting, though it's buried in a spot you wouldn't expect.

From your Windows Start menu, select Settings (the Gear-shaped icon).

From Settings, choose Personalization.

In the Personalization Settings, choose Colors.

We need to do two things here. One is to turn on accent colors for title bars and window borders (the bottom red box in my image), and choose a good color for those accents. Mine was set to the light blue by default, I changed it to dark blue on the palette inside the upper red box:

Change the Margin Width
In your windows search bar, type 'regedit'. You'll usually get the Regedit app listed in results by the time you've typed in 'reg'. Click that to start the app. Then, once in Regedit you want to select HKEY_CURRENT_USER to get its drop-down, then "Control Panel" in that drop-down, then "Desktop". In succinct form:
HKEY_CURRENT_USER->Control Panel->Desktop.

In the right pane, you will see two settings that start with FocusBorder. These are the width and height settings for the window you're currently focused on on the desktop. By default, Windows 10 has these set to 1. Which is pretty much invisible, especially on a 4K or other high resolution display. Fortunately, you can watch the changes directly on your regedit window to see how your chosen settings work. Double click on the value name to change it--a dialog will come up with a box that lets you set the value. By default, it is looking for a hexadecimal (base 16) value. If you don't want to deal with that, click the button on the right to have it read a decimal value. Click OK to set the value.

Once you have a size set that you like, you can quit Regedit and your settings will remain. You don't have to relogin or reboot to make the change. Now whatever window is your current window will have a wider border that you can see.

[Click for Full Size Image]

On my 4K display, I found the border became reasonably visible with a value of 16 (10 in hexadecimal). It wasn't too hard to grab with touchpad or touchscreen, but I widened it up to 32 (20 hexadecimal), and it was much easier to see and to manipulate. I could easily see setting it to 50 or 60 (in decimal) if I wanted it to be more easily visible.

I hope that helps you solve your problem. If you have any problem with these instrusctions, leave a comment or drop me a note at saundby at gmail.