Welcome, Guest. Please login or register.

Author Topic: Story of VD0 - the invention of the recoverable ram disk  (Read 12745 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline pkivolowitzTopic starter

Story of VD0 - the invention of the recoverable ram disk
« on: March 14, 2010, 06:52:19 PM »
My name is Perry Kivolowitz. I wrote the first recoverable ram disk.
 
At that time, ASDG (the company I founded with Dan Esenther and a third partner almost no one has ever heard about) made only hardware products - specifically a memory board. And the box the memory board went into since there was no expansion capacity in an Amiga (other than chip ram).
 
I heard that a competitor, I don't remember who - maybe it was the great guys over at Microbotics or the sleazebags over at C Ltd, were going to release a ram disk that would survive reboots. Incredible. Wow would that be killer - it would mean an incredible competitive advantage for them - a compelling reason to buy their memory boards.
 
I have to beat them to it, I thought.
 
The key to the RRD (recoverable ram disk) was that the Amiga OS memory allocation call allowed you to specify where the newly allocated memory should come from. The basic call always allocated memory from low memory upwards. But there was this other call (or maybe it was the same call) that would allocate memory from the top down.
 
I pulled out one of the lesser known Amiga manuals, I'm pretty sure it was a printed manual, which described Amiga device drivers. The example disk driver was enormously complex and written in BCPL or was it B. What was the name of the language those wierdos nobody ever heard from again were writing in? I don't remember.
 
I got home from work at AT&T on Friday afternoon and started coding. I coded straight through to Sunday night. Non-stop. Somewhere I have a picture or me at my A1000 wrapped in a blanket (couldn't really afford heat) at the end of that weekend. I did not look good.
 
The RRD was written in assembly language. I loved 68K assembly language. I had been among the first C programmers in academia (when Unix first left Bell Labs) and coded in 68K assembly language at pretty much the same speed as the two were so close.
 
A significant challenge was deciding when the RRD could be trusted after a reboot. There was no memory isolation - any process could nail any byte in memory. The first thing the code did was attempt to find the first bytes allocated to the RRD in memory starting at the top of memory and working its way backwards looking for a sentinel. When / if that was found it then followed a data structure backwards to determine if all the blocks allocated to the RRD were still there.
 
I don't remember - was it my RRD that dynamically grew or was it the one that came later? It might have been mine that dynamically grew. If all of the memory allocated to the RRD was still there it was REallocated (another cool thing about the Amiga memory manager) and then checked with a simple CRC. This is the main thing that slowed down the RRD - computing and checking CRCs to make sure nobody else had blasted the memory without us knowing.
 
There was a rediculous amount of code in there to mimic the crap I found in the example disk driver I was working from. The RRDs that came later didn't have any of that crap as other ways were worked out to write Amiga drivers. I had nothing else to work from but the crappy example.
 
It turns out the other guys RRD never came out. It never existed. Just a rumor. Mine was a huge hit on the other hand and sold us a lot of memory boards. People thought it was magic.
 
For a long time it was available only with ASDG memory boards and it did check for ASDG hardware. At some point down the line I removed the check for ASDG hardware but it was still only provided "legally" by us.
 
At some point after that I made it shareware for $10. I believe it was one of the most successful shareware products ever made on the Amiga. I can tell you that I survived on those ten dollar checks and bills sent through the mail.
 
It has never been told but I worked for years for no pay while building ASDG. I lived off of savings from my consulting days at AT&T - god bless 'em. It was several years (3?) into ASDG's existance that I got my first check. I made $6 an hour. And I was so damn proud.
 
Some time later a German kid reverse engineered my RRD and came out with a much better one. Years later we talked about it and I congratulated him on it. It really was better.
 
Finally, there came a day when Amiga hard disk drives didn't suck so much. Amiga hard drives were INCREDIBLY slow due to badly designed architecture. The first hard drives were slower than floppies. Especially compared to floppies augmented by Facc and Facc II - other early ASDG software products I wrote. Facc II floppies ran at ram speed as they were memory-based clones of the floppy that happened to be loaded at the time.
 
VD0 by the way stood for Virtual Disk 0.
 
EDIT: I should have had a date in here. The original VD0 was written sometime in 1985 or maybe early 1986 as I still lived in New Jersey.
 
p
« Last Edit: March 14, 2010, 07:49:03 PM by pkivolowitz »
 

Offline pkivolowitzTopic starter

Re: Story of VD0 - the invention of the recoverable ram disk
« Reply #1 on: March 14, 2010, 07:09:40 PM »
I have a lot of stories I've never told. Maybe enough of us are dead now that I can start telling them :)
 
Actually, I'm not joking as much as I thought I was. I count my birthdays in terms of how much longer I've lived than Paul Montgomery. Man I am morbid.
 

Offline pkivolowitzTopic starter

Re: Story of VD0 - the invention of the recoverable ram disk
« Reply #2 on: March 14, 2010, 07:31:27 PM »
Quote from: Pyromania;547552
Paul did die way to young, only 38 years old.

In fact I just updated his Wikipedia page to reflect one of his other contributions to the Amiga - the founding of FAUG.
 
I believe it is reasonable to say that had he lived longer he would have been Don King and P.T. Barnum and a dozen of the most well known promoters rolled into one and probably would be governer of California or president of Enron.
 
He was a force of nature. Not all positive, nobody is. But a force of nature non-the-less.
 

Offline pkivolowitzTopic starter

Re: Story of VD0 - the invention of the recoverable ram disk
« Reply #3 on: March 14, 2010, 08:54:13 PM »
Quote from: kolla;547575
How does VD0 relate to the RAD disk that came with AmigaOS eventually?

VD0 might be a great-grandfather of RAD. Probably grandfather. The German kid's version would be Son-Of-VD0.
 
Oh, I remember now. My disk didn't resize dynamically - it ALLOCATED dynamically. At least some of the other recoverable ram disks that came later allocated all of their space in one go. I think there was one that finally allocated dynamically and resized dynamically but that wasn't mine. Actually, to be honest, I don't remember for sure if mine allocated dynamically or not, I know I did something that was better than the next RRD that came out. I have backup tapes that have the source code for everything ASDG did but no way to read them (assuming they are still readable).
 
Apart from this distinction there was little functional difference between them. In practical terms, however, the newer RRDs were faster and smaller. The smaller wasn't by much - we're only talking a few kilobytes at most.
 
I think the main things that make VD0 important are:
 
a) How early it was in the commercial life of the Amiga - it was 1985 or 1986.
 
b) How big a problem it remedied - I know for sure that several major software products would have been much more difficult to write had the authors had to rely purely on floppy disk development. Roman Ormandy for example was very enthusiastic during the development of Caligari.
 
