+Larry Posted December 18, 2016 Share Posted December 18, 2016 I have a 320K XE that I want to return to (near) stock condition. Currently, it has KM 41256-15 drams in it. I'd like to leave those, but do I need to bend up a pin on the ram chips to make it behave as 64 kbit chips? All of the other stuff is pretty easy to reverse, but a little voice in my head says that I need to do something to the ram chips. (?) -Larry Quote Link to comment Share on other sites More sharing options...
Gunstar Posted December 18, 2016 Share Posted December 18, 2016 (edited) No, without the memory upgrade board (like Rambo, etc.) the 256K chips will work just like 64K chips. But if you would like some brand-new, fresh off a brand-new motherboard 64K chips, I'd be happy to trade for your 256K chips. As I did a 256K upgrade and want to push it up to 512K. If not, I'll use my 64K chips to push it to 320K. Edited December 18, 2016 by Gunstar Quote Link to comment Share on other sites More sharing options...
suspicious_milk Posted December 18, 2016 Share Posted December 18, 2016 Is it a 130,65,GS? I would likely trade you a stock unit if you're in the US 48. Quote Link to comment Share on other sites More sharing options...
+Larry Posted December 18, 2016 Author Share Posted December 18, 2016 130xe. Thanks, but I'm going to keep it and the 256 chips. It was a Peterson-type upgrade, and I've already removed all the wiring additions. It is completely socketed. Thanks for the info about not having to do anything special. -Larry Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted December 19, 2016 Share Posted December 19, 2016 Very confused. I did the peterson 320k mod and put a switch on it 192k/320k never had a problem, even did the antic mod with the switch.. is there a specific problem that the 320k had to go? Quote Link to comment Share on other sites More sharing options...
+Larry Posted December 19, 2016 Author Share Posted December 19, 2016 No, I wanted a "stocker" for compatibility reasons. No problem at all with the upgrade. And I also now have several external memory upgrades, so I don't need the internal 320K. Edit: Completed the procedure and everything works good. Memory is verified good by tf_hh Sys-Check II. (What a nice device!) -Larry 2 Quote Link to comment Share on other sites More sharing options...
Gunstar Posted December 19, 2016 Share Posted December 19, 2016 Not that it matters at this point, but I've had 256K, 320K and 512K internal upgrades and have NEVER had a compatibility issue due to extended memory. I understand if you want a stock machine, but what compatibility problems did you come across? 1 Quote Link to comment Share on other sites More sharing options...
+Larry Posted December 19, 2016 Author Share Posted December 19, 2016 Custom hardware that requires stock machines for beta testing. Quote Link to comment Share on other sites More sharing options...
+rdemming Posted December 20, 2016 Share Posted December 20, 2016 Not that it matters at this point, but I've had 256K, 320K and 512K internal upgrades and have NEVER had a compatibility issue due to extended memory. I understand if you want a stock machine, but what compatibility problems did you come across? I had. My Databyte tape version of "The Tail of Beta Lyrae" did not work on my 256KB 800XL while it does work when I disable the upgrade. Probably this is because the game supports 4 joysticks (on Atari 400 & 800 models) and changes something to the port B register for reading joystick 3 and 4 that accidentally switches memory banks. I can image that more games that support 4 joysticks have problems with port B extensions. Robert 1 Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted December 20, 2016 Share Posted December 20, 2016 And that is why it would still fail on a 130XE......even if it is stock... You would have to mod the 130XE further and disable the extra Atari built 64K extended bank... Quote Link to comment Share on other sites More sharing options...
+tf_hh Posted December 20, 2016 Share Posted December 20, 2016 (edited) I have a 320K XE that I want to return to (near) stock condition. Currently, it has KM 41256-15 drams in it. I'd like to leave those, but do I need to bend up a pin on the ram chips to make it behave as 64 kbit chips? All of the other stuff is pretty easy to reverse, but a little voice in my head says that I need to do something to the ram chips. (?) Just de-install all additional parts and connect the pin 1 of each 41256 chip together and then to ground or +5V, whatever you like. Then it´s a standard 130 XE again. Watch out, some methods of making a 320 XE includes trace cutting of PB7, mostly below the PIA. After de-installation of all additional parts check pass from pin 17 (PIA) to pin 6 (MMU). Jurgen Edited December 20, 2016 by tf_hh Quote Link to comment Share on other sites More sharing options...
ijor Posted December 20, 2016 Share Posted December 20, 2016 I had. My Databyte tape version of "The Tail of Beta Lyrae" did not work on my 256KB 800XL while it does work when I disable the upgrade. Probably this is because the game supports 4 joysticks (on Atari 400 & 800 models) and changes something to the port B register for reading joystick 3 and 4 that accidentally switches memory banks. I can image that more games that support 4 joysticks have problems with port B extensions. That's interesting. The disk version doesn't seem to have that problem. Are you sure it was The Tail of Beta Lyrae and not Cohen's Tower? Cohen's Tower is known for not working on the 130XE, or XL models with more than 64K. It is not because of supporting 4 joysticks, it is related to the copy protection. Quote Link to comment Share on other sites More sharing options...
+Larry Posted December 20, 2016 Author Share Posted December 20, 2016 Just de-install all additional parts and connect the pin 1 of each 41256 chip together and then to ground or +5V, whatever you like. Then it´s a standard 130 XE again. Watch out, some methods of making a 320 XE includes trace cutting of PB7, mostly below the PIA. After de-installation of all additional parts check pass from pin 17 (PIA) to pin 6 (MMU). Jurgen Hi Jurgen- We are preventing the A8 line from floating? -Larry Quote Link to comment Share on other sites More sharing options...
Gunstar Posted December 20, 2016 Share Posted December 20, 2016 (edited) I had. My Databyte tape version of "The Tail of Beta Lyrae" did not work on my 256KB 800XL while it does work when I disable the upgrade. Probably this is because the game supports 4 joysticks (on Atari 400 & 800 models) and changes something to the port B register for reading joystick 3 and 4 that accidentally switches memory banks. I can image that more games that support 4 joysticks have problems with port B extensions. Robert Yes, of course, I totally forgot about the 800 games that use 4 ports. But no matter what, you will encounter a few incompatibilities across the board, an 800 can't run anything more than 48K, XL/XE's have a few games besides the 4 port ones from the 800 that won't work, etc. But there are now a lot more (and in most cases better) programs that require extra memory than the few 4-port games that may be incompatible with it. Personally I can accept a few 4-port 800 games that may not work in favor of now dozens of 128K+ memory games that can't be used without extra memory. People are losing out on a lot more software by returning computers to stock than a few 800 games gained. But to each their own. Edited December 20, 2016 by Gunstar Quote Link to comment Share on other sites More sharing options...
+tf_hh Posted December 21, 2016 Share Posted December 21, 2016 We are preventing the A8 line from floating? Yes, that´s why I suggest to connect the pin 1s to GND or +5V. This degrades the 41256 to 4164 in a simple way. Jurgen 2 Quote Link to comment Share on other sites More sharing options...
+rdemming Posted December 21, 2016 Share Posted December 21, 2016 That's interesting. The disk version doesn't seem to have that problem. Are you sure it was The Tail of Beta Lyrae and not Cohen's Tower. Yes, it is the Tail of Beta Lyrae, I never had Cohen's Tower back in the day. The Databyte tape version on AtariMania is the same as mine if you want to try. In Altirra, configuration 800XL, 64 KB, XL-OS v3: Works In Altirra, configuration 800XL, 128 KB, XL-OS v3: Hangs after loading In Altirra, configuration 800XL, 128 KB, 400/800 OS A PAL: Works Note that it works on an expanded 800XL with 400/800 OS. I believe this is because the 400/800 OS sets the port B as input (for the two extra joysticks) and in that state it won't affect port B memory extensions. The XL OS sets port B as output (for enabling/disabling OS/Self test) and in that state it can affect port B memory extensions.You would expect that reading from port B register would not affect the port B output pins so it looks like the game does an unintentional write to the port B register. Robert Quote Link to comment Share on other sites More sharing options...
ijor Posted December 21, 2016 Share Posted December 21, 2016 Yes, it is the Tail of Beta Lyrae, I never had Cohen's Tower back in the day. The Databyte tape version on AtariMania is the same as mine if you want to try. In Altirra, configuration 800XL, 64 KB, XL-OS v3: Works In Altirra, configuration 800XL, 128 KB, XL-OS v3: Hangs after loading Interesting because, again, the disk version doesn't have this problem. I was curious ... Doesn't seem related to the 4 joysticks. Actually the game loader is aware of the XL (but not XE) hardware. The game initializes the whole hardware, writing $00 over the whole chipset range, before starting the game. Combine this with messing with PORTB for the purpose of disabling Basic, which is performed slightly different in the tape version than in the disk one. Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted December 21, 2016 Share Posted December 21, 2016 (edited) does it play on a 65xe without issues? also about the floating issue for memory... wouldn't it be better to use +5 and or a limiting resistor to prevent strain if connecting to ground... I hated when memory upgrades first came out and no resistor was in the plans, only to see a year later everyone added them in (with good reason at that) Edited December 21, 2016 by _The Doctor__ Quote Link to comment Share on other sites More sharing options...
ijor Posted December 22, 2016 Share Posted December 22, 2016 does it play on a 65xe without issues? I have no practical way to confirm it, but it should play at least as well as on an 800XL. Is there any difference at the software level between an 800XL and a 65XE? Quote Link to comment Share on other sites More sharing options...
+rdemming Posted December 22, 2016 Share Posted December 22, 2016 Doesn't seem related to the 4 joysticks. Actually the game loader is aware of the XL (but not XE) hardware. The game initializes the whole hardware, writing $00 over the whole chipset range, before starting the game. Combine this with messing with PORTB for the purpose of disabling Basic, which is performed slightly different in the tape version than in the disk one. I've also looked into it with Altirra by setting "access breakpoint" on the port B data ($D301) and control register ($D303). First the OS sets port B so that self-test and basic are disabled and no extended memory banks are selected. When the "Tail of Beta Lyrae" loading screen is started it writes #$FF to port B which disabled Basic if it was not yet disabled. Thus when loading, only the OS rom is active and both the CPU and ANTIC do not use extended memory. When the game starts, there is a loop that puts #$00 in all registers between $D300-$D3FF. And this causes the problem because clearing the region causes a bank switch: A=00 X=01 Y=00 S=F9 P=35 ( I C) 4E9B: 9D 00 D3 STA PORTA,X [$D301] // Enable Self-test and basic, disable OS, CPU and ANTIC use extended memory bank 4, no OS. A=00 X=03 Y=00 S=F9 P=35 ( I C) 4E9B: 9D 00 D3 STA PORTA,X [$D303] // Port B register set to direction mode. A=00 X=05 Y=00 S=F9 P=35 ( I C) 4E9B: 9D 00 D3 STA PORTA,X [$D305 == $D301] // Port B direction set to input, has as side effect that output gets high (FF): Disable self-test and basic, enable OS, CPU and ANTIC use normal memory. A=00 X=07 Y=00 S=F9 P=35 ( I C) 4E9B: 9D 00 D3 STA PORTA,X [$D307 == $D303] // Port B register set to direction mode. A=00 X=09 Y=00 S=F9 P=35 ( I C) 4E9B: 9D 00 D3 STA PORTA,X [$D309 == $D301] // Port B direction set to input. A=00 X=0B Y=00 S=F9 P=35 ( I C) 4E9B: 9D 00 D3 STA PORTA,X [$D30B == $D303] // Port B register set to direction mode. repeated... After the "clear" loop, the port B control register is written with #$3C that puts port B data register back from direction mode in data mode. But during the clear loop, self-test and basic are activated in iteration 1 and deactivated as side-effect again in iteration 5. But also extended memory is enabled in iteration 1 and deactivated again in iteration 5. But this code executes from $4E9B thus it switches itself out if extended memory is available and continues executing in the extended memory bank with a crash as result. Robert Quote Link to comment Share on other sites More sharing options...
+rdemming Posted December 23, 2016 Share Posted December 23, 2016 Interesting because, again, the disk version doesn't have this problem. I was curious ...Combine this with messing with PORTB for the purpose of disabling Basic, which is performed slightly different in the tape version than in the disk one. I was also wondering why the disk version works as it has the same "clear" code at the same memory location ($4E9B) where also the extended memory resides. Thus you would expect it would crash as well. But... the disk version loader has the same "clear code" but then at address $537 thus it also switches to the extended memory bank and back again by the clear of $D305 but it does not crash because the clear code is not in the extended memory region. The loader "clear code" leaves with port B set to input mode. Thus when the game executes the clear code at $4E9B, it won't switch banks because at that time port B is in input mode while in the tape version port B is at that moment in output mode. This also explains why the tape version work on 128KB Atari when it has the 400/800 OS. The 400 OS sets port B to input mode (while the XL OS sets it to output mode) thus the "clear code" does not switch banks. Robert Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.