Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!rutgers!tut.cis.ohio-state.edu!pacific.mps.ohio-state.edu!linac!att!pacbell.com!pacbell!indetech!vsi1!zorch!amiga0!mykes From: mykes@amiga0.SF-Bay.ORG (Mike Schwartz) Newsgroups: comp.sys.amiga.programmer Subject: Re: Mike Farren Tutorial. Message-ID: Date: 30 Mar 91 08:30:48 GMT References: <20115@cbmvax.commodore.com> <1991Mar27.012717.11541@starnet.uucp> <1998@aldebaran.cs.nps.navy.mil> <1991Mar27.175514.25590@cunixf.cc.columbia.edu> <20198@cbmvax.commodore.com> Organization: Amiga makes it possible Lines: 147 In article <20198@cbmvax.commodore.com> jesup@cbmvax.commodore.com (Randell Jesup) writes: >In article mykes@amiga0.SF-Bay.ORG (Mike Schwartz) writes: >>I have been lobbying Commodore to solve the problem. The problem is not with >>the developers, but with the OS. What I suggest CBM does is to provide entry >>points in Exec for software that takes over the machine to access both the >>floppy drives and the hard disks. It is easy enough for them to do for 2.0 >>before it goes to ROM. >> >>The problem with hard disk support is that it REQUIRES the OS. Since all hard >>disk controllers have ROM on them, the controllers could easily provide the software >>routines needed to directly access the hard disk. Commodore should provide routines >>in Exec that allow AmigaDos access to the hard disk through this mechanism. > > "easily"???? Their drivers depend HEAVILY on the system being >fully up and available. For example, an A590 with SCSI and IDE(xt) drives >has 3 tasks running, passing messages back and forth. Rewriting that >to not use exec would require taking one of our (few, and VERY busy) >programmers and having him devote 3-6 months to it (plus QA time, etc). >You think every 3rd-party is going to spend that sort of money? ($20-50,000, >depending on overhead, programmer experience, how long it takes.) > I programmed a custom 68000 box with a SCSI interface on it. The interface is trivial to write a driver for. All the manufacturers need to provide is the abililty for the proposed new ROM routines to read/write sectors. It doesn't require multitaskin or any OS to read/write sectors from the hard disk. Yes, GVP and other manufacturers are going to have to put extra code in their ROMs to support this simplistic form of access. My GVP manual describes all of the routines that their harddisk.device provides. All they need to do is to make the lowest level routines of that device public. You are exaggerating the requirements. At some point in every disk device (floppy or hard disk) you have to read and write sectors. This is the only capability that is needed. > And we haven't even discussed filesystems. being able to read/write >the disk doesn't help, you need to read/write files on the disk. This means >we'd have to rewrite the filesystem to work in this funny mode. This might >be completed in 3-6 months (assuming we had a spare programmer (the current >FS programmer is busy with another long-term project), but would require a >LOT of QA time, and would require 15-25K of rom. We're tight enough that we >fight for 1K. > You published source code in 'C' in AmigaMail that parses AmigaDos sectors on disk. It did not look like 25K of code. You are going to need the "takeover" programs to provide you with RAM buffer addresses to read the sectors into. If worse came to worse, I would be happy to call a routine in the ROM that would decompress the appropriate routines into RAM somewhere. You can save space that way. By the way, how much of the ROM is still in 'C'? If it weren't in 'C', you would save lots of K. >> Single >>tasking computers can do it, so can the Amiga. There is no need for Exec or AmigaDOS >>to be running to read the data from the drives. If Commodore provides this support, >>we will all see more HD Installable games, especially those that take over the machine. > > Said single-tasking computers either don't have an OS, only a program >loader (MSDOS), so it's already done, or they only support one filesystem >and one drive interface (Mac) - and do people really take over the Mac and >then access the harddrives? I assume the ST is similar to one or both of >those. > Atari publishes all the technical information required to access their hard disks through their DMA controller (which is built in to every ST). Single tasking computers (i.e. PCs) support a wide variety of hard disks/controllers with little effort. All we need is the ability to OPEN/READ/WRITE/CLOSE files on hard disk. We don't need multiple tasks to be able to access the files at the same time. We don't need Locks. You don't need DosPackets or any of the rest of the "junk" that the OS demands (and rightly so). Here is a simple explanation of the process of using hard disk without the OS: 1) Amiga boots, hard disk autoconfigs, Exec finds address of low level access routines on controller card and stores the addresses in ExecBase variables. 2) Someone loads my game (either from bootsector on floppy or by ICON or CLI). 3) My program looks at ExecBase to find the address of the low-level routines, plus the AmigaDos parser routines (well known locations). I can then take over whatever I want. 4) When I want to use hard disk, I call the Exec routine to decompress the rest of the hard disk access code into RAM. 5) I can then call Open() to open an AmigaDos file (who cares about other file systems). I will tell your routines where the controller's ROM routines are located (I saved them before I took over). 6) The routines in RAM call the low-level hard disk access routines provided by the controller to read in the ROOT block and can then locate the AmigaDos directory structures and ultimately the sectors on disk where the requested file resides. 7) When I call Read(), you read the appropriate sector(s) into the buffers I ask for. > Just because you ask for it doesn't mean it feasible, practical or >sensible. The amiga does have an OS, and as the line changes over the coming >years, using the OS will help insulate you from hardware changes. It is not >a game machine - if it was, there'd be no rom, no disk drive (cartridge), and >maybe no keyboard. It's a computer that happens to also be able to run >really good games. We won't cripple our future and hamstring our OS just >for games that take over the machine. > This illustrates exactly what the rest of the industry says about Commodore. The company comes across as not knowing what kind of machine they have. On one hand, you have the Amiga 500 which IS a game machine and is NOT much more useful for business/workstation uses than the C64 is. And on the other hand, you have the A2000+ class machines which are what you describe. Which of your machines are selling? Even if CBM stops selling the A500, 3rd parties will support it for 3-5 years more. People are still making C64 products. Compare the A500 with the lowest-end Mac. The classic has the ability to run a significant part of the business applications (it has 1Meg of RAM and separate memory for screen). The A500 has <400K with the OS running, and then the applications need memory for screens/windows/layers/messages and all the rest of the dynamic memory allocation that the OS does. Can you plug a video toaster into a stock A500? Can you run a complex application like Sculpt 4d? Can you run CygnusEd and edit a file > 200K? I submit that you won't be crippling your OS by adding the additional functionality of hard disk access. You will only be making all these screamers on the net happy because software written for the A500 will support more features of the (far fewer) workstation class machines. I don't see how this suggestion cripple's your future or Hamstring your OS. I see little added engineering cost involved for you and your 3rd party hard disk manufacturers. Just think of how well AMax would work if they had access to the low level drivers. >-- >Randell Jesup, Keeper of AmigaDos, Commodore Engineering. >{uunet|rutgers}!cbmvax!jesup, jesup@cbmvax.commodore.com BIX: rjesup >Thus spake the Master Ninjei: "To program a million-line operating system >is easy, to change a man's temperament is more difficult." >(From "The Zen of Programming") ;-) -- ******************************************************** * Appendix A of the Amiga Hardware Manual tells you * * everything you need to know to take full advantage * * of the power of the Amiga. And it is only 10 pages! * ********************************************************