Showing posts with label trs-80. Show all posts
Showing posts with label trs-80. Show all posts

Monday, September 17, 2018

Home Computers and Line Numbered BASIC Interpreters

If you're like me, you started using computers back in the early days when a computer was something you could hook up to your television set.  Turn it on and immediately it would greet you with something like:

Super Duper BASIC v2.02
28467 bytes free
Ready
_

This was the most typical way a computer would start up.  You are then in BASIC, ready to explore programming more or less instantly.  There was nothing to download or install.  There was no antivirus software to harass you before you could proceed, and you did not need to boot your computer from a hard disk, log in, and then use a menu system to launch your programming language.

Your computer came with a book (yes, really) that started you on your programming journey in friendly terms, and happy looking cartoons.

In a few minutes you could have a simple example program from the book typed in and then typed RUN to see it in action.  A couple of hours into the book and you were a budding programmer.

There was no need to learn large volumes of functions just to put anything on the screen.  Was it primitive?  You bet.  The good thing about it was that mastery was attainable without going to school.

With computers today?  Forget all that.  I guess you could say that only the most determined people will learn to program now because they have to go exploring into the expanses of the Internet to figure out how to start.

Home computers.  Yup, we called them that before the term personal computer became popular.

The built in BASIC language in these machines is like clay in your hands.
  • Turn on the computer and start coding in seconds.
  • Execute code without a program.  Just type some code by itself and press Enter.
  • Add code to your program one line at a time and just type RUN to try it.
  • Stop and restart a running program.  Change it and resume running.
  • Type a program in from one of many popular magazines.  Learn to program by changing the program to make it your own.  Copying and pasting code from the Internet is just not the same.
People like to say unkind things about that era and all the messy looking code that BASIC encouraged.  I say that interpreted BASIC was a natural fit for that time.  It probably would have been hard to do it any other way.

I think that there are lessons to be learned from all this.  The kinds of computer literacy that we have today is only enough to use the computer to consume.  We only think that we know how to use the computer, but we really only know enough to run apps.

How do we make the real power of computers accessible again?  How can we restore the immediacy and interactivity of a BASIC interpreter to the end user?

You know what?  You can go on ebay and just buy one of these computers.  Prepare to be charmed.  :-)

Monday, August 20, 2018

Back to BASICs

Some time ago I began to assemble a small collection of vintage home computers in order to begin blogging about what makes these machines so appealing.  In particular, programming these computers in BASIC in my early years made a huge impression on me and my creation of Liberty BASIC was inspired by my love for BASIC.

I have obtained the following machines in working condition.

Apple //c
Commodore 128 (a Commodore 64 compatible machine which also has a Z80 processor)
Commodore VIC-20
Atari 800XL
TRS-80 Color Computer 2 (not sure I will actually use this one)
And a few less popular computers that might make guest appearances.

To begin with, I am focusing on the Commodore VIC-20.  I have some ideas about very simple and fun projects in BASIC, and some Forth.  Since most of these machine also have a 6502 processor, perhaps there will also be some posts about that.


Monday, March 1, 2010

The TRS-80 Gets a New Home, Briefly

After we built the new tracking system using one of the the Kaypro II machines, the TRS-80 was re-purposed by the drilling crew. A fellow by the name of Robert Doulbakian was in charge of that group. He wanted to use the TRS-80 to manage inventory for the drill and rout tool bits. I was very familiar with inventory management, having worked with Mr. Alessi on a couple such systems and Robert's requirements were very simple. I pulled something together for him quickly in Level II BASIC.

It seems to me that this particular computer was beginning to reach the end of its useful life. The keys were beginning to be sticky (and I think one of the keycaps had fallen off). In addition the machine was exposed to a more corrosive environment out in the factory, and these TRS-80 Model I computers had only silver and tin solder for contacts between the main unit and the expansion box. The computer would hang or reboot frequently.

Thursday, February 25, 2010

The Job Tracking System in BASIC

It was time to put my new SBASIC tool to good use. Bob wanted a new tracking system to replace the old TRS-80 one. We decided to use one of the Kaypro II machines for this. I'm a little fuzzy on whether Bob started this one and handed it off to me, or if I was the developer from the get-go.  Regardless, this project was a showcase for what could be done with the BASIC programming language.

This was a pretty easy application to build. There were a dozen or so departments on the factory floor. Each time a new job was ordered there were some essentials entered like job #, customer name, board type, due date, etc. and these were just stored in a simple random access file. Several times a day a young lady from Brazil named Danusa would make rounds collecting information about jobs and where they were in factory. Then she would come back and enter this information. Status reports would get printed out.

