Howard’s Blog

November 3, 2007

ZALTAIR 8800 Microcomputer Debuts at VCF X

Filed under: Uncategorized — hharte @ 9:05 pm

The ZALTAIR 8800 Microcomputer (www.zaltair.net) was unveiled today at The Vintage Computer Festival X today at the Computer History Museum in Mountain View, California.

The ZALTAIR 8800 is my rendition of Steve Wozniak’s 1977 prank.

Here is a photo of the exhibit at VCF. I will also be exhibiting the ZALTAIR tomorrow for the second day of VCF X from 2:00pm to 6:00pm.

The ZALTAIR 8800 Microcomputer unveiled at VCF X

August 2, 2007

Gatekeeper and Lucky 7’s

Filed under: Uncategorized — hharte @ 10:38 pm

After over five years on the job, my server, gatekeeper.hartetec.com was decommissioned. Gatekeeper was a Pentium-II 266MHz with 192MB of RAM, two 2.something GB hard drives, and ran RedHat Linux 7.2 with a later (2.4.18) kernel. This machine started out life at UC Berkeley in 1998, and I bought it and about five similar machines in 2002 in a pallet of surplus computer equipment.

I installed it as an all-purpose gateway/firewall/ftp/ssh/telnet/http/sendmail server, and it ran 24/7/365 for over five years. It was connected to an uninterruptible power supply, and even survived several of California’s “rolling blackouts” without going down. One day, I checked the uptime log on the system, and it was at something like 45 days. I knew the system was up for more than a year at that time, and there was no evidence of a reboot, so I did some Google searching, and found that Linux’ uptime counter wraps after 497 days. From time to time, this machine also served as a TFTP server, DNS server, and even a MOP (DECNET) server for bootloading Vaxen and other DEC systems. For that reason specifically, I installed a DEC “Tulip” network card, which had something special about it (I forgot what exactly) with regard to MAC address filtering.

During the week of July 4th, it was about 105′F in our area, and gatekeeper, which was not in a controlled environment (it was on a shelf in the garage) apparently suffered some overheating damage, but kept on running without incident. About a week later, I could hear “beeping” from the 2nd floor of the house. Upon furhter investigation, I found that the beeping was coming from the garage, and in fact was the BIOS telling me that the system had overheated. Sure enough, the power supply fan had siezed up, and as a result of that, there was no video, no nothing, except the smell of melting plastic. After cooling the system down and replacing the power supply, I booted it back up. After fscking for about 15 minutes, the system came up, and ran for about 10 hours. Then it crashed again, then ran for anothe few days and kept repeating the crashes. I feared that the hard drives had suffered permanent damage due to overheating. Bearing noise had become a problem, and every time I rebooted the system, fsck would delete about 50-100 files. So I figured the system was on its last legs.

Last night at 12:00AM, gatekeeper’s replacement, pollux.hartetec.com came on-line. Pollux is a 1U rackmount server that I bought at Weird Stuff about two years ago or so. I had always envisioned it as a replacement for gatekeeper, but never had the heart to replace gatekeeper while it was running so reliably. So now even Pollux is outdated before it was even commissioned. It’s a 1.2GHz Pentium III/Celeron, and is now running Fedora Core 7. Hopefully this will be my next lucky 7 server to run for the next five years (or more.)

July 9, 2007

Mounting P112 Disk Images with SIMH/AltairZ80

Filed under: Uncategorized — hharte @ 10:41 pm

General steps:

1. Prepare a P112 Disk Image by writing it to a blank floppy diskette.
2. Run the SIMH/AltairZ80 Simulator
3. Mount the floppy diskette in the SIMH/AltairZ80 Simulator
4. Alternatively, mount the raw disk image file, and then later copied to a real floppy. This is much faster if you are going to manipulate the disk image extensively.
5. You can also use SIMH/AltairZ80’s R.COM and W.COM to read and write files into and out of the simulator to a file on the local hard drive.

Step 1: - Prepare P112 Floppy Disk

