+Larry Posted December 27, 2020 Share Posted December 27, 2020 Is there a utility to re-calculate (and insert in the OS file) a new checksum after making changes? (The question about moving the left margin got me to think about this.) A BASIC tool would be really nice. 2 Quote Link to comment Share on other sites More sharing options...
+DjayBee Posted December 27, 2020 Share Posted December 27, 2020 AFAIK JAC!'s tool can do this: http://www.wudsn.com/index.php/productions-atari800/tools 3 Quote Link to comment Share on other sites More sharing options...
+Larry Posted December 27, 2020 Author Share Posted December 27, 2020 Let me add a twist to the original question: How are the Atari rom checksums calculated? Are the checksum bytes themselves included in the calculated checksums? Edit: I was evidently interested in this about 10 years ago, so there is an earlier thread about this topic. Here is that thread: 1 Quote Link to comment Share on other sites More sharing options...
+Stephen Posted December 27, 2020 Share Posted December 27, 2020 Isn't is easier to just remove the checksum validation? 1 Quote Link to comment Share on other sites More sharing options...
+Larry Posted December 27, 2020 Author Share Posted December 27, 2020 Yes, probably is, but I'd like to understand it. But since you mention removing the validity check, can someone show the bytes to replace? Quote Link to comment Share on other sites More sharing options...
foft Posted December 27, 2020 Share Posted December 27, 2020 If you want to learn about checksums, you could look at this tool. It does a whole bunch of them... http://rehash.sourceforge.net/ It might be that if you run it against the OS ROM (-checksum) one of them will match. Though pretty sure someone here probably knows the actual function offhand and its simple. 2 Quote Link to comment Share on other sites More sharing options...
+David_P Posted December 27, 2020 Share Posted December 27, 2020 Somewhere I have a home made BASIC OS ROM checksum calculator... I will try to find the disk. As I recall, it's just a 2-byte value. Mapping the Atari says that the XL/XE calculation routine is at $FF73 (see https://www.atariarchives.org/mapping/appendix12.php) 2 Quote Link to comment Share on other sites More sharing options...
Rybags Posted December 27, 2020 Share Posted December 27, 2020 You'd want to retain the checksum (validation from within the OS doesn't much matter) because there's still that odd bit of software (mainly Electronic Arts?) that does it's own validation (though possibly it just checks against hardcoded values for the 400/800 only) Quote Link to comment Share on other sites More sharing options...
+Nezgar Posted December 28, 2020 Share Posted December 28, 2020 7 hours ago, Rybags said: You'd want to retain the checksum (validation from within the OS doesn't much matter) because there's still that odd bit of software (mainly Electronic Arts?) that does it's own validation (though possibly it just checks against hardcoded values for the 400/800 only) But then you'd have to endure red ROM bars in the XL self test.... For those few titles I'd just temporarily switch back to the stock OS. Quote Link to comment Share on other sites More sharing options...
+DjayBee Posted December 28, 2020 Share Posted December 28, 2020 kr0tki about the algorithm, used by 400/800 OS: A tool by HiassofT to set the checksum in XL OSs: 2 Quote Link to comment Share on other sites More sharing options...
+Larry Posted December 28, 2020 Author Share Posted December 28, 2020 I "poached" this link from the Zero Left Margin? thread. Has some good info for here too. 1 Quote Link to comment Share on other sites More sharing options...
thorfdbg Posted December 28, 2020 Share Posted December 28, 2020 On 12/27/2020 at 12:45 PM, Larry said: Is there a utility to re-calculate (and insert in the OS file) a new checksum after making changes? (The question about moving the left margin got me to think about this.) A BASIC tool would be really nice. Not Basic, but here is a C source which does that: checksum.c 4 Quote Link to comment Share on other sites More sharing options...
+Larry Posted December 28, 2020 Author Share Posted December 28, 2020 2 hours ago, thorfdbg said: Not Basic, but here is a C source which does that: checksum.c 1.6 kB · 3 downloads Thanks. I probably can read the source code and figure out what it's doing, but do you by chance also have a compiled version in Atari format? I haven't dabbled with C for probably 30 years. Quote Link to comment Share on other sites More sharing options...
+mytek Posted December 28, 2020 Share Posted December 28, 2020 9 minutes ago, Larry said: Thanks. I probably can read the source code and figure out what it's doing, but do you by chance also have a compiled version in Atari format? I haven't dabbled with C for probably 30 years. Larry why not go with the link that @DjayBee provided to the @HiassofT solution. I've used it under Linux with a virtual XP OS and it does the trick, no fuss no muss . Should work with most any Windows system, and probably also with Wine. Quote Link to comment Share on other sites More sharing options...
HiassofT Posted December 28, 2020 Share Posted December 28, 2020 @mytek if you prefer a native linux solution just use patchrom from my highspeed-sio git ihttps://github.com/HiassofT/highspeed-sio - this includes the latest check/fix checksum changes. so long, Hias 4 1 Quote Link to comment Share on other sites More sharing options...
+bob1200xl Posted December 29, 2020 Share Posted December 29, 2020 Here is the OS code for the checksum. Will that help? Bob scan_20201228192924.pdf scan_20201228192705.pdf scan_20201228192819.pdf scan_20201228192845.pdf 3 1 Quote Link to comment Share on other sites More sharing options...
mr-atari Posted December 29, 2020 Share Posted December 29, 2020 Here it is as a txt file. Reading the source, the checksum location is skipped. Grtz, Sijmen. From the OS checksum.txt 1 1 Quote Link to comment Share on other sites More sharing options...
+JAC! Posted May 27, 2021 Share Posted May 27, 2021 (edited) My Atari ROM Checker download has been enhanced with and the "Atari ROM Patcher" tool to display, compute and fix OS checks sums for Atari XL/XE computers. It can also be used to swap the floating-poing package. The tool is written in Atari BASIC and starts automatically when the disk is booted. Also, typos and swapped columns in the documentation have been fixed. Also, the disk images are now single density, so they also work on Atari 810. EDIT: Fixed incorrect TRAP that would skip loading the FP ROM in case you enter a wrong file name. Edited May 28, 2021 by JAC! 7 1 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.