--- title: "Perceptions: Syncsums" type: "article" slug: "perceptions-syncsums" url: "http://localhost/article/perceptions-syncsums/" markdown_url: "http://localhost/article/perceptions-syncsums.md" published_at: "2020-10-28T13:57:19+00:00" modified_at: "2024-06-23T01:03:55+00:00" featured_image: url: "http://localhost/wp-content/uploads/2022/04/20230809-041332.jpg" excerpt: "Short program to provide checksums to users as they type in programs, to ensure they've been entered correctly." category: - name: "SYNC" slug: "sync" taxonomy: "category" url: "http://localhost/category/periodicals/sync/" post_tag: - name: "1982" slug: "year-1982" taxonomy: "post_tag" url: "http://localhost/tag/year-1982/" - name: "Type-in program" slug: "type-in-program" taxonomy: "post_tag" url: "http://localhost/tag/type-in-program/" - name: "ZX81" slug: "zx81" taxonomy: "post_tag" url: "http://localhost/tag/zx81/" model: - name: "Sinclair ZX81" slug: "zx81" taxonomy: "model" url: "http://localhost/model/zx81/" indiv: - name: "David Ornstein" slug: "david-ornstein" taxonomy: "indiv" url: "http://localhost/indiv/david-ornstein/" publication: "Sync" publication_r: id: 10243 title: "SYNC" type: "periodical" url: "http://localhost/periodical/sync-magazine/" authors: "David Ornstein" issues_articles: - id: 26564 title: "SYNC Special Issue 1982" type: "issue" url: "http://localhost/issue/sync-special-issue-1982/" pages: "12-13" pubdate: "Special Issue 1982" archive_link: false volumeissue: "vn" article_media: - id: 51358 title: "Syncsum" type: "computer_media" url: "http://localhost/computer_media/syncsum/" --- # Perceptions: Syncsums Short program to provide checksums to users as they type in programs, to ensure they’ve been entered correctly. ## Source Code: Syncsum ``` 1 REM 217D40ED5B0C4006007CBA20087DBB2004480600C978AE472318EE 2 REM 3 REM % % %S% %Y% %N% %C% %S% %U% %M% % 4 REM 5 REM TO OBTAIN SYNCSUM, LOAD THIS PROGRAM AND RUN IT THEN LOAD IT AGAIN AND ENTER "GOTO 100". THEN LOAD YOUR MAIN PROGRAM AND IF YOU HAVE A 16K RAM PACK, YOU CAN ENTER THE COMMAND PRINT USR 32741 (17381 FOR 1K OR 18405 FOR 2K). SYNCSUM SHOULD BE CONSTANT FOR EACH PROGRAM YOU HAVE. 6 FAST 7 REM 8 REM ENTER R AS THE NUMBER OF BYTES YOU WANT TO RESERVE ABOVE RAMTOP 9 REM 10 LET R=27 20 LET RAMTOP=PEEK (16388)+PEEK (16389)*256-R 30 POKE 16388,RAMTOP-256*INT (RAMTOP/256) 40 POKE 16389,INT (RAMTOP/256) 50 NEW 60 NEXT B 100 LET RT=PEEK (16388)+PEEK (16389)*256 110 FOR B=0 TO 26 120 LET X=((PEEK (16509+5+B*2)-28)*16+(PEEK (16509+5+B*2+1)-28)) 130 POKE RT+B,X 140 NEXT B 150 NEW ```