Download zs113005.img.gz Z-System boot disk image. Dated November 30, 2005. from http://frotz.homeunix.org/p112/

The file says it’s a .gz file, but on my system, when I downloaded this, it was not gzipped, but rather a raw floppy disk image. I just renamed it, removing the .gz extension. Write this image to a blank formatted 1.44MB 3.5″ floppy disk using NTrawrite as follows:

C:\>ntrawrite -d b: -f zs113005.img
NTRawrite v1.0.1 by Blake Ramsdell

Please insert a diskette and press any key.
Copying image file zs113005.img to floppy drive B.
****************************************]
Verifying image file zs113005.img with floppy drive B.
****************************************]
Completed!

C:\>

Step 2: - Run the SIMH/AltairZ80 Simulator.
You can download and install a pre-built package that is part of the eZ80SBC distribution. This is the exact one that I am using for this tutorial, or you can try getting SIMH/AltairZ80 from Peter Schorn’s web site:

If you install the eZ80SBC package, you can start the simulator by going to the Start Menu:

Start->All Programs->ez80sbc->AltairZ80 Simulator

The eZ80SBC package already has a startup script and disk image files for a complete running CP/M 3.0 system. This is the system I use to import and export files to SD Memory cards I use with the eZ80SBC.

Altair8800 (Z80) simulator V3.7-0 (scp created Jun 25 2007 at 22:27:48)

HDSK0, 8388KB, attached to cpm3_c.dsk, HDSK, WRTENB, QUIET, T:2048/N:32/S:128
HDSK1, 8388KB, attached to cpm3_d.dsk, HDSK, WRTENB, QUIET, T:2048/N:32/S:128
HDSK2, 131KB, attached to 128k.dsk, EZ80FL, WRTENB, QUIET, T:32/N:8/S:512

LDRBIOS3 v1.06 16-Jan-2007

CP/M V3.0 Loader V1.00 18-Jan-2002
Copyright (C) 1982, Digital Research

BNKBIOS3 SPR ED00 0A00
BNKBIOS3 SPR AD00 1300
RESBDOS3 SPR E700 0600
BNKBDOS3 SPR 7F00 2E00

57K TPA

BIOS3 Banked for SIMH Altair V-1.24, 4 HD, 15-Jan-2007

A>

3. Mount the floppy diskette in the SIMH/AltairZ80 Simulator

[press ^E to get to the sim> prompt.]
Simulation stopped, PC: EF54 (RRA)
sim> attach hdsk1 \\.\B: [Type this exactly, where B: is your physical floppy drive. It must be uppercase. In my case I was using a Q-Stor USB Floppy Drive]
sim> show hdsk
HDSK, 8 units
HDSK0, 8388KB, attached to cpm3_c.dsk, HDSK, WRTENB, QUIET, T:2048/N:32/S:128
HDSK1, 8388KB, attached to \\.\B:, HDSK, WRTENB, QUIET, T:2048/N:32/S:128
HDSK2, 131KB, attached to 128k.dsk, EZ80FL, WRTENB, QUIET, T:32/N:8/S:512
HDSK3, 8388KB, not attached, HDSK, WRTENB, QUIET, T:0/N:0/S:0
HDSK4, 8388KB, not attached, HDSK, WRTENB, QUIET, T:0/N:0/S:0
HDSK5, 8388KB, not attached, HDSK, WRTENB, QUIET, T:0/N:0/S:0
HDSK6, 8388KB, not attached, HDSK, WRTENB, QUIET, T:0/N:0/S:0
HDSK7, 8388KB, not attached, HDSK, WRTENB, QUIET, T:0/N:0/S:0

Note that SIMH/AltairZ80 cannot determine (or at least doesn’t at this point) the size of the raw floppy device, so it assumes that it is a HDSK (8MB.) If you were attaching to a disk image file stored on a local hard drive, SIMH would automatically infer the format type based on the image size.

You need to change the format type manually:

