Friday, December 7, 2012

Download A Virtual Visual 1050

Welcome back to 1984!  
Download a digital copy of this 8-bit personal computer...

Updated: April 12, 2014

     Ever wanted to own and operate a 30 year old personal computer?  Me neither!     The link above provides a customized emulation package, ready-to-run,  right out of the box. So now you have no excuse! 

    Through the portal of this digital representation, you'll be able to peer back into a time, before color consoles, when 60K (that's not a typo) of RAM was thought to be good, when booting from a 5 1/4" floppy disk was high technology, when eight little bits changed a lot of lives, and made some of us rich.
Figure 1 - Visual 1050 Personal Computer. Only $2,695 while they last!

          The link above supplies a digital replica of an actual Visual 1050 that sits on my desktop (serial number 486).  That's thanks to the ROM based emulation of the system. I still own and frequently run the original hardware, and have compared the look and feel of the MeSs emulator with the actual eight-bit microprocessor, and have to say the resemblance is uncanny.  This is the only emulator on the web that uses the programming inside the Visual 1050's own embedded chips. That means this virtual Visual 1050  runs the same speed as the hardware, and almost exactly replicates the graphical appearance of the console.  If fully exploits the 640 x 300 pixel graphic abilities of the Visual 1050's green-on-black monochrome display.

Six 5 1/4" floppy diskettes 400K each. 
At no extra charge.
 <------Real 5 1/4" Floppy Diskettes For Real Programmers!
 The Visual 1050 came with a bundle of software; six diskettes full of useful utilities, source code, and applications.  Thanks to techie friends of mine, you will find here digital images of every 5 1/4" diskette that came with my own Visual 1050, when it was in mint condition! Collect all six.  They may be worth something when Ken Griffey Jr. is finally inducted into the Hall of Fame!

Read the manuals!#?$!

 All The Documentation!  ------>
     If you're reading this, it must mean you did something wrong.  And now you have to go back to 1984 and do it right, like in that movie 'Ground Hog Day' with Bill Murray.  If you're going to do it right, you must read these manuals.  You can, because they are all here thanks to other techie friends of mine!

The Visual 1050 really represents all top-of-the-line eight-bit microprocessors of that era.  So don't worry, the skills you gain here are easily transferable to 1980, and even before! 

    Let's assume you've already downloaded your new eight-bit microprocessor and unboxed it to the root of your C: drive (sorry version 1.0 is hard-coded there).  The first thing we need you to do is to swear allegiance to the operating system for which it stands.  Do you agree that CP/M Plus by Digital Research is the world's best eight-bit operating system?  Would you admit that CP/M Plus is as American as apple pie, Semper Fi, and Marty McFly?  Will you agree that the 4Mhz Zilog Z80 eight-bit chip is all anybody really needs to run an honest and profitable business?  Would you agree that the Visual Technology model 1050 was actually a better value than the IBM model 5150 (the first PC) when you consider the Visual 1050's banked memory system and it's bundle of software at no extra charge? Oh, and if you are in high school, do you agree to stop using your 6Mhz Zilog Z80 driven Texas Inststruments TI-83 Plus handheld calculator and, instead, start using your virtual Visual Technology 4Mhz Zilog Z80 driven, CP/M Plus enhanced, personal micro-computer for all your  college entrance exams, including  the PSAT, SAT, ACT, IB, and AT? If so, then you are hereby granted a non-gaming managers license to exploit the limitations of your virtual Visual 1050 Personal Computer for an unlimited amount of time for personal use, professional gain, or peer disdain.

   Let's say you've downloaded the 226 MB package i've made available over at Kim DotCom's new webservice Mega. It'll unzip to a folder called 'Visual' with contents as shown in Figure 2 below.     I recommend starting with the QuickStart guide. It'll basically tell you to put the package so the path is C:\Visual, because it depends heavily on shortcuts that remain hard-coded until i figure out how links can be automatically updated when moving the link.  After that, be sure to move 'setvpath.bat' so the path is C:\setvpath.bat because this was the easiest way i could think of to coordinate all the paths in the system.  Once that's done,  you can start with the 'menus' or 'command' shortcuts.  The two .batch files are customizable, and are called from other .batch files inside the _1050 folder.   You can set some universal variables in 'vpath.bat', but you don't need to touch it for this demo. Be sure to leave 'vpath.bat' where it's at, but be sure to move 'setvpath.bat' to C:\setvpath.bat!   

