Tuesday, August 17, 2021

Kaypro "1" set back (momentary)

Background: I call this machine my Kaypro "1" because the case says it's a "1" on the outside, but there's a sticker on the back that says it's a 2/84 and it has the 2/84 ROM, not the 1's ROM.  This machine was one of the "slap together out of the parts we have" as Kaypro was going out.

I don't have desk space yet for all my vintage computers, so when I rotated the Kaypro "1" onto the desk to use, I noticed that the B: drive was no longer working.

The first thing that I did was power off and pull the USB stick that was the B: drive and it was warm - abnormally warm.  Red flag time.

When I tried to read the USB stick in my PC, it wouldn't recognize it.  Uh, oh.

So back the Kaypro "1" goes back on the bench and time to take a look.

First thing I checked was the MOLEX to 3.5 floppy power cable.  It was pinned correctly.  Everything looked good.

Next, the multi-meter comes out and I check the voltages.  To make sure that everything was correct, I removed the MOLEX pig tail and checked the voltages at the MOLEX end.  The 5V line had 10V and the 12V line had 4V.

This power connector had the lines swapped!

I swapped the pin on the MOLEX pigtail and pulled the now 10V pin completely out of the pigtail so there was no connection to the OpenFlops.  I verified the voltages and plugged everything back in.  It works.  The old USB stick is toast, though.

Kudos to the OpenFlops guys for building something that takes twice the voltage and still works.

But this is a lesson with the "newer" Kaypros:  They weren't exactly the best made and there are surprises everywhere.

The "1" is still on the bench.  I'm getting better 5.25-3.5" bay adapters that fit better.  I'll swap them out this weekend.

Compaq Portable 386 - adventures in FreeDOS

I had a spare CF card, so I decided to give FreeDOS a try.

They had a set of floppy images that I could use so I popped in the CF card and booted the boot image and started the install.

Issue: The setup formatted and set up the non-active DOS partition to be bootable.  It took me a bit to figure that out and why it wasn't booting from the CF card, but that was easy to fix.

There are some more things I need to configure about it to get it 100%, but I decided it wasn't worth it at this time.

Bottom line: I saw no benefit to using FreeDOS over DOS 3.30 for the Compaq (at least for my use).


Wednesday, August 11, 2021

FORTRAN on the personal computer

For the last few months, I've been binging on FORTRAN.

FORTRAN was the first language I learned after BASIC.  I actually did a little FORTRAN in high school - before they kicked me off the school system's IBM mainframe.

FORTRAN was the first language that I did in college.  My year was actually the last that did FORTRAN for Computer Science.  But that FORTRAN "experience" got me a job at the GM Proving Grounds working on the FORTRAN programs that process data from crash tests.

Later, after some years of COBOL and then C, I went back to FORTRAN in GM on the HP 1000 at Powertrain (Systematic Engine Calibration).

So I've spent plenty of time with FORTRAN.

I picked up Microsoft FORTRAN 5.1 for the MS-DOS.  This is based on FORTRAN 77.  I was also able to locate Waterloo FORTRAN 77 too.

But I wanted to experiment with FORTRAN for CP/M and what I found was interesting.

I got Microsoft FORTRAN-80 for CP/M and LDOS (TRS-80) and it's based on FORTRAN ANSI standard from 1966 and there are "differences".

I'm going to call this version FORTRAN 66.

First, FORTRAN 66 has no character data type.  You store characters in other data types.  You can print a character type, but you are storing it in something else.

Print is another one.  FORTRAN 77 supports the PRINT statement - which is basically no more than a shortcut for WRITE to the console device.

Unformatted output doesn't work under FORTRAN-80 (I don't know if this is a FORTRAN 66 issue).  If you don't specify a FORMAT statement, the data is printed as a "character" type!

Compiling FORTRAN-80 is multiple steps:

1. Edit the source in the text editor of your choice.  I'm so glad that I have TE (a modern CP/M program) with a full screen editor.  But back in the day, they probably used Wordstar.

2. Then run the compiler, F80.  But you can't just pass a command line parameter.  It's run F80, wait.  Then enter <program rel>=<program source> and wait some more.  Control-C out of the compiler.

3. Optionally fix any compiler errors.

4. Run the linker, L80.  But, again, no command line parameters.  Run L80 and wait.  Since I just want to run the program, I just do <rel file>/g to link (and wait) and run.

Edit: F80 and L80 do take the commands as parameters.  They didn't under the TRS-80, but they do under CP/M.

It's no wonder FORTRAN never took off on the PC.  BASIC works so much better.  Then, after testing your program, you can compile it into an executable.

And keep in mind that, at this time, Microsoft was a premier software developer.  They usually did a great job compared to other companies.

Now, to get some time to test Nevada FORTRAN.

Thursday, August 05, 2021

The Saga of the Floppy Emulators

I was playing with my Kaypro "1" and I was thinking about what I'm going to do with it long term.  Using real 5.25" floppies in it was a pain, and I know that the life span of those floppies were getting toward the end.

So I decided to to put a floppy emulator in.  Since I had already done OpenFlops I decided to do something different.  Lotharek has a nice floppy emulator.  The difference is that this one can emulate 2 floppy drives in 1 unit.  So I purchased it and waited.

When it arrived I started to get it hooked up.

Problem: the floppy emulator wouldn't power on.  On inspection, it looked like the Molex to 3.5" floppy power cable was wired backwards (spoiler: it wasn't).  It powered on, but the display only showed 2 rows of "blocks".  I spent a good amount of time trying to figure out what the issue was.

Solution: What I should have done was was checked the power output from the floppy power cable in the first place.  The 5V line was only 4V.  I thought the other line was "unused", but it wasn't.  It was the 12V line (really only outputting 10V) to run the floppy drive motors.  Yikes!  I was running that down the emulator's 5V line.  Lucky for me it was well made and suffered no problems.

But what to do?  There's certainly something wrong with the Kaypro "1"s power supply, but visual inspection shows nothing (i.e. no bulging capacitors or such).  I'm really leery about messing with 110V electronics without someone telling me what to do.  If there was a visually bad component, I have no problems replacing that, but I'm not poking around in something running at 110V.

As an experiment, I put the new floppy emulator in my Kaypro 4/83 - and it worked!  So I did some rearrangement.  The images I use on the OpenFlops just copied over - no conversion needed.  I replaced the B: drive with the original 5.25" full height drive - but it's not hooked up, decoration only.

Then I took the OpenFlops and put them into the Kaypro "1" and they work!  I had to rebuild all the images since the floppy images that I had were for the Kaypro 4/83, but that was mostly wait time and I could do that in between other things.

So that's done.  The 5.25"-3.5" adapters are supposed to arrive tomorrow, so hopefully I can get that a buttoned up.