sim> set hdsk1 format=p112
sim> show hdsk1
HDSK1, 1474KB, attached to \\.\B:, P112, WRTENB, QUIET, T:160/N:18/S:512
sim> go [Start the simulator running again… ]
A>^C [ Warm boot CP/M to force disk change ]
A>j:
J>dir
J: -README 1ST : LICENSE TXT : NOTE TXT : TCSELECT COM : VT100 Z3T
J: VT525 Z3T : Z3TCAP TCP
SYSTEM FILE(S) EXIST
J>type -readme.1st
10 August 1996

This source is a modification of the initial minimal BIOS for the
P112. It contains changes to allow different disk formats, including:

4. Alternatively, mount the raw disk image file

You can also mount a raw P112 disk image stored on a local hard drive. This example assumes that the image file, zs113005.img, is in the AltairZ80 default directory, which is:

C:\Program Files\HarteTec\ez80sbc\Media if you use the default options when installing the eZ80SBC setup package.

Now, to mount the disk image:

sim> attach hdsk1 zs113005.img
sim> show hdsk1
HDSK1, 1474KB, attached to zs113005.img, P112, WRTENB, QUIET, T:160/N:18/S:512
sim> go

J>
J>^C [ Warm boot CP/M ]
J>dir
J: -README 1ST : LICENSE TXT : NOTE TXT : TCSELECT COM : VT100 Z3T
J: VT525 Z3T : Z3TCAP TCP
SYSTEM FILE(S) EXIST
J>type -readme.1st
10 August 1996

This source is a modification of the initial minimal BIOS for the
P112. It contains changes to allow different disk formats, including:
Ampro 800kB (also called DSQD) 80-track double-sided, double-density;
B/P Bios 1.76 MB “High-Density” formats, as well as the initial two
formats.

5. Use SIMH/AltairZ80’s R.COM and W.COM to import/export files.

From within SIMH/AltairZ80 CP/M 3.0, run the R.COM program to read a file from the host operating system into CP/M disk image. In this example, I read in the file “local” which is the startup script for SIMH/AltairZ80:

J>a:r [ Here is the usage information for R.COM ]

READ V-2.21 (03-Dec-06) SIMH Interface V003
Usage: READ [L]
Binary copy
from host environment. L = use lower case for name.

Examples
READ bdos.mac copy BDOS.MAC to BDOS.MAC
READ bdos.mac L copy bdos.mac to BDOS.MAC
READ *.mac copy all files ending with .MAC
READ a:bdos.mac copy BDOS.MAC to A:
READ a:*.com copy all .COM files to A:
READ src\bdos.mac copy SRC\BDOS.MAC to BDOS.MAC
READ src\a:bdos.mac copy SRC\BDOS.MAC to BDOS.MAC on A:
READ src\*.mac copy all .MAC files from directory SRC
READ src\*.MAC L copy all .mac files from directory src
READ src\a:test.* copy all TEST.* files from directory SRC to A:

J>

J>a:r local

READ V-2.21 (03-Dec-06) SIMH Interface V003
Read from “LOCAL” and write to “LOCAL”.
PTR: unit is read only
0.5kB written.

J>type local
d tracks[0-7] 254
attach dsk cpm3.dsk
attach dsk1 app.dsk

;set hdsk0 geom=2048/32/128
;set hdsk1 geom=2048/32/128
;set hdsk2 geom=32/32/128
;set hdsk3 geom=32/32/512

;set hdsk0 verbose
;set hdsk1 verbose
;set hdsk2 verbose
;set hdsk3 verbose

attach hdsk0 cpm3_c.dsk
attach hdsk1 cpm3_d.dsk
attach hdsk2 128k.dsk

show hdsk0
show hdsk1
show hdsk2

Press RETURN to Continue
^C

Now, to write a file from CP/M to the local host’s filesystem do the following:

J>a:w [ Here is the usage information for W.COM. Note that you can specify Binary file transfer ]

WRITE V-1.15 (17-Dec-06) SIMH Interface V003
Usage: WRITE [B|T]
Copy
to host environment. Default is text, B for binary, T for Text

