Jump to content
IGNORED

Software Development on the Atari 8-bit with a Corvus Hard Disk


Recommended Posts

This video demonstrates a 1982 era setup of an Atari 800 with 256K of Axlon memory being attached to a Corvus 6 megabyte hard drive, and going through workflows of developing software with the Atari Macro Assembler (AMAC), and its associated text editor (MEDIT). Other housekeeping functions are also shown, and the Atari Amoeba debugging tool makes a short visit.

 

Enjoy,

-Thom

 

 

 

  • Like 8
Link to comment
Share on other sites

  • 4 weeks later...

This is extremely disturbing to watch. In 1990, when I stopped coding in assembler on Atari (ATMAS II), I was still using tape and although we had Turbo 2000, it did not apply to loading/saving source or compiling off the tape..

 

And that was about a decade after this.

 

Considering that Floppy Drive cost more than Atari in my country, and I recognize that this is beyond hypothetical, but what was the price of this Corvus thing ? Could one even buy it, like in a store in US ?

 

Or was this sort-of like console dev-kits, where only famous and successful SW houses were allowed to buy one of these [for -assuming- some ungodly heaps of money] ?

 

WtF !!!

Link to comment
Share on other sites

VladR: Corvus was a company that made storage and networking solutions for microcomputers throughout the 1980s.

 

Starting in late 1980, they sold hard drives and interfaces for a variety of systems starting with the Apple ][, then S-100 systems, TRS-80 Model I/II/III, Commodore PET, IBM PC, and others. They started selling the Atari interface in early 1982 (and had started working on it the year before).

 

You could buy these drives from various suppliers in the US, a 6 megabyte Corvus like I am using here cost $1,895 USD new in mid 1982. This was retail price. Corvus had slightly differing models as things changed, but usually sold drives in 5, 10, and 20 megabyte increments, with some slight derivation due to model of disks used.

 

The drives themselves had their own intelligent controllers, conforming to their own de-facto standard, so as long as you had the appropriate interface, you could attach a disk and add another one. For most Corvus systems, this was two disks maximum.

 

But things got more interesting:

 

Corvus also offered a multiplexer, which would allow multiple interfaces attached to multiple computers to control the same disk. This was possible because Corvus's drivers tended to think of the corvus disk as a stack of floppies, so computer 1 would use one section of the disk, computer 2 would use another, and so on.

 

This was quickly evolved into the Corvus Omninet, which was a cheaper alternative to Ethernet (I mean this quite literally, Corvus was started with the mission of bringing inexpensive networking and disk to professional and educational customers. Omninet utilized CSMA/CD signalling over twisted pair at 1 megabit/sec, something that would presage 10Base-T for a decade.), so that tens or hundreds of computers could use clusters of Corvus disks. I mostly saw this implemented in classrooms.

 

Most Corvus disks also came equipped with what they called Mirror, which was their backup solution. It was a dirt simple block to videotape storage. You'd hook up a VTR (it even had motor control support, if you had a VTR that could expose start, stop, ff, or rew), and run the mirror program, and dump your whole disk to videotape...or vice versa.

 

-------------------

 

For the Atari side, the Corvus was a very welcome alternative to disk storage for software developers. It provided a reasonably fast (believe it or not, you can twiddle those PIA bits on the joystick ports, really fast) mode of storage that was infinitely faster than anything on the SIO bus, and it was flexible to set up. It did mean that you had to use Corvus's patched Atari DOS, but this was later worked around by a personality board replacement for the Atari 800, which patched the SIOV/DSKINV routines for the Corvus drives, so that you could run any reasonably compliant OS on those drives (read: NOT SPARTADOS X), this was called the ADS Integrator.

 

Later still, flashjazzcat, in light of Altirra's support for the Corvus disks, decided to write an APT driver for them, which exposes the whole corvus disk as a linear drive to SDX that can be partitioned in the usual way.

 

-Thom

  • Like 6
Link to comment
Share on other sites

Thanks a lot for the history writeup. It's great to hear that one could actually buy it in a store, if he had the resources. In today's money, tax including, it's roughly equal to $5,400 But, if one was a SW developer in 1982 in US, it should have been somewhat affordable (if expensive). Definitely possible to save up for it (or use credit card).

 

So, the next-gen thing, that I was enjoying so much, when I switched from Atari 800 to PC XT/AT (HDD, IDEs with compilers) in 1990, actually existed on Atari a decade before. This will take me probably few days to digest and make internal piece with...

 

I'm not even going to comment on the networking side of things, that's jut beyond ridiculous! So, one could actually have a network storage with 2 Ataris at home in 1982 !!!!

 

 

Would it be possible to have a video of what it looks like and how long it takes to compile a source that does not fit into memory and has to be loaded from the drive ? Say, a 64 KB source code ? Because that option alone is worth the money. To me, at least, since I was fighting lack of RAM constantly when coding in ATMAS. The productivity increase of using a Corvus in ASM coding when using long source code must be close to two orders of magnitude compared to 600 Baud tape...

  • Like 1
Link to comment
Share on other sites

Yeah, I could probably put together something e.g. with the discovered source code for a few different games (a variation of AMAC was the official assembler at Atari, running on a Data General MV/8000). Most big projects were broken into different files and would be included in a master file.

 

-Thom

  • Like 1
Link to comment
Share on other sites

Some illustrative material that I have pulled from others, since my original Corvus setup is long gone:

 

A Corvus 6MB disk:

fd152166ebdb0f5cb530af1186892a2c.jpg

 

The back of a Rev C 5MB disk: The mirror ports are the two RCA ports on the back, which provide video.

 

post-27823-129992192657.jpg

 

 

The Corvus host adapter for the Atari is merely a multiplexed 8-bit bus interface, built out of a small bit of TTL logic. One end connects to the disk drive, the other connects to joystick ports 3 and 4 on your Atari (you can modify the system software to use 1 and 2)

 

post-27823-0-57018200-1380688981.jpg

 

 

 

And a demonstration of the boot process:

 

Corvus 20mb disk unit (the 5 and 10s looked the same) are those BIG WHITE BOXES on the right, power on, and boot...note most of the time spent is waiting for the disk to spin up and the controller to signal ready. If you leave the disks on (as I always did), boot is the last few seconds of the video:

  • Like 3
Link to comment
Share on other sites

I'll post here if / when I get any more info about the interface. BTW, it is a nybble (4 bit) interface, with the other joy port being control lines.

 

Edit: DAMN! Why do I always forget stuff and have to edit? It sucks. But anyhow...

 

(Back in the 90s) We had the Corvus working under SDX 4.21 using an ADS Integrator board and a custom OSSIO.SYS driver (much like SIO /A). IIRC, we put that in 4.22.

 

It still looks like a stack of floppies that way,

 

I just wish I had that Integrator ROM now!!! I *WILL* get it :)

