carmel_andrews, on Sat Nov 18, 2006 3:20 AM, said:
I think there might be an issue with the Port B location ($D301)
In the 800 it's used for joysticks 3/4, in the xl/xe it's used for bank switching...has wererat come across this yet
Also any dos older then dos 2.5 (ramdisk version), with built in 800 stylee ramdisk option, if loaded in xe mode might still be trying to access mem. loc $d800 (the 800/400's bank switching location) in an xl/xe this location might not be used and therefore might crash the program (dos)
This upgrade converts the memory map on the 800. I thought I explained this thoroughly before in the older threads relating to the upgrade, but with this board plugged in, you *lose* 800 compatibility. Ports 3/4 are electrically connected to the board (hence the need for running connections to the motherboard), so therefore the memory map is identical to one on that of a XL/XE. As a result, you *cannot* use ports 3 and 4. If you plug joysticks in there and try to use them, you will crash the machine. The 800 can be returned to stock by plugging in the original boards.
I have studied the 400/800 architecture very thoroughly and I understand where and what changes need to be done to meld the bridge between these first-generation Atari's and the later models. So any plug-in cards that work in the 800, will no longer work. No Omnimon, no Omniview, and no memory cards of any kind. XL/XE hardware compatibility and full 800 compatibility are mutually exclusive, period. This is a single board that plugs in the personality module slot. Therefore in keeping with Atari's original intention for this machine, you can change the "personality" of the machine by switching boards. Well, you can.
So to address your statements directly:
Quote
In the 800 it's used for joysticks 3/4, in the xl/xe it's used for bank switching...has wererat come across this yet
Yes, and Yes. In this 800 upgrade, PIA PORTB is used for XL/XE memory management. You lose the ability to run devices in ports 3/4. None of this would be possible in a compatible way if you didn't give up ports 3/4.
Quote
Also any dos older then dos 2.5 (ramdisk version), with built in 800 stylee ramdisk option, if loaded in xe mode might still be trying to access mem. loc $d800 (the 800/400's bank switching location) in an xl/xe this location might not be used and therefore might crash the program (dos)
Why do you say the bank switching area is $D800? What specific brand of 800 memory upgrade did this? Axlon banked memory via writes to $CFFF to select the bank, and the bank appeared in 16K increments in $4000-$7FFF. Some home-built 800 upgrades used $D700 instead, but the memory still appeared in $4000-$7FFF. Some other boards mapped the remaining 16K out of the 64K in $C000-$CFFF, in 4K increments. Regardless, it doesn't matter. $D800 is the 2K Floating Point ROM in both the 800 and the XL/XE. There is no way to switch it out, unless you have a PBI device, which while the hooks are there in this upgrade to do it, it is not specifically implemented.
You have a full XL/XE memory map, so it makes about as much sense to run an 800 version of a ramdisk program that doesn't work on an XL/XE on this modified 800, which from a hardware perpective, *IS* a XL/XE. So yes, naturally, it will not work. No 800 style bankswitching will work with this.
There are a few folks here in the forum that have either seen this personally, or have some of my initially modified cards and can validate software compatibility:
Metalguy66 (has seen my 800)
Almost Rice (has a true 64K 800 with 800XL compatibility, no switchable BASIC or selftest, also has seen it)
JR> (64K 800, 800XL compatibile, no switchable BASIC or selftest)
doctorclu (has the second of the 576K upgrade, full 130XE, his plugs into ports 3/4)
I'm not modifying ROM cards for this anymore, it's easier just to build a PCB with everything on one board.
The only thing this upgrade doesn't provide, is a HELP key.