Examples
WRITE BDOS.MAC copy BDOS.MAC as text file
WRITE PIP.COM B copy PIP.COM as binary file
WRITE PIP.COM copy PIP.COM as binary file [.COM .REL .DAT imply B]
WRITE TEST.DAT T copy TEST.DAT as text file
WRITE *.COM copy all files matching *.COM as binary files
WRITE SRC\BDOS.MAC copy BDOS.MAC to directory SRC as a text file
WRITE COM\*.COM B copy *.COM to directory COM as binary files

J>

J>a:w -readme.1st

WRITE V-1.15 (17-Dec-06) SIMH Interface V003
Write “-README.1ST” to “-README.1ST”.
PTP: creating new file
3.5kB written (Text).

J> ^E [ get back to the sim> prompt ]
Simulation stopped, PC: EF54 (RRA)
sim> ! [ shell to DOS prompt ]
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Program Files\HarteTec\ez80sbc\Media>type -README.1ST
10 August 1996

This source is a modification of the initial minimal BIOS for the
P112. It contains changes to allow different disk formats, including:
Ampro 800kB (also called DSQD) 80-track double-sided, double-density;
B/P Bios 1.76 MB “High-Density” formats, as well as the initial two
formats.

That’s all there is to it.

-Howard

June 28, 2007

WordStar prints to a USB-Connected Printer

Filed under: Uncategorized — hharte @ 10:29 pm

Last night, I printed the three-page WordStar 4.0 Printer Test Document (wsprint.tst) to a Brother Laser Printer. All the type styles and pitches looked fine. I was amazed. I didn’t know a CP/M-80 based system would be able to achieve that. But the best part about it is that the printer was connected to the ez80 Single Board Computer via a Belkin USB to Parallel Port Adapter.

The eZ80SBC Installaation Guide explains how to set it up, and shows some screen shots.

February 17, 2007

eZ80SBC Supports new eZ80F91A MCU

Filed under: Uncategorized — hharte @ 5:26 pm

As of Build 1207 of the eZ80SBC software distribution, the new eZ80F91A MCU from Zilog is supported. The same binary images run on the eZ80F91 and eZ80F91A. Runtime checks are used to enable enhanced functionality of the eZ80F91 during bootstrap.

February 15, 2007

Zilog introduces a new eZ80 Acclaim!

Filed under: Uncategorized — hharte @ 10:03 pm

This week, Zilog announced the newest member of the eZ80 Acclaim Family: the eZ80F91A.

This new 8-bit MCU features enhanced performance over the previous eZ80F91 MCUs, and perhaps most importantly, addresses all known anomalies in the previous-generation parts. I just received a couple of these new parts on an eZ80F91A Ethernet Module and on an eZ80F91A Mini Ethernet Module. I will be testing the eZ80 Single Board Computer with these new modules soon. I plan to support both eZ80F91A as well as the older eZ80F91 modules on this eZ80SBC.

eZ80F91A

December 26, 2006

Altair Kit Assembly Started

Filed under: Uncategorized — hharte @ 12:20 am

I bought an Altair 8800 Kit on eBay in late November. After receiving it on December 5th, I put it back in the box until Christmas. Well, today I opened it up again and started building it…

More details here: Altair 8800 Kit Blog

So far, it has been really fun.

December 6, 2006

Windows Vista x64 and the Zilog eZ80 Toolchain

Filed under: Uncategorized — hharte @ 11:52 pm

I installed Windows Vista x64 on one of my test machines this past weekend. I am trying to decide if I can upgrade my everyday machine to Vista x64 and still run the programs I need.

After realizing that the ATI Radeon 9200 video card that I had in the machine was not up to the task of running vista in anything more than 1024×768 mode (which becomes tiring on a 24-inch monitor) I decided to buy a new nVidia GeForce 7600 GS video card. I chose this particular card because my motherboard does not have PCI-E on it, and I didn’t want to invest a lot of money into an AGP video card. It was reasonably priced, and after installing it, I can go to 1920×1200 resolution, and the system is a lot more usable now.