c) The fact that it hadn't been done before. It was PFM at the time. Pure Magic.
 
d) It altered the direction of ASDG. We were a hardware company through and through. The RRD was our first software product and started us towards making software. Almost has fateful as the cab ride I took which completely altered ASDG. But that's a story for another day
:)
 
Bottom line is that it wasn't so much how well the bear danced, it was that the bear was dancing at all.
« Last Edit: March 14, 2010, 09:00:34 PM by pkivolowitz »
 

Offline pkivolowitzTopic starter

Re: Story of VD0 - the invention of the recoverable ram disk
« Reply #4 on: March 15, 2010, 05:38:36 AM »
Quote from: matthey;547631
What format is the ASDG software tape backups in? Maybe someone here has the right tape drive. You should release the code and programs to Aminet. ADPRO at the least, had some features like a large variety of dithering types that would be very handy in other projects.

The would be 1/4 inch Exabyte tapes written probably on an A4000 running Unix with tar. This is just a guess.

I'd have to have a pretty solid understanding with someone to send away the tapes as there would be stuff on there which should not see light of day.

Maybe I should visit eBay and see if there's a drive available. I'd be happy to give away some of the source code.
 

Offline pkivolowitzTopic starter

Re: Story of VD0 - the invention of the recoverable ram disk
« Reply #5 on: March 15, 2010, 05:42:30 AM »
Yeah, I have a tape labeled "Whole Company 1/23/94" - it's an 8mm I think.

Interesting.
 

Offline pkivolowitzTopic starter

Re: Story of VD0 - the invention of the recoverable ram disk
« Reply #6 on: March 15, 2010, 03:04:37 PM »
Quote from: Pyromania;547640
@pkivolowitz

If you give away source code we would be glad to host it for you on www.openvideotoaster.org.

I checked out eBay and there is no end to the Exabyte drives available there.

As an administrator here would you be willing to set up a little forum area and solicit a couple of experts who could give advice on how to do this? My concern is that I might get literally one and only one chance to stick the tape in a drive. I'd like to improve my chances of success on the very first try.

