--- title: "HELLO!" type: "article" slug: "hello" url: "http://localhost/article/hello/" markdown_url: "http://localhost/article/hello.md" published_at: "2025-03-01T01:21:52+00:00" modified_at: "2026-06-21T23:37:24+00:00" featured_image: url: "http://localhost/wp-content/uploads/2022/04/20230809-041332.jpg" excerpt: "This utility is used as a boot program for the LARKEN LKDOS cartridge (ALL CARTRIDGES!) To transfer the program to disk use LIST 9999 and change the name to whatever you want it to be and RUN 9999. You should also put an AUTOSTART file on the disk, to do this, after saving HELLO!, enter…" category: - name: "Byte Power" slug: "byte-power" taxonomy: "category" url: "http://localhost/category/periodicals/byte-power/" post_tag: - name: "Downloadable" slug: "downloadable" taxonomy: "post_tag" url: "http://localhost/tag/downloadable/" - name: "Full Text" slug: "fulltext" taxonomy: "post_tag" url: "http://localhost/tag/fulltext/" - 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: "Kristian Boisvert" slug: "boisvert-kristian" taxonomy: "indiv" url: "http://localhost/indiv/boisvert-kristian/" publication_r: id: 38570 title: "Byte Power 1st Class Magazine" type: "periodical" url: "http://localhost/periodical/byte-power-1st-class/" authors_r: - name: "Kristian Boisvert" slug: "boisvert-kristian" taxonomy: "indiv" url: "http://localhost/indiv/boisvert-kristian/" issues_articles: - id: 38579 title: "Byte Power Feb 1988" type: "issue" url: "http://localhost/issue/byte-power-9/" pubdate: "February 1988" archive_link: false article_media: - id: 59221 title: "Hello!" type: "computer_media" url: "http://localhost/computer_media/hello/" --- # HELLO! This utility is used as a boot program for the LARKEN LKDOS cartridge (ALL CARTRIDGES!) To transfer the program to disk use LIST 9999 and change the name to whatever you want it to be and RUN 9999. You should also put an AUTOSTART file on the disk, to do this, after saving HELLO!, enter NEW. Then enter 10 CLEAR 65535: RANDOMIZE USR 100: LOAD “name of boot program” [ENTER]. Next CLEAR 27000 [ENTER] and RANDOMIZE USR 102: RUN [ENTER], you will hear the NMI music then press “D” (see LKDOS operating manual). The program will then boot HELLO! and run. The program when first loaded from disk will read the catalog and print the names on the screen. Note that it will only print BASIC programs, if you want CODE files (NMI files), BREAK the program and RUN 8000 then save it. If you want to reset it to only BASIC programs, RUN 8100 and save. The rest is self explanatory. Loading name HELLO! Program type LKDOS utility Written by Kristian Boisvert ## Source Code: Hello! ``` 0 REM NEXT STEP bCODE 2 STEP FREE STEP { GO SUB [K\\! FOR !p FREE # RETURN IF (5 RETURN COPY PLOT FREE RETURN RETURN ( LET OR FREE # RETURN .(STR$ READ STR$ FREE RETURN A( INVERSE RETURN C( INK + FREE RETURN COPY IF OR # FREE IF STR$ OR CLS STEP INT <>H!#H> GO SUB VAL = PAUSE STICK RETURN P FOR <>O! OUT O> GO SUB LN +++= PAUSE z RETURN G FOR <>0 1 REM HELLO! WRITTEN BY KRISTIAN BOISVERT COPYRIGHT \*1988 BYTE POWER 10 INVERSE 0: OVER 0: INK 0: PAPER 7: BORDER 7: CLS 100 REM MAIN ROUTINE 102 POKE 23658,8: POKE 23606,0: POKE 23607,60: DIM a$(200,9): GO TO 109 105 INPUT "DRIVE [1-5]...................";DRIVE: IF DRIVE<1 OR DRIVE>5 THEN GO TO 105 107 RANDOMIZE USR 100: GO TO DRIVE-1 109 LET NAME=1: LET L=USR (5+PEEK 23635+256*PEEK 23636) 110 PRINT AT 0,0; PAPER 7,, PAPER 3; INK 7;TAB 13;"HELLO!",,,TAB 2;"WRITTEN BY KRISTIAN BOISVERT",,,TAB 3;"COPYRIGHT \*1988 BYTE POWER", 120 PRINT AT 18,0; INK 7; PAPER 1,,,,,,AT 20,0;"[7]- SCROLL UP","[6]- SCROLL DOWN";AT 19,5;"[LETTER]- LOAD PROGRAM";AT 18,7;"[1]- SELECT DRIVE" 130 PRINT AT 7,0; PAPER 2,,: LET X=65: FOR F=8 TO 15: PRINT AT F,0; INK 0; PAPER 6;CHR$ X;"- ";(a$(NAME+X-65) AND NAME+X-65<=L),CHR$ (X+1);"- ";(a$(NAME+X-64) AND NAME+X-64<=L),: LET X=X+2: NEXT F: PRINT AT 16,0; PAPER 2,, 150 LET B$=INKEY$ 160 IF B$="1" THEN GO TO 105 170 IF (B$="6" OR B$=CHR$ 10) AND NAME+16<=L THEN RANDOMIZE USR (PEEK 23635+256*PEEK 23636+98): LET NAME=NAME+2: PRINT INK 0; PAPER 6;AT 15,3;A$(NAME+14),AT 15,19;(A$(NAME+15) AND NAME+15<=L), 180 IF (B$="7" OR B$=CHR$ 11) AND NAME-2>=1 THEN RANDOMIZE USR (PEEK 23635+256*PEEK 23636+126): LET NAME=NAME-2: PRINT INK 0; PAPER 6;AT 8,3;A$(NAME),AT 8,19;A$(NAME+1), 190 IF B$<"A" OR B$>"P" THEN GO TO 150 200 IF NAME+(CODE B$-65)>L THEN GO TO 150 210 LET D$=A$(NAME+(CODE B$-65)): PRINT #1;AT 1,0;"LOADING... ";D$ 220 FOR F=1 TO 9: IF D$(F)<>"." THEN NEXT F 230 INK 0: PAPER 7: LET D$=D$(1 TO F+2): IF D$(F+1)="C" THEN RANDOMIZE USR 100: LOAD D$CODE : PAUSE 0: CLS : GO TO 109 240 RANDOMIZE USR 100: LOAD D$ 8000 REM PRINT ".Cx" FILES 8010 LET A=PEEK 23635+256*PEEK 23636+69: FOR F=A TO A+3: POKE F,0: NEXT F: STOP 8100 REM DON'T PRINT ".Cx" FILES 8110 LET A=PEEK 23635+256*PEEK 23636+69: POKE A,254: POKE A+1,67: POKE A+2,40: POKE A+3,217 8120 STOP 9999 RANDOMIZE USR 100: SAVE "HELLO!.B1" LINE 1 ```