Even on the XT, where there is the potential for a LOT more conflicts, our 16 possible locations for IO and memory is way overkill. At best, I think I only ever heard of 2 conflicts with NIC devices. The jr is such a closed box that we can limit the scope of ranges safely. whatever though. once we're buying and placing a 3 position dip switch, upgrading it to a 8 switch part isn't really any more overhead. It's a waste, but not worth the fight.Brutman wrote: Given that we have a wide array of I/O space and ROM space to choose from we should not be restricting ourselves to three switches through the existing hole of a particular sidecar. Three switches are not enough and people might be using a different sidecar shell that does not even have the hole.
We should be providing the same 16 selections that the XT-IDE provides, with the selection that overlays the onboard serial port considered to be a known user error. For an 8KB ROM we should be allowing the user to choose any 8K window in the range of C000:0000 to C000:FFFF and D000:0000 to D000:FFFF.
No, we don't. This one I will fight you over.And I know I pointed this out before, but we really need 512 bytes or 1KB of RAM on the card too to avoid memory map conflicts with the BASIC interpreter and other reserved areas.
We point the FDPT to the eeprom. Even the byte at 40:75 (disk drive count) can be set in the eeprom too. That stuff only gets re-written if the drive itself changes or if additional drives are detected in the system (rare).
We need 512bytes of RAM at bootup to receive the IDentify device data to get the drive parameters. We can use system RAM for that (we'll have 640k of it!). That memory is scratchpad anyway and isn't used after we collect the drive parameters. The only data remaining is the status byte (40:8c), which needs to go into RAM. If we can't find 1 stinkin byte to steal from the BDA for that, I will buy you lunch for a year.
We just have to make sure the device can write to itself, and that we use atmel eeproms.