4 ms·
My favorite was the "TYPO II" ("Type Your Program Once") application, which was part of every Antic! Magazine program listing: https://www.atarimagazines.com/v
by unsui 1y ago
My favorite was the "TYPO II" ("Type Your Program Once") application, which was part of every Antic! Magazine program listing:
https://www.atarimagazines.com/v3n9/TYPOII.html https://www.atarimagazines.com/v3n9/TYPOII.html
https://www.atarimagazines.com/antic/ https://www.atarimagazines.com/antic/
This was wrapper around the BASIC interpreter that printed out a 2-character checksum of each entered code line.
The magazine printing also had an associated 2-character checksum for each line. Your job: make sure the checksums matched.
As a teenager who only had cassette-based storage (couldn't afford a disk drive) and was addicted to typing in programs from Antic! and ANALOG magazines, this was a lifesaver.
(ANALOG's checksum program wasn't quite as convenient, and, IIRC, required a disk drive?)
- omoikane 1y agoI took a look at the listing[1] and looks like it contains unprintable characters, maybe they were ASCII art of some sort? The checksum algorithm is fairly simple: line 32150 sums the products of all character positions and character codes, and lines 32160-32180 does a modulus to convert them to printable characters. The multiply-by-position bit is clever because it allows the checksum to flag transposed characters. ISBN-10 uses a similar scheme[2]. [1] https://www.atarimagazines.com/software/displayfile.php?file=85-01/TYPOII.LST https://www.atarimagazines.com/software/displayfile.php?file... [2] https://en.wikipedia.org/wiki/ISBN#ISBN-10_check_digits https://en.wikipedia.org/wiki/ISBN#ISBN-10_check_digits
- unsui 1y agoI naturally went down a rabbit hole to see if I could find why those characters weren't printing properly. https://www.atarimania.com/mags/pdf/Antic_Vol_7_No_4.pdf https://www.atarimania.com/mags/pdf/Antic_Vol_7_No_4.pdf On p. 31, you can see the intended characters. I now remember that Atari actually had their own variant of ASCII, called ATASCII: https://en.wikipedia.org/wiki/ATASCII https://en.wikipedia.org/wiki/ATASCII Atari 8-bits were actually really cool computers, in that they let you do things like redefine character sets entirely (to create custom character sets to effectively create tile-based displays), play with display-list interrupts, etc.
- omoikane 1y agoNice find :) I guess Atari character set has enough overlap with ASCII, so I could get the checksum to match: sum = 0 "32000 REM TYPO II BY ANDY BARTON".codepoints.each_with_index{|c, i| sum += (i + 1) * c } print ((sum % 676) / 26 + 65).chr, (sum % 26 + 65).chr, "\n" (Ruby code, outputs "WB")