alex_79 Posted February 24, 2021 Share Posted February 24, 2021 (edited) You need to initialize SWCHA, SWACNT, SWCHB and SWBCNT to 0 in the PlusCart menu. Those registers are automatically zeroed by the reset sequence of the 6532, so usually initialization isn't needed unless you need a different behaviour (e.g. for keyboard controllers, atarivox and other peripherals). But when using the "emulation exit" function instead of power cycling the console, the 6532 reset sequence doesn't take place, so there could be issues with the controllers and/or console switches if the rom that was running before set the RIOT ports to output. Edited February 24, 2021 by alex_79 2 Link to comment Share on other sites More sharing options...
+Andrew Davie Posted February 25, 2021 Share Posted February 25, 2021 (edited) Stella manual says SWCHB is read only, and the only mention of SWBCNT is to give its address and say it is hardwired to input. So, seems to me we don't worry about SWCHB/SWBCNT at all, and we only need to write 0 to SWACNT, to set to input. Edited February 25, 2021 by Andrew Davie Link to comment Share on other sites More sharing options...
+Andrew Davie Posted February 25, 2021 Share Posted February 25, 2021 I'm starting to suspect this is a '7800 issue/requirement. If so/and in any case, one should write 0 to SWACNT and to SWBCNT and I still don't see why SWCHA/SWCHB are important. Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted February 25, 2021 Share Posted February 25, 2021 56 minutes ago, Andrew Davie said: Stella manual says SWCHB is read only, and the only mention of SWBCNT is to give its address and say it is hardwired to input. So, seems to me we don't worry about SWCHB/SWBCNT at all... That's not correct. 2 Link to comment Share on other sites More sharing options...
+Al_Nafuur Posted February 25, 2021 Share Posted February 25, 2021 so setting SWACNT and SWBCNT back to input (initial RIOT status) at "FirstStart" should be enough. Link to comment Share on other sites More sharing options...
alex_79 Posted February 25, 2021 Author Share Posted February 25, 2021 29 minutes ago, Al_Nafuur said: so setting SWACNT and SWBCNT back to input (initial RIOT status) at "FirstStart" should be enough. I think it would be better to also set SWCHA and SWCHB to 0, because, as i wrote in the other thread, those registers will keep the last value stored to them and use it when set to output. It's unlikely that this would cause issues, but in theory a game might (rightfully) rely on the fact that they're zero. 1 Link to comment Share on other sites More sharing options...
+Al_Nafuur Posted February 26, 2021 Share Posted February 26, 2021 @Andrew Davie I pushed the fix to the reunion branch: https://gitlab.com/firmaplus/atari-2600-pluscart/-/commit/94b76109dda0594030380c8ba099c4cc50b30dd6 Link to comment Share on other sites More sharing options...
+Andrew Davie Posted February 26, 2021 Share Posted February 26, 2021 I have made an effort to update the Woodgrain Wizadry entry to explain the usage of SWCHB. see http://www.taswegian.com/WoodgrainWizard/tiki-index.php?page=SWCHB comments/fixes welcome. 1 Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted February 26, 2021 Share Posted February 26, 2021 (edited) I know the labels "amateur" and "pro" are from the programmer's guide, but the A/B difficulty was frequently also labelled as Expert/Novice (e.g. on my Vader console) and Advanced/Beginner too. IMO the latter is easier to remember. BTW: Why did you draw and list the bits in reverse order? Edited February 26, 2021 by Thomas Jentzsch 1 Link to comment Share on other sites More sharing options...
+Andrew Davie Posted February 26, 2021 Share Posted February 26, 2021 27 minutes ago, Thomas Jentzsch said: I know the labels "amateur" and "pro" are from the programmer's guide, but the A/B difficulty was frequently also labelled as Expert/Novice (e.g. on my Vader console) and Advanced/Beginner too. IMO the latter is easier to remember. BTW: Why did you draw and list the bits in reverse order? English readers scan the byte itself left to right (D7-D0) and so this is the natural order (for me, anyway) to list their function in a table. Link to comment Share on other sites More sharing options...
+Andrew Davie Posted February 26, 2021 Share Posted February 26, 2021 28 minutes ago, Thomas Jentzsch said: I know the labels "amateur" and "pro" are from the programmer's guide, but the A/B difficulty was frequently also labelled as Expert/Novice (e.g. on my Vader console) and Advanced/Beginner too. IMO the latter is easier to remember. Well that's ambiguous. Which is 0... are you saying it should be "amateur/expert/advanced"? It needs to be consistent. Or did you mean "Novice/Expert" and "Beginner/Advanced"? Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted February 26, 2021 Share Posted February 26, 2021 Vice-versa, A = Expert or Advanced and B = Novice or Beginner. The reverse order frequently confuses people, that's why Advanced/Beginner is a good memory hook. Link to comment Share on other sites More sharing options...
+Andrew Davie Posted February 26, 2021 Share Posted February 26, 2021 3 hours ago, Thomas Jentzsch said: Vice-versa, A = Expert or Advanced and B = Novice or Beginner. The reverse order frequently confuses people, that's why Advanced/Beginner is a good memory hook. OK, TY Link to comment Share on other sites More sharing options...
Recommended Posts