Amiga.org
Amiga News and Community Announcements => Amiga News and Community Announcements => Topic started by: pkivolowitz 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
-
Fun read, thanks for that! If you ever find that picture of you huddling over your A1000, you should post it for sake of nostalgia :)
-
Very cool piece of Amiga history, thanx so much for sharing it.
-
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.
-
Paul did die way to young, only 38 years old.
-
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.
-
Very cool story - thank you!
And welcome to a.org, the best Amiga place around! :afro:
-
How does VD0 relate to the RAD disk that came with AmigaOS eventually?
-
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.
-
Ah, VD0/ASDG-RAM. Used it for many years on my 500. Thanks for the story :)
It's still on Aminet (http://aminet.net/package/util/boot/ASDG-rrd), by the way. I'm not sure this is the same version I used, though.
-
Almost has fateful as the cab ride I took which completely altered ASDG. But that's a story for another day
:)
Do tell!!
And welcome to Amiga.org -- You'll never leave!!
-
Perry: Welcome to A.org... It's beginning to look like a familt reunion around here... Dave Haynie was here a little while back. Hedley Davis stopped by to tell the tale of the Memorial Disk Drive. ;-)
Re: RRD. I used to copy my workbench and favorite utilites into it back before I could afford that whopping huge 40MB hard drive.
-
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.
MEMF_REVERSE ;AllocMem: allocate from the top down
There is some new AllocMem() flags that would have made your life much easier back then...
MEMF_LOCAL ;Memory that does not go away at RESET
MEMF_24BITDMA ;DMAable memory within 24 bits of address
MEMF_KICK ;Memory that can be used for KickTag stuff
Some of us are still programming you know. The Amiga is too good to let disappear ;). A lot of people have come back and are having fun with it. There are lots of good forums and enough new hardware being worked on that it can't all be vapor ware. I love 68k assembler programming as well. You should check out http://www.Natami.net/ and http://eab.abime.net/.
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.
-
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.
-
Yeah, I have a tape labeled "Whole Company 1/23/94" - it's an 8mm I think.
Interesting.
-
@pkivolowitz
If you give away source code we would be glad to host it for you on http://www.openvideotoaster.org.
-
Interesting story!
-
But that's a story for another day
Looking forward to the next one then :)
Btw, would be interesting to have a look at that source code too :)
-
@pkivolowitz
If you give away source code we would be glad to host it for you on www.openvideotoaster.org (http://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.
-
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
-
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?
-
I think John Faust went on to make it big in real estate. There really should be a "where are they now" set of links.
-
Well good for John if he did make a real estate killing! My bad, John's last name is Foust! Sorry John!!
Perry, I think you've hit all the ones I remember. BIX was mainly a developer's board as I remember. I spent a couple of years with Harv at PLink and moved to GEnie and worked with Deb! before the WWW took away their reason to live and charge big bucks!
Where are they now indeed! Sounds like a good addition...
Bob
-
I checked out eBay and there is no end to the Exabyte drives available there.
I'm in Maryland and the first big Hamfest (Amateur Radio flea market) of the season is less than two weeks away. I always see Exabyte drives there, often by the boxful :) If the needed drive can be identified, I'd be glad to try and find one, test it if successful, and donate it to the cause. Maybe AdPro can get an update before the next 17 years!
-
Hello, sorry to jump in on a reunion, nice stories. Where is this big Hamfest, I would love to go some place where some one can talk Amiga, most people don't know that there was a choice before. I am in Frederick Maryland and want to start a retro Amiga thing or something.
-
Recoverable RAM disk was a smart idea. I use a ~30MB RAD as my OS (installed from a list of snapshots on cold boot).
-
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.
-
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.
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.
-
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?
-
awesome story! thanks for coming back to the Amiga :-)
-
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?
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.
-
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
-
Thank you. The probability that the tape will die after one pass is non-zero. With irreplaceable data that could be a problem.
True..
You could use a linux Live CD/DVD on your Winderz box and then dd the information from there.
Something like this then:
(assuming /data is some volume that you can write big files to from the Linux boot disk)
[SIZE=-1]
dd bs=265b conv=noerror if=/dev/st0 of=/data/tape.image
Good Luck,
desiv
[/SIZE]
-
(if this message posts twice sorry, I got screwed by having two windows open and it wouldn't recognize the post I spent fifteen minutes typing and researching.... :(
Perry, great to see you here. I think I must have met you at some West Coast US Amiga show, C= in SF, Amiga shows in Oakland, Sac, or Long Beach/Queen Mary? I was never to FAUG but was active in ACCESS in Livermore and Amiga Addicts in Walnut Creek/Concord, hung out with Randy from Winner's Circle.
My A1000 was made FAR more enjoyable by use of the RRD and FACC II. I ended up eventually using C='s RAD: for its ability to accept a Diskcopy from the WB floppy, so that after a speeded up Diskcopy noverify (sounds right anyway), the 1000 would reboot and work from the RAD: like lightning. It was actually faster to do it that way than to boot from the floppy, too! Then I had two physical floppies available for software + storage, which FACC II made way faster as well. Very cool and usable solutions. In fact IIRC, I could load FACC II and then run some games like Bard's Tale, which cut its disk accesses WAY down and made it way more responsive.
Even if I was using the Starboard 2MB instead of ASDG's memory holder.
But your software always seemed high quality. I bought a buddy's software including ADPro when he changed platforms, used it to retouch and tile out a scan of my parents' b&w wedding photos for their 50th anniversary. Printed out at two feet by three feet in b&w on my HP deskjet 500 and carefully pasted up, you really couldn't see from more than three feet away that it wasn't a professional poster. So I put it behind a velvet rope that was four feet away. :) I _still_ think that for many tasks that the Amiga software was just _right_ and far easier to use than packages on other platforms.
Paul T.
-
VD0 might be a great-grandfather of RAD.
Nice story ;) BTW: The Deneb USB 2.0 board comes with a 2+4 MB flashrom and there's a virtual drive there too with a 1.4 MB installer image in it. Comes up right on the workbench after plugging in the Zorro card. Pure Fcking Magic ;) So FD0 could be the nephew of VD0 ;)
-
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.
-
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
Hi, I wonder how the recovery of the VD0/other ASDG sources went? I would be happy to pay a data recovery company to do the extraction forensically as opposed to using a random drive with a dash of "suck it and see". Perry, please PM me if you are listening still and want to organise.
PM'd pkivolowitz too
-
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
I'm gonna look up that drive later today. I'm concerned that if a single pass can kill the tape, a lot of those tapes are linear and not helical scan, which means that the head traverses the tape multiple times (back and forth) in tracks.
-
Hi,
@pkivlowitz,
Sorry to hear about your trouble, not programming the VD0, or having no heat, but living in New Jersey, that had to be horrible. No ordinary man could take that, not only living with yankees, but living with New Jersey yankees. Well it could have been worse, you could have lived in New York.
smerf
-
Hi,
@Tension,
Why don't you tell him the truth,
It should be:
Welcome to Amiga.org, home of the "World Famous Amiga Loonies" here you will become addicted to old processors, new ideas in inventing old machines and hardware, using new hardware to emulate old outdated hardware for the Amiga.
so welcome to Looney world
smerf
-
Hello, sorry to jump in on a reunion, nice stories. Where is this big Hamfest, I would love to go some place where some one can talk Amiga, most people don't know that there was a choice before. I am in Frederick Maryland and want to start a retro Amiga thing or something.
Hi,
@Bigbronc,
Listen all those Radio Hams want to talk about is their rigs, and what they have planned for the future, 99% of them don't want to talk about no ancient Amiga computer, all the new hams will probably think that the Amiga ran on vacuum tubes, and won't have the slightest idea what the Amiga was.
I mean look at Amiga.org, all these new guys want to talk about is Mac computers, and their new MorphOS Amiga emualtor for the Mac. (they probably don't even know what a real Amiga is, or probably never owned one).
By the way I run a Katrinia 2, 10, and 11 meter in my auto, and run a Yaesu. I also have a
Halicrafters and R-390 receiver. (Lets see if any of these modern day hams recognize this equipment, or a National radio that is up in my attic) I also have an old Zenith shortwave radio.
smerf
-
See my ham gear I run on my QRZ page (http://www.qrz.com/db/M0SAZ)
-
Exabyte 8mm drives are apparently helical scan (the first, in fact, for data storage.) Carry on :)
-
I don't remember - was it my RRD that dynamically grew or was it the one that came later?
Fortunately you documented it :-)
http://ftp.back2roots.org/back2roots/cds/fred_fish/goldfish_vol1_9404_cd1/d0xx/d058/asdg-rrd/notes
-
He gave Trevor Dickinson all ASDG source codes to open source them, Trevor never released them. IIRC it was at Amiga 32 see YT