January 8, 2019

The MOD_EMUP eprom burner

If you still find the need to burn (and read) eproms and work with GAL devices, you will be happy to have one of these perhaps. The biggest issue is that it requires a particular ISA card along with DOS based software to use it.

Look under "test equipment" on the xmission site.

I am lucky enough to have the software from "the good old days" along with the necessary ISA card and cable. I use FreeDOS in lieu of MSDOS and that seems to work out just fine.

I am currently using an old Gigabyte motherboard (BX-2000+) with a 600 Mhz Pentium III (600E) and 256M of ram. It was the first candidate I found in my junk box when the previous motherboard I used died. This system has FreeDOS installed on a parallel IDE drive of some kind, and has an ATAPI CDROM drive as well.

Moving files around

FreeDOS is great, but moving files was all but impossible until I discovered mTCP. With mTCP, you get an FTP client and setting up an FTP server on my linux machine is trivial. With this I can freely move files back and/or forth and life is good. This is actually what I used to do when all I had was plain old DOS (although floppies were also a (not very good) option in those days.

Before I discovered mTCP, the biggest hurdle with this system was getting files in and out of FreeDOS. Networking was prehistoric (but it always was with DOS). I use a PCI network card with the "Tulip" chip and the FreeDOS install detected this nicely and a packet driver was available. That was easy enough. For a while I used an ssh/scp utility (ssh2dos?) to move files around, but this stopped working when modern linux systems decided to stop supporting whatever old key exchange protocol this utility wants to use. There are probably ways to work around this (such as running an old and deprecated ssh server on my linux system).

A workaround when I was truly desperate was to burn files onto a CD rom. When placed into the FreeDOS system these nicely appear on a D: drive and this gets things done, but is wasteful of CD's (and only works in one direction). FreeDOS, which is all I need at this time anyway).

Then (prior to discovering mTCP and getting my hands on a fully functional FTP client was to use something called "htget". It worked, but once again it only moved files in one direction.

An example

I am currently working on a project writing code that goes into a 2716 eprom. This is an ancient 2K by 8 chip, but supported by the EMUP programmer. The code is written to run at 0xf800 (the ROM goes at the end of the 64K address space at 0xf800 to 0xffff. My build process generates an intel hex file as "aj.hex". I copy this to /var/www/html so it can be exported by my httpd server (see below). Next I go to the FreeDOS machine.

I boot the machine up and do this:

cd emup
htget -o aj.hex 192.168.0.5/aj.hex
access

As mentioned above, I would now use FTP from the mTCP packages instead of htget.

Typing "access" launches the EMUP menu system. I use device, select a manufacturer and a device (chip). Then I use "2" to load the file to the buffer. I tell it to load aj.hex, that it is an intel hex file, and to load it to 0. I tell it to fill unspecified bytes with ff. I then use "Z" to specify a target zone, telling it to use f800 to ffff in the buffer and to place it at device address 0. Then typing "P" will blank check the chip, program and verify it.

Adding packages to freedos

Most of all, I want htget, but ping would be nice also. I burned a full FreeDOS 1.2 CD (418M) and in the "NET" directory I find htget.zip and ping.zip. I can put this install CD into my freedos machine and just copy these files! I put them into c:/fdos and to my great joy I find there is an unzip utility already!! So I cd to /fdos and run unzip htget.zip and it places htget.exe into /fdos/bin, right where it needs to go. Using unzip on my linux system shows:
[tom@trona NET]$ unzip -l HTGET.ZIP
Archive:  HTGET.ZIP
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  11-12-2016 12:21   APPINFO/
      506  11-12-2016 12:21   APPINFO/HTGET.LSM
        0  04-10-2009 12:23   BIN/
   377160  04-10-2009 12:12   BIN/HTGET.EXE
        0  04-10-2009 12:25   DOC/
        0  04-10-2009 12:25   DOC/HTGET/
     1767  04-10-2009 11:45   DOC/HTGET/CHANGES.TXT
    17996  06-22-2007 23:45   DOC/HTGET/LICENSE.TXT
     1445  04-10-2009 12:12   DOC/HTGET/README.TXT
      377  07-12-1996 19:05   DOC/HTGET/WATTCP.CFG
        0  04-10-2009 12:24   SOURCE/
        0  04-10-2009 12:24   SOURCE/HTGET/
     1463  11-15-1995 13:47   SOURCE/HTGET/GETOPT.C
    12873  04-10-2009 12:07   SOURCE/HTGET/HTGET.C
  7780846  04-10-2009 11:20   SOURCE/HTGET/LIBWATT.A
      259  04-10-2009 11:50   SOURCE/HTGET/MAKE.BAT
     9157  05-27-1994 16:05   SOURCE/HTGET/TCP.H
So I have the sources in the SOURCE directory, and something resembling documentation in the DOC directory.

Starting an http server on my home linux machine

I do this on a public machine, but have never done it at home.
dnf install httpd
systemctl start httpd.service
chown tom:tom /var/www/html
systemctl enable httpd.service
Changing the ownership of the html directory means that I can add content without having to be root. The "enable" command to systemd makes the service run on every boot.

Aiming a browser at the IP address of my home machine (or at localhost for a browser on that machine) gives me the Fedora httpd greeting page. Now I need to place content into /var/www/html (as the greeting page instructs me).

The greeting page says the following:

You may now add content to the directory /var/www/html/. Note that until you do so, people visiting your website will see this page, and not your content. To prevent this page from ever being used, follow the instructions in the file /etc/httpd/conf.d/welcome.conf.
Actually it works just fine to let the fedora test greeting continue to come up, but I can put content into /var/www/html. To use htget, I do this:
htget -o aj.hex 192.168.0.99/aj.hex

Have any comments? Questions? Drop me a line!

Tom's Electronics pages / tom@mmto.org