Figure 2 - C:\Visual
      I don't know about you, but i believe the Visual 1050 has enough processing power to beat the game of roulette, making a college education completely unnecessary.  If you too believe that an eight-bit computer can make a college education completely unnecessary (like Bill Gates believed in 1975) then i invite you to come to Washington State where it's now legal to possess up to an ounce of marijuana...and light up.   I would also invite you to boot up your new virtual Visual 1050 using this nifty little .batch driven front-end i've devised to make it easy to go back to 1984 (unless you overshoot and go back to 1975).  It's not exactly a DeLorean, but in exactly four key-strokes,  it can put you on the command line of a new career that can go backwards as easily as it can go forwards.

    Click on the 'menus' shortcut seen in Figure 2 above to pull up the main menu seen here in Figure 3a below:

Figure 3a - Main Menu
      This is a .batch driven (therefore customizable) front-end that makes it easy to use your new virtual Visual 1050. You'll see how i  deal with various combinations of virtual diskettes and virtual hard-disks.  I don't know who needs more than an A: and B: drive, but there's a C: drive available as well thanks to Rich Bramante and Wayne Warthen.   

     To get familiar with CP/M, let's select option #6 from the Main Menu (Figure 3a);
      Original Bios 1.4:
Figure 3b - Original disks, BIOS 1.4
     The six diskettes on this menu came bundled with the original Visual 1050, and are all in virgin condition, as they arrived from the manufacturer (Visual Technology).  BIOS version 1.4 was the last/latest developed in support of the actual firmware, and supported the 'Winchester' external hard-drive.

    At this point you are four keystrokes away from booting back to future.   I'll give you the sequence now, to boot CPMPLUS1 (option #1):


How hard was that?  This four-keystroke sequence get's you through the following two informational splash screens (Figures 4 & 5), and gives you the default boot screen in Figure 6:
Figure 4
Figure 5



Figure 13 - directory contents of CBASDEMO virtual diskette

        So you've booted and checked the contents of the diskette with the dir (directory) command:


   Now, to run the demo, call on it like this:  

 A>submit 1050demo
Figure 15 - what you see when 1050DEMO starts to boot the demo program

Figure 16 - demo program marketing the Visual 1050 to "professional" and "managers".

Figure 17 - demo revealing pixel graphics.  640 x 300.  Nice! 

    The demo program runs for about ten minutes, over and over again in a loop.  To exit, just type ctrl-c  key combination. 

Saturday, November 24, 2012

Visual Technology Earliest Press Release


      By Barbara Wierzbicki, IW Staff

      The eight-bit world is not dead; at least that's what Visual Technology Incorporated of Tewksbury, Massachusetts, is gambling on. 

     Visual Technology introduced its new Visual 1050 Personal Computer System at the May NCC show in Anaheim, California.  Priced under $3000, the Visual 1050 is geared to business professionals and managers, and it is intended to computed with the Apple and IBM PC. 

      To further cover its bets, the company has included a substantial library of quality software at no extra charge. The Visual 1050 comes with the Multiplan spreadsheet package, WordStar 3.3 word processor, MailMerge 3.3 form-letter processor, GSS-Graph graphics package, GSX-80 graphics device driver, CBASIC programming language, a DEC VT-100 terminal-emulation package and the new CP/M + operating system. 

     Visual 1050 application packages are specially adapted to share data and perform as integrated software.  Users can prepare a budget using Multiplan, pass it to WordStar or translate it into charts with GSS-Graph.
   "We're a little concerned about the life expectancy of eight-bit machines," states company spokesman Marc Peterson, "yet we feel software is more important than the computer the software runs on."

      Visual 1050 hardware includes two 400K disk drives, 96K RAM expandable to 160K, high-resolution 640 by 300 bit-mapped graphics, monochrome display, printer port, modem port, Winchester-disk expansion port and detached 93-key keyboard. Options include a plug-in dual-port serial card, memory-expansion hardware and a 5-megabyte hard disk.

     Visual Technology is confident about the market potential of it's low-cost personal computer.  "Kaypro and Osborne bundle software with their machines, but our system is more sophisticated. At the same time, because o fall the software we're including with the Visual 1050, we can compete with computers like the Apple and the IBM PC.  Visual Technologies provides the same answers at a lower price," Peterson claims.

     Perhaps best known for it's graphics terminals, Peterson acknowledges this is a new market for Visual Technology, but adds that the firm is well qualified because of its "strength in [manufacturing and marketing] video-display devices.
     Visual Technology will begin shipping it's Visual 1050 Personal Computer System in limited quantities in August. Priced at $2695, the machine will be available through computer stores in September.

Visual 1050 Programmer's Technical Manual

Sales Training Manual

Visual 1050 Users Manual


Magazine Ads 1984


Microsoft's First Spreadsheet; MultiPlan