Edited by Kyle22
  • Like 2
Link to comment
Share on other sites

I'll post here if / when I get any more info about the interface. BTW, it is a nybble (4 bit) interface, with the other joy port being control lines.

 

Edit: DAMN! Why do I always forget stuff and have to edit? It sucks. But anyhow...

 

(Back in the 90s) We had the Corvus working under SDX 4.21 using an ADS Integrator board and a custom OSSIO.SYS driver (much like SIO /A). IIRC, we put that in 4.22.

 

It still looks like a stack of floppies that way,

 

I just wish I had that Integrator ROM now!!! I *WILL* get it :)

 

Yes, this is true, the interface to the Atari is a nybble interface... I keep thinking of the bus from the drive.. .:)

 

I never got to touch the integrator, only saw the announcement for it.

 

I'd love to get working a set of replica hardware, e.g. hard drive replacements, multiplexor, etc..as a way to do an Atari LAN...there just isn't that much hardware.

 

-Thom

  • Like 2
Link to comment
Share on other sites

  • 9 months later...

Thanks for making the video, its what brought me to the forum. :D Call me a sceptic but I couldn't believe what I was seeing so I went ahead and replicated the steps on my own.

 

All I can say is its amazing how fast that setup is, the way you can just bounce back and forth between MEDIT and AMAC, run the code then debug any issues with Amoeba. I kept having to check to see if the emulator was forgetting the settings and gone into turbo mode.

 

The thing that kept running through my mind was "This would be all kinds of awesome for Forth development" If I get desperate I could look at getting e-forth to run (as its only 30 routines to write in target's assembler/system) but that will be slower than valforth...

I figure the productivity gains would be the same as what I found with assembly development. So its well worth looking into.

 

I thought about using a cartridge image to put forth onto but I think there are going to be hidden gothcha's to doing something like that because it seems like such a obvious thing for someone to have done in the past. There had to have been a sound reason not to go that route.

 

One thing I would like to do is get some version of fig-forth running on corvus though. I have tried valforth but I am new to the Atari (I can write z80 assembler though). I am not 100% sure if its possible. My question is if its not possible to get valforth running on it is there another fig forth that is going to have a low profile and enable me to use the extra ram that the corvus setup has?

 

What I am hoping is being able to use one of the drives for the forth screens and possibly get action! running on another.

 

Is this an unrealistic idea? Don't get me wrong its great to be able to use the assembler and debugger like this. But with forth & action it would be on a whole different level of cool.

Edited by NomadWiggy
  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...