C.F.C. specialized in quick turnaround orders. Anything we could do to improve information about important rush orders was critical. A more timely tracking system was in our sights. We took one of the Tandy Model 100 portables and bought a barcode wand for it.  A data collection program for it was written in BASIC.  This would be used to collect the locations of all the jobs. I wrote a program in the tracking application for printing 3 of 9 bar code on label stock using an Epson compatible dot matrix printer. These had job numbers on them and we stuck them on the job bill of materials sheets that went with each order. Then we printed large bar codes for each department.

So now all Danusa had to do was go to a department, scan the bar code on the department sign, and then go to each bill of materials sheet and scan in the job number bar code. Then she would repeat this with each department. When this was done (and it was a lot faster than using a pen and clipboard) all she had to do was come back and we would read the information into the Kaypro II using an RS-232 cable and we would just suck that information into the tracking system and print the reports.

It really stands out to me that this sort of very useful application programming was easily achievable by a high school graduate with a knowledge of BASIC.  For a good while we used this system to expedite manufacturing.   End users used to do this kind of thing a lot more back then and I'm sure that Bob could easily have written this himself if he were so inclined and it he weren't so busy running the company. People should take more interest in programming because it's fun, it teaches important thinking skills and even untrained programmers can accomplish real productivity enhancements.

Monday, February 22, 2010

101 Things You Can Do With a Floppy Disk

C.F.C. hired a college student for the summer of 1987 to operate their TRS-80 system which had three 5.25 inch floppy drives. The young student (he might have been older than me) would sometimes come to me when he had computer questions or if the machine wasn't working perfectly.

So, one day he comes to me and says that he's getting errors from the floppy drive. Okay, I followed him over to the computer. He reaches over and perfectly naturally reaches down, opens the drive and pulls out the disk... backwards! The disk was in the drive backwards, and his fingers were touching the magnetic disk through the access hole. I wasn't ready for that, and I don't think he was ready for my surprised outcry!

The good news? Even with fingerprints on the disk surface the data was still intact. The disk read fine when it was reinserted correctly.

Saturday, February 13, 2010

A Cornucopia of Computers

So I joined the engineering group at C.F.C. Our job was to write and debug CNC programs for the Excellon drilling and routing machines. Most of the programs were written using WordStar on Osborne-1 and Kaypro CP/M machines. We did not use hard drives to do this work, and the final medium of storage was punched paper tape. Yes, really! That was the format the machines used, and we had a storage library for keeping the tapes.

There was one Macintosh in engineering for special purposes, but here again I never used it.

There was a TRS-80 used for managing job tracking in the factory. It had the standard silver expansion box and three floppy drives.

Accounting had an Epson PC clone (or was it a Leading Edge Model D?), and there were a couple of Tandy Model 100 laptops that look like Alan Kay's Dynabook prototype.

Things were about to get interesting.

Thursday, June 14, 2007

Early networks

When I started in high school at Xavarian Brothers High School in Westwood, Mass. they had an early example of a network. It amounted to a shared hard drive between four TRS-80 Model 3 computers (or maybe they were Model 4s). There were also Epson MX-70 printers.

I didn't actually take the programming class, which was only available for juniors and seniors, but my math class was in the classroom where the computers were, and I would sometimes write little programs for them in the minutes before or after class.

I'm not sure if the hard drive was manually or automatically switched, or if these computers ran a real disk operating system. I don't remember the computers having floppy drives, and it seems unlikely that they had networking code built into the power-up ROMs; just BASIC.

Perhaps someone else would be eager to comment on this?

Saturday, April 21, 2007

Enter the TRS-80

I remember when Radio Shack started to advertise the TRS-80 computer on television. I don't think I had ever seen an ad for a computer on TV before this. It was $599 for the computer which seemed pretty amazing.

When these machines arrived at the local Radio Shack store my brother and I went to have a look. The only interesting thing you could do with the machine was program it. They may have had a couple of applications on tape in the store but we ignored them. The programming manual was very friendly, with a cartoon character that looked like a TRS-80 spouting explanations.

As I understand it the Level I BASIC that came with the machine was a custom version of Tiny BASIC. It had single letter variable names, only one string variable (I think), and it had only three error messages for the programmer:

  • What? - Syntax error
  • How? - Divide by zero, etc.
  • Sorry. - Out of memory

Level I BASIC also had SET and RESET commands so you could draw graphics on a 128x48 grid.