--- title: "Newsletter Exchange: Internal Stop-Watch Using FRAMES" type: "article" slug: "newsletter-exchange-internal-stop-watch-using-frames" url: "http://localhost/article/newsletter-exchange-internal-stop-watch-using-frames/" markdown_url: "http://localhost/article/newsletter-exchange-internal-stop-watch-using-frames.md" published_at: "2026-03-14T12:40:51+00:00" modified_at: "2026-07-22T12:44:46+00:00" featured_image: url: "http://localhost/wp-content/uploads/2022/04/20230809-041332.jpg" excerpt: "In revising programs or comparing technique I often use the system variable FRAMES to measure elapsed time. Near the start of the program temporarily insert: POKE 23672,0:POKE 23673,0 That will reset the counters to 0. They will advance one unit per 1/60.1145 second. Near the end of the program, insert: PRINT PEEK 23762+256*PEEK 23673 For…" category: - name: "Timelinez" slug: "timelinez" taxonomy: "category" url: "http://localhost/category/periodicals/timelinez/" post_tag: - name: "BASIC (programming language)" slug: "basic-programming-language" taxonomy: "post_tag" url: "http://localhost/tag/basic-programming-language/" - name: "TS 2068" slug: "ts2068" taxonomy: "post_tag" url: "http://localhost/tag/ts2068/" model: - name: "Timex/Sinclair 2068" slug: "ts-2068" taxonomy: "model" url: "http://localhost/model/ts-2068/" indiv: - name: "H. Edward Weppler" slug: "h-e-weppler" taxonomy: "indiv" url: "http://localhost/indiv/h-e-weppler/" publication_r: id: 21571 title: "Timelinez" type: "periodical" url: "http://localhost/periodical/timelinez/" authors_r: - name: "H. Edward Weppler" slug: "h-e-weppler" taxonomy: "indiv" url: "http://localhost/indiv/h-e-weppler/" volume: "3" issue: "12" issues_articles: - id: 65873 title: "Timelinez v3 n12" type: "issue" url: "http://localhost/issue/timelinez-v3-n12/" pages: "4" pubdate: "December 1985" archive_link: false --- # Newsletter Exchange: Internal Stop-Watch Using FRAMES In revising programs or comparing technique I often use the system variable FRAMES to measure elapsed time. Near the start of the program temporarily insert: ``` POKE 23672,0:POKE 23673,0 ``` That will reset the counters to 0. They will advance one unit per 1/60.1145 second. Near the end of the program, insert: ``` PRINT PEEK 23762+256*PEEK 23673 ``` For direct comparisons just note the number of units for each trial. If it is desired to measure directly in seconds, use: ``` PRNT INT((PEEK 23672+256*PEEK23673 + .5)*100/60.1145+.5)/100 ``` This provides averaging, since the counter jumps in 16ms steps while the elapse time is continuous. Then the result is rounded to two decimal places. It should be accurate to about .01 second.