CompuServe Thread

Forum unknown · Hardware

#1 MEG Ram Expansion

21 messages in this thread
#44432From: Dave Haynie/C128 LandDec 18, 1986 1:16 PM
Unless the memory is hidden away somewhere (like the $080000 of C. Erving's original piggyback scheme), you'll really miss the autoconfiguration if you plan on hooking up anything else that's autoconfiguring. The thing is that the allocation of the non-reserved 8 megabytes takes place early in the booting process. Everything that's autoconfiguring will normally be assigned non-conflicting addresses to run at, and even if they somehow end up conflicting, the hardware supports a collision-detect mechanism to take care of warning you immediately about this (possibly preventing damage to your conflicting boards). If you have a some internal memory, its got to be hardwired into a particular address space. Chances are, you'll be wired into non-reserved memory, since there's not that much in the way of reserved memory that you could possibly use. The autoconfiguration mechanism can't possibly know about this extra memory, and so has a very good chance of overlapping. You then go and ADDMEM, or whatever, but its too late by then, and any number of weird things can happen once you actually start using this illegally positioned memory. That's the real big disadvantage to non-autoconfiguring memory; of course, you don't get the benefits of saving on Chip memory and leaving AddMem off of every disk, either, but neither of these is particularly dangerous to your hardware, the first problem can be. And by the way, there's not nearly enough free power for an internal 8 megs. -0Dave
#44542From: Larry Phillips/ICUGDec 19, 1986 12:07 AM
Hazy, Is there any way to tell the autoconfig routines that you absolutely MUST be configured at a certain address? Regards, Larry.
#44623From: Dave Haynie/C128 LandDec 19, 1986 10:53 AM
Not that I know of. Though maybe, I haven't looked over the autoconfig software that closely. The board would CERTAINLY have to autoconfig anyway, since it would have to be visible to the system during the autoconfiguration process, which happens before the main system is up. -Dave
#44713From: Larry Phillips/ICUGDec 20, 1986 1:30 AM
I see. Too bad. I have an idea for something that might have to reside in a particular place, though I suppose with some extra work it could be made to allow it to go anywhere. Regards, Larry.
#45007From: Dave Haynie/C128 LandDec 21, 1986 10:47 PM
Sorry, I can't find anything in the documentation that indicates a good way of fixing a board in a particular address range. The software definable loaction of all PICs and the logic necessary for autoconfiguration certainly get in the way of home brew stuff with this machine. There is one slightly nasty way to get a fixed memory address that won't fight too much with autoconfiguration stuff, at least in current Amigas. What you do is pick an Amiga-reserved memory location that doesn't have anything really in it. This prevents an autoconfigured thing from grabbing your address space the same time you're trying. Then you preform the address detection on your board and lock out internal selection via the overlay (/OVR) input. Now, overlay seems to have a number of problems, the worst being that the timing on this is VERY critical. And its not a really nice way of interfacing to the Amiga, but can do in a pinch. I suppose another solution would be to re-configure anything that conflicts with your board. Essentially, you hook up your fixed address board, set so that a port on it somewhere must be written by you before the thing will respond. Then boot up your Amiga as usual. You look at the add-ons to see if anything is sitting in your chosen location. If it is, you re-configure it so that it goes somewhere else. This could require some tricky software, but it should be a bit more upward compatible than the previous way. I don't know for certain if there's any other way, though I've never read of one. -Hazy
#45021From: Larry Phillips/ICUGDec 21, 1986 11:49 PM
I will take a look at another way of doing it, though I don't hold out much hope for it. The reconfiguring sounds like the way to go, unless we decide that we never want to do it on any future models, in which case we will just grab a slice of chip memory and leave it there.
#45113From: Jon BryanDec 22, 1986 7:00 PM
I was told yesterday that decoding memory to $C00000 was a source of conflict on some planned CBM products. I understood this was directly from CBM. Do you have anything to add? Do you work for CBM?
#45122From: Brian NiessenDec 22, 1986 7:25 PM
Jon, just a note to keep you from looking foolish, Dave (Hazy) Haynie is one of the engineers at Commodore in West Chester. He is now designing the new Amigas, so I think his word is quite a good source of information.
#45122From: Brian NiessenDec 22, 1986 7:25 PM
Jon, just a note to keep you from looking foolish, Dave (Hazy) Haynie is one of the engineers at Commodore in West Chester. He is now designing the new Amigas, so I think his word is quite a good source of information.
#45179From: Dave Haynie/C128 LandDec 23, 1986 12:18 AM
Yea, I do work for CBM. About all that I can say is that $C00000 is a 1.2 supported area for a possible on-board cheap memory expansion, like the one I posted here. If you've got any Amiga expansion specs, you'll notice that $C00000 is listed as reserved memory. Thus, NOTHING that hooks up to the expansion port is allowed to use this memory. Whether CBM or anyone else markets a thing. Properly executed expansion hardware is told by 1.2 where to go, so this is never a problem anyway. Since nothing that hooks up is located at a fixed address, and nothing that hooks up will ever be located in reserved memory at $C00000, its a safe location to use. This is not to imply that a future Amiga system wouldn't use the $C00000 area for something, but as that's an internal system issue, not an expansion issue, there's no possible conflict. You can (and really should) put the piggyback RAM at $C00000, if you're going to put it anywhere. That's something officially supported by OS 1.2. As for my modifications, that's something that I've come up with, and I believe will work well. Its not officially blessed by C-A or CBM in any way, shape, or form, from a hardware point of view. Of couse, neither is the original piggyback modification. -Dave (who REALLY works for Commodore Technology, often confused with CBM, since they're different branches (Engineering vs. Manufacturing) of the same international corporation.)
#45199From: Larry Phillips/ICUGDec 23, 1986 3:15 AM
Hazy, I was chatting with a fellow yesterday about addon memory, and he asked if I had a Mfg. number from CBM yet. I said I didn't, and didn't need one. His next comment made me stop and think. He seems to think that if we don't have one on the memory expansion, that other expansion devices (non memory) might not have one either, and that there could be a conflict when the driver for the other device is linked in. ie. that it might add the driver giving the address of our memory. I am skeptical, but of course remain open to suggestions. <grin> We are trying to implement a minimal autoconfig without resorting to PALs because we will want to supply bare boards only, and not bother with having to supply PALs.
#45199From: Larry Phillips/ICUGDec 23, 1986 3:15 AM
Hazy, I was chatting with a fellow yesterday about addon memory, and he asked if I had a Mfg. number from CBM yet. I said I didn't, and didn't need one. His next comment made me stop and think. He seems to think that if we don't have one on the memory expansion, that other expansion devices (non memory) might not have one either, and that there could be a conflict when the driver for the other device is linked in. ie. that it might add the driver giving the address of our memory. I am skeptical, but of course remain open to suggestions. <grin> We are trying to implement a minimal autoconfig without resorting to PALs because we will want to supply bare boards only, and not bother with having to supply PALs.
#45346From: Jon BryanDec 24, 1986 12:09 AM
Thanks for the reply. $C00000 sounded ideal, and I became quite concerned when I was told that it might cause problems in the future. I haven't modified my machine yet because I'm concerned about making my software incompatible with other people's machines. I've been writing a column on Forth for Amazing Computing, and I've already goofed several times. I really NEED expansion memory just so that I can write programs which behave themselves properly.
#45346From: Jon BryanDec 24, 1986 12:09 AM
Thanks for the reply. $C00000 sounded ideal, and I became quite concerned when I was told that it might cause problems in the future. I haven't modified my machine yet because I'm concerned about making my software incompatible with other people's machines. I've been writing a column on Forth for Amazing Computing, and I've already goofed several times. I really NEED expansion memory just so that I can write programs which behave themselves properly.
#45179From: Dave Haynie/C128 LandDec 23, 1986 12:18 AM
Yea, I do work for CBM. About all that I can say is that $C00000 is a 1.2 supported area for a possible on-board cheap memory expansion, like the one I posted here. If you've got any Amiga expansion specs, you'll notice that $C00000 is listed as reserved memory. Thus, NOTHING that hooks up to the expansion port is allowed to use this memory. Whether CBM or anyone else markets a thing. Properly executed expansion hardware is told by 1.2 where to go, so this is never a problem anyway. Since nothing that hooks up is located at a fixed address, and nothing that hooks up will ever be located in reserved memory at $C00000, its a safe location to use. This is not to imply that a future Amiga system wouldn't use the $C00000 area for something, but as that's an internal system issue, not an expansion issue, there's no possible conflict. You can (and really should) put the piggyback RAM at $C00000, if you're going to put it anywhere. That's something officially supported by OS 1.2. As for my modifications, that's something that I've come up with, and I believe will work well. Its not officially blessed by C-A or CBM in any way, shape, or form, from a hardware point of view. Of couse, neither is the original piggyback modification. -Dave (who REALLY works for Commodore Technology, often confused with CBM, since they're different branches (Engineering vs. Manufacturing) of the same international corporation.)
#45113From: Jon BryanDec 22, 1986 7:00 PM
I was told yesterday that decoding memory to $C00000 was a source of conflict on some planned CBM products. I understood this was directly from CBM. Do you have anything to add? Do you work for CBM?
#45021From: Larry Phillips/ICUGDec 21, 1986 11:49 PM
I will take a look at another way of doing it, though I don't hold out much hope for it. The reconfiguring sounds like the way to go, unless we decide that we never want to do it on any future models, in which case we will just grab a slice of chip memory and leave it there.
#45007From: Dave Haynie/C128 LandDec 21, 1986 10:47 PM
Sorry, I can't find anything in the documentation that indicates a good way of fixing a board in a particular address range. The software definable loaction of all PICs and the logic necessary for autoconfiguration certainly get in the way of home brew stuff with this machine. There is one slightly nasty way to get a fixed memory address that won't fight too much with autoconfiguration stuff, at least in current Amigas. What you do is pick an Amiga-reserved memory location that doesn't have anything really in it. This prevents an autoconfigured thing from grabbing your address space the same time you're trying. Then you preform the address detection on your board and lock out internal selection via the overlay (/OVR) input. Now, overlay seems to have a number of problems, the worst being that the timing on this is VERY critical. And its not a really nice way of interfacing to the Amiga, but can do in a pinch. I suppose another solution would be to re-configure anything that conflicts with your board. Essentially, you hook up your fixed address board, set so that a port on it somewhere must be written by you before the thing will respond. Then boot up your Amiga as usual. You look at the add-ons to see if anything is sitting in your chosen location. If it is, you re-configure it so that it goes somewhere else. This could require some tricky software, but it should be a bit more upward compatible than the previous way. I don't know for certain if there's any other way, though I've never read of one. -Hazy
#44713From: Larry Phillips/ICUGDec 20, 1986 1:30 AM
I see. Too bad. I have an idea for something that might have to reside in a particular place, though I suppose with some extra work it could be made to allow it to go anywhere. Regards, Larry.
#44623From: Dave Haynie/C128 LandDec 19, 1986 10:53 AM
Not that I know of. Though maybe, I haven't looked over the autoconfig software that closely. The board would CERTAINLY have to autoconfig anyway, since it would have to be visible to the system during the autoconfiguration process, which happens before the main system is up. -Dave
#44542From: Larry Phillips/ICUGDec 19, 1986 12:07 AM
Hazy, Is there any way to tell the autoconfig routines that you absolutely MUST be configured at a certain address? Regards, Larry.