Arthur Digital Solutions
Magyar

Menu
Home
More
Contact

References
100MS/s DSO
DigiCam8
Arthur-PC
USB-s programmer
Scoreboards


Arthur-PC - a HD64180 based computer

That was my machine, the machine. It was built between about 1985 and 1992. Something was changing on it all the time. This is the final result, which I only modified in December, 1999, to make it Y2K safe.

The whole thing begun with a Z80 and a LED display. That was the start. My friend Gábor had a DIP28 sized four-character 5x7 matrix display onto which he really wanted to write the name of his then girlfriend (now his wife). Around that time, excited about a machine called Nebuló-2, I had already had my mind set on building a Z80 based machine. I told Gabi that there was no problem, we would build a computer for the display and then we could write on it whatever we wanted. It was a somewhat overconfident statement on my part, but I knew that I could count on the unselfish help of my father and my brother. The machine indeed was built in about two weeks and after a bit of nudging it started up. The system software was written by my brother, but I can proudly declare that the ILDI-GABI part was solely my work :-) Later, we competed with Gabi, which one of us could write a shorter ILD-GABI program. The race was won by Gábor, with code of around 23 bytes long. We shared this machine with Gabi, the ownership alternating between us on a weekly basis.

We grew out of the 4-character display rather quickly. For Christmas I got an EF9366 chip (then restricted due to the COCOM-list), which was a superb graphics display processor (GDP). That became the video controller of the machine. We had no monitor, so we used a Tünde or a Junost television in its stead. Later I modified the display from graphics to character mode for it was a bit sluggisgh and I didn't need graphics anyway, only a character terminal.

Then came the real breakthrough, the floppy, or PLOFI as my grandma used to call it. Naturally, it was an 8" drive, with mains powered motor, a real classic. 242KB per side. Because of the drive, I re-built the whole machine and it became a card rack design. A processor board, a video board, a floppy board and an I/O board were the initial components. Later it was expanded to accomodate a hard disk controller and a RAM disk, but let's not skip ahead. A consequence of the floppy was the use of the CP/M 2.2 operating system. The Z80 was running from a 4MHz clock at that time, with 64K RAM and a 56K CP/M version. The keyboard used Hall-sensors and was made by TKI (Telecommunication Research Institute). I have never had a keyboard that good since then! The display was still based on the GDP chip but now it supported 32 text lines of 64 characters each, in colour, even though my monitor (which was a real monitor by then) was still monochromatic, so it was 16 shades of gray instead of real colour.

The TKI (pronounce 'taakih') keyboard:

The next step was a 1.2MB, 5.25" floppy drive. I bought it second hand in the summer of 1988, for 12000 Hungarian forints. The software has also undergone some serious evolution. First I changed the command interpreter of CP/M to one that I wrote. Then I wrote a CP/M clone of the PathMinder program (which ran on MS-DOS). The latter significantly increased the usability of the system and the efficiency of software development. A significant speed increase was gained from the building of a 256KB RAM-disk. Late that was expanded with a further 256KB of battery backed CMOS RAM, so that the disk didn't get erased at power off. It was damned fast compared to a floppy. The next major station in my life was being drafted for military service. Life stopped then and so did one's mind. What was that good for??? After the army, the machine development recommenced. The most important step was a hard disk. That placed the whole thing into a new dimension. 40 Megabytes! Unfathomable!

In 2001 I wrote an Arthur-PC emulator for Linux. A screen-shot:

With the appearance of the 40MB disk suddenly I needed an operating system that could handle directories. Unfortunately, CP/M 2.2 couldn't, it had a single root directory (and 15 users, but let's not go into that). In the meantime I got an IBM-PC and I started to build a 68000 based machine as well. Then my friend Döme in a kind of strange way borrowed, or more precisely, took my Hall-sensor keyboard so I could only use the machine from the PC, with a keyboard simulator program, which he hacked together on the PC. That was the last straw, I made a decision. I rebuilt the whole thing. The new processor board accommodated an HD64180 instead of the Z80. The former was faster and more importantly, it had a paged MMU, which catered for a 1MB address range. The video card was based on an M6845. 25 lines, 80 characters each, 16 colours with 32K RAM, that is, 8 pages. The hard disk controller was still based on the i82062 controller chip but now it had a digital PLL instead of the old analogue one. That particular change was not a necessity, for the analogue one had been working perfectly. You bet, it was the thesis work of my brother. He can still be proud of that PLL. A 37C65 went onto the floppy controller so it became capable of handling MFM encoding. With the advent of the hard disk the RAM disk became superfluous, thus the DRAM based board ceased to exist and I modified the 256K CMOS card so that it was mapped into the address space of the processor instead of the old I/O space and counter based address generator solution

Upper left:Hard disk Upper right:CMOS-RAM
Bottom left:Processor Bottom right:Video


All boards in place: CPU, VIDEO, I/O, RAM, HDC, FDC

To replace the keyboard, I came up with the following solution: I bought a PC keyboard, from which I removed everything except the keys. Then I built my first microcontroller based device, a keyboard controller. An 8051 went into it, which used a TTL level serial line to communicate with the machine. For the new hardware I wrote a file system. I called it ARDOS 1.0. It was a shortlived thing. It was, unfortunately, written in assembly and was not really well structured. In the meantime the machine got a battery-backed real-time clock. Excited about the clock, I wrote NewDOS, the file system that runs on the machine even today. It was written in C and well utilised the capabilities of the hardware. It is upward compatible with CP/M, thus it can run CP/M programs but it also can handle diretories and hard links.

This was my EPROM programmer: the 25V voltage converter was built by my brother Attila



After boot, the machine waits for commands like this:



I wrote a full-screen HD61480 debugger, just for myself. It looks remarkably similar to the MS-DOS based AFD program, from which I got many ideas. It had a fairly complicated user interface but it was still better than ddtz.



The picture shows the back side of two boards. Unfortunately, that technology could not really competete with the 100+ MHz machines, thus after a while I could not avoid using a PC, which slowly pushed the Arthur-PC to the shelf. The machine is still operational, though.

Top Last modified: 2010.09.20
Copyright © 2010