Questions I could use help in include:

  • What Exabyte drive on eBay is likely to be able to read the 1994 era tape at all. Different drives used entirely different ways to organize the magnetic bits.
  • What platform should I use and then what commands? For example, I imagine that something like the Unix command dd (if I remember right) just to load EVERYTHING off the tape without trying to interpret it and then once on disk try to figure out what was on it. Can I do with from Windows? If I use Linux, will the Firewire / SCSI converters work? Is there are different SCSI converter I should use?
Essentially this is a restoration job for a potentially historically important artifact. I'd like some help from experts so that the artifact isn't damaged needlessly.
 

Offline pkivolowitzTopic starter

Re: Story of VD0 - the invention of the recoverable ram disk
« Reply #7 on: March 15, 2010, 06:47:56 PM »
Quote from: beller;547705
Perry!

Great to see you after all these years...it's been a long time since PLInk and GEnie!
Also good to see you're still in Wisconsin.  I ran across John Faust's card the other day....have you seen him lately?  

As someone said, starting to look like a reunion around here.  Welcome!

Bob Eller


Hi Bob,

I haven't seen or heard from John in many years. I don't know if he is still in Wisconsin.

Let's see, there was:
- BIX - where the emoticon might have been invented. Joann Dow et al.
- The WELL - where the emoticon might have been invented. John Draper et al.
- PLINK - Harv's place.
- USENET - comp.sys.amiga.
- GEnie - I didn't go there much.
- COMPUSERVE - $$$

Where else am I missing?
 

Offline pkivolowitzTopic starter

Re: Story of VD0 - the invention of the recoverable ram disk
« Reply #8 on: March 16, 2010, 06:59:49 PM »
I have purchased an Exabyte drive a bit more modern than the tapes hoping it will be backwards compatible.

I could still use some experts to help me make sure I read the tape in one try.
 

Offline pkivolowitzTopic starter

Re: Story of VD0 - the invention of the recoverable ram disk
« Reply #9 on: March 16, 2010, 08:12:20 PM »
Quote from: hardlink;547870
What is printed on the tape cartridges?
Not an expert, but I have used (and still have to use) quite a few different Exabyte drives over the years.


The tape is an 8mm written on an Exabyte drive in 1994. It is probably a 2 or 4 GB tape at most. It would likely have been written on an A4000 running Unix using tar.

I also have some 4mm DATs from roughly the same era but I'll get to those later.

My desire to read the tape only once is driven by experience with very old tapes. The become brittle and will often fly off their spindles.

My hope is to (using a Windows machine) slurp up all data in one or more partitions / segments (forget what they're called) into individual files and then figure out how to parse the files.

I have a Linux machine as well but it is used as a production server and do not want to take it down for SCSI controller installation.

From early memory, a Unix "dd" command could be used to suck the data off the tape without parsing it. Is there something like that for Windows tape (which I have never used)?

Once the bytes are on the Windows machine I can transfer to the Linux server and untar them there - shouldn't be a problem, right?
 

Offline pkivolowitzTopic starter

Re: Story of VD0 - the invention of the recoverable ram disk
« Reply #10 on: March 16, 2010, 10:24:29 PM »
Quote from: LoadWB;547898
There are several implementations of dd for Windows, though I have only used them with drive devices.  Given time over the weekend, I can see if I can get one of the dd's I use to recognize a tape drive.


Thank you. The probability that the tape will die after one pass is non-zero. With irreplaceable data that could be a problem.

Drive and adapter won't be here till next week.

p
 

Offline pkivolowitzTopic starter

Re: Story of VD0 - the invention of the recoverable ram disk
« Reply #11 on: March 26, 2010, 02:09:33 AM »
Making Progress...

I now own the tape drive and a vintage SCSI controller. The SCSI controller is in the Linux machine and seems to be recognized. Was all set to start testing the tape drive and discovered I could not find my SCSI cables. I had a whole box of every variety but maybe I threw them out.

Just ordered a cable on eBay.

I have a big project come up now so I won't be able to get back to this effort for a couple of weeks.

While looking for the SCSI cables I found just about a complete set of Amazing Computings, a bunch of other Amiga mags including Compute! and Info!, my baseball card collection and the production notes from the Star Trek (STTOS) episode The Metamorphosis, including salaries, hours, addresses down to what lens was used on which camera in what scene. Thought I had lost it.