I installed Office 2007, and a few other Microsoft apps without any problems. Then I decided to try out the Zilog XTools USB Smart Cable. I kind of figured that this would not work, since I know it uses a proprietary driver, and I had doubts that Zilog had one ready for x64 Vista. I was right, it didn’t work. I filed a support request at Zilog, and so far, I haven’t received a response as to when/if the download cable will be supported under Vista x64. But luckily, the case has been “Escallated Internally.”

But, one bit of good news is that Zilog ZDS-II 4.10.1 for the eZ80-Acclaim! seems to work fine, at least for compiling and editing code. That’s a relief.

I also tried the Silicon Labs USB Debug Adapter, and the Silicon Labs IDE and they both worked fine. I figured that the Silicon Labs USB Debug Adapter would work fine since it is a USB Human Interface class device (HID), and Microsoft supplies the drivers for this class. I’m surprised that Zilog didn’t go the HID-route with their USB Smart Cable. I’ve made HID-class devices before, and it’s only slightly more work in the device-side firmware, and a lot less work on the PC side.

Entirely unrelated to this: yesterday, I received the AltairKit that I won on eBay last week, and I love it so far. I put some pictures up on my AltairKit page. Many thanks to Grant Stockley for putting this kit together.

September 16, 2006

USB to TTL Serial Adapter

Filed under: Uncategorized — hharte @ 10:36 pm

I found the neatest device a few weeks ago. It is a USB to serial adapter, _but_ it is tiny. I guess that’s why it’s called MicroUSB. It is slightly larger than a USB ‘B’ connector, and draws its power from the host.

I bought my MicroUSB from DonTronics in Austrailia and it arrived well packaged, very quickly, and with a really cute Koala bear!

The interesting thing about this adapter, and what sets it apart from regular USB to RS-232 adapters (besides the small size) is that it is at a TTL level, not +/-12V RS-232. What makes this “good” is that some development kit boards have two serial ports, and often times, only one of them has the RS-232 drivers/receivers. With this little board, you can hook up two wires (Tx and Rx) to the development kit, and then connect the USB to serial adapter straight to a PC, and use it as a COM: port.

I tried this thing under DOS (with MS-DOS Kermit 3.15) and Windows with HyperTerminal. It worked well with both.

I’m so impressed with this little guy that I may have to order several more! In fact, it’s easier to hook up than a regular RS-232 port. There are no problems with having the wrong cable, is it “null modem” or “straight” and now that many laptops don’t even have an RS-232 port, this will be a lifesaver.

-Howard

“Start Sectors” on a memory card, necessary or a waste of space?

Filed under: Uncategorized — hharte @ 10:27 pm

I recently bought some “identical” 64MB SD Memory cards because they were on sale at SafeWay for $9.99. When they’re selling memory cards along with groceries, you know technology has come a long way. And, for $5.00 off with my club card, I just couldn’t pass these up.

Well, first thing I wanted to do was find out how these cards are formatted, and what’s on them. I wanted to start with a clean slate, so I took one of the new cards, and filled it with zeros using WinHex.

I just can’t say enough good things about that program. It is absolutely essential for exploring raw disks and files.

Anyway, then I formatted the SD card, and took a look at it under WinHex. Just like I suspected, the Boot Sector was starting right at the front of the disk.

Then, I took out another SD card, and formatted it. This time, the card ended up with 20Kbytes less space than the first card. I though maybe the cards were slightly different cards because I bought them several weeks apart.

When I took a look at the “new” cards with WinHex, I noticed 19.5K of “Start Sectors” at the front of the card, before the DOS Boot sector even. I have no idea why they were there, but that was how the cards came, and Windows format would not use those “start sectors.” I googled “start sectors” and didn’t find anything. Then I wiped one of the new SD cards using WinHex with all 00’s. When I formatted it this time with Windows, it was 20K larger.

I’d like to know what those “Start Sectors” are for. An interesting thing about the Start Sectors is that they were all 0’s except a few bytes in what would be the boot sector. I’ll have to decode those and see what they mean. I’m guessing they mean “skip the next N sectors.”

Next Page »

Powered by WordPress