Microsoft MultiPlan running in M.e.S.s. emulator
A Darn Good Spreadsheet. 

     In a 2002 PC World article entitled "Who Knew Excel Could Do That? Top Ten Tips",  tip #9 describes how to skip from one data input cell to another, saying, "Wouldn't it be nice if the user could just press the Tab key to jump to the next input cell? This type of thing is fairly easy to set up. The key is to unlock the input cells, and then protect the worksheet."    But 21 years earlier, in 1981, Microsoft had already implemented such a feature in it's very first spreadsheet called MultiPlan. 

     This is a way of saying this is a darn good spreadsheet. Another way of saying it is to recall an article i once read (can't find the article at the moment) in which Bill Gates was asked what he considered to be mistakes he'd made early in the history of Microsoft.  Notably, he said he pumped too much research and development into a spreadsheet (MultiPlan) for the eight-bit chip.   MultiPlan for sixteen-bit chips (DOS) shipped September 1982, 13 months after the IBM PC shipped, and four months before Lotus 1-2-3 shipped.  The copy of MultiPlan that still runs on my still running eight-bit Visual 1050 has a copyright date of 1981.  This suggests that at the very time MultiPlan was shipping for eight-bit computers, it could have been shipping for the IBM PC and clones.

     It's hard to say what would have happened if the better featured Lotus 1-2-3 came out four months after Multiplan, instead of the other way around. But Microsoft had to abandon the 16-bit DOS world to Lotus 1-2-3 and make up for it's mistake by focusing on the 32-bit world of Windows with Excel.  In this way, Bill Gates feels he learned from his earlier mistake and made up for it. 

     On my still running Visual 1050, i've been playing with MultiPlan, and can definitely feel Excel vibes.   I have to say, it's a darn good spreadsheet. It just works.      The menu that appears at the bottom of the image above is easy to use, and seems highly intuitive for it's day and age.  I don't know how it compares with it's eight-bit predecessor, VisiCalc, but at least it managed to avoid the ire of this blogger who hates pretty much all our good old killer apps.    In terms of size, VisiCalc  (download here) was apparently 28Kb compared to MultiPlan's 44+18+8 (70) Kb, not including 42Kb of semi-intuitive built-in help available at the click of a button.  In addition, there was 78Kb of installation code in order to customize MultiPlan for each eight-bit brand of hardware.    Somewhere in all those bytes was enough extra power to load and consume VisiCalc worksheets, if that tells you anything. 

     The Visual 1050 came with MultiPlan pre-installed for it's monitor and keyboard configurations.  For example, hitting the HOME key will take the cursor to R1C1 (row 1 column 1).  Hitting H (or the HELP) key will open up help, control-J will jump from one unlocked cell to another, and the semicolon (;) will switch windows.  And of course, the directional keys on the numeric key pad will move the highlighted cursor from cell to cell.  In today's phraseology, it just works. 

      This is all to say that i am actually pretty happy to have what i consider the high-water mark for eight-bit, character-oriented spreadsheets and can't imagine how it could get any better.  I consider it a work of art considering the memory restrictions it dealt with.   For example, even though it offers 255 rows and 63 columns, a standard 64Kb RAM page of memory will only allow about half that while it share RAM with MultiPlan(up to 255 rows x 32 columns,  or,  130 rows x 65 columns) .   Until i figure out how to tap the extra "banked" memory scheme offered by both CP/M Plus (3.0) and the Visual 1050, i can simply link to specific cells within supporting spreadsheets. This way, MultiPlan can pack a lot of calculating power into dependent spreadsheets without going overboard on RAM consumption.  I estimate that MultiPlan could've made some really nice dashboards for the  CEO's of a few respectably sized businesses.  

     To test MultiPlan's ability, i implemented a cool calendar based on this article from the "Wizard of Excel" using the information in this tutorial from Grey Matter Mental Gym blog.    By going back and forth between MultiPlan and Excel, i found out what formulas from the article i would not be able to use.  MultiPlan can't use VALUE to handle a string like "10/15/13" as a date.  And it doesn't have a WEEKDAY function.  So i worked around all that by some heavy reliance on lookup tables. There were a couple more workarounds that i describe in the notes included with this project, which i have provided for download below. 

   First, i implemented this project on my old hardware to verify it can be done in MultiPlan.  I went back and forth between my old hardware and Excel to find out what would actually work in both environments.  Plus i used the speed of Excel to do a lot of the design and testing.  Then i sent files saved as SYLK file format (a language understood by both Excel and MultiPlan) into a virtual diskette that i ran on the Visual 1050 in the M.e.S.s. emulation.  I found out that putting both the calculator and calendars on the same spreadsheet was a little heavy for the little eight-bit PC to handle (it could barely handle it).  So i split the project up into two parts/spreadsheets and linked a few cells from one to the other.  The calculator part is modeled on this page here.   Here is a .zip file of the entire project. Download

There are notes inside that show how to optimize Excel formulas to work with MultiPlan. I also show how to move files between Excel and MultiPlan and make simple modifications so they communicate perfectly.

Day-Of-Week Calculator

      The calendar spreadsheet  is externally linked to the year and month cells on the calculator spreadsheet.  With links to those cells, calendars can be generated for any month, or any group of months for any  year.  However, even though i split the project into two worksheets (only one is loaded into memory at a time), i found more than ten calendars to be too much.  I found four calendars about right, using up 28% of available memory. These can be printed to file and opened much faster with the TYPE command (read as text), or printed to paper for even quicker reference. 

Calendar-Maker Sheet
     Given a Z80 chip, it takes about 10 seconds for a spreadsheet to calculate day-of-the week, and about 30 seconds for another spreadsheet to create four months of calendars.  That's not including the time it takes to load the calendar spreadsheet.  Here are the times they dealt with in 1984:
     15 - boot the CP/M operating system.
      5  - display an optional front-end  menu system.
     10  - load Multiplan empty
     8    - manually set default to B: drive (i store files separately on the B: drive)
     5    - seek and select a spreadsheet
    10   - load calculator spreadsheet
      2   - set the recalc option to No. (otherwise will recalculate after every cell change)
    10   - change the values of three cells and hit Shift-! to calculate.
    12   - calculate the day-of-week
     6    - save the spreadsheet
     5    - seek and select another spreadsheet
    30   - load and display a quarterly calendar
118    seconds over all
  42    seconds just to do all the calculations

     But by the time i fumble around with all the keystrokes, it takes more like 200 seconds just to run the two spreadsheets.       This could all be speed-ed up by booting to a command line, and invoking a .sub (CP/M version of .batch) file, this could mostly be automated.  Submit (.sub) files can access applications like Multiplan, enter data, manipulate the application's menu, and close the application.

    To test that theory, i wrote a .submit (like .batch) program to automate the whole sequence:


    This script took 100 seconds to run the two spreadsheets, entering three parameters along the way.  To write it, you have to walk through the sequence manually, writing down each keystroke.  I was able to enter data into three different cells because of the feature talked about in the first paragraph of this article: the ability to jump from one cell to another in an otherwise locked spreadsheet.  There are only three cells on the entire spreadsheet that are open for movement via Ctrl-F which is denoted as ^f in the script.  I just homed the cursor and started stepping through the cells.  There's also a tab in there denoted as ^i.   The $1 $2 and $3 in the script are the parameters taken in by the .submit script (like %1 %2 %3 in .batch language).  In this way, i was able to call the whole thing like this:

    >go 2 20 2014

     With just the name of the script, month, day, and year i could spend 11 keystrokes  instead of  75 (and a lot of work).

Print to file.



Thursday, November 22, 2012

Stock Demo Program. Ten Minute Show and Tell Video


     This is the stock demo program bundled with original Visual 1050 software.  Most likely it was used to show the machines off as they sat on shelves at retail computer stores.

 This video is best seen full screen by clicking the box in the lower right corner of the image.

     This demo was coded by Keith Davison in Microsoft's MBasic/Bascom combo.  Keith's code is designed to read a script.  The code itself is compiled (with Bascom) and undocumented, as well as the script.  But once it is understood, the script can be customized.  

     The script does not take any input from the user once it gets going, so ultimately it's like a primitive Power Point presentation.  Some of the graphics are pictured generated from pre-made bitmaps.  About half the graphics are generated from a mastery of the "escape codes" that are described in detail in the Users Guide (UG).  

     The UG does not explicitly detail how to implement the escape codes, so it's up to the programmer to figure out how to incorporate them into a particular language.  I figured out how to wrap the escape codes in CBasic, greatly extending that languages control over the screen display. 

      I have run this demo program on both the original Visual 1050 hardware, as well as the  software emulator pictured in this video.  So i can say that the look and feel, right down to the speed of the presentation, is authentic, and truly represents the performance of Visual Technology's flagship personal computer.  This demo rambles on for ten minutes either in the emulator, or on the original hardware.  The presentation is slowed down by a lot of "sleep" commands in the script, allowing the viewer to digest the information.

     I've prepared a download package that gives you your own virtual Visual 1050 personal computer. It included diskette images of the software that came with my machine.  So you can run this demo or any other program that came with the Visual 1050.