--- title: "EASYsprite MAKER" type: "article" slug: "easysprite-maker" url: "http://localhost/article/easysprite-maker/" markdown_url: "http://localhost/article/easysprite-maker.md" published_at: "2025-02-23T23:02:09+00:00" modified_at: "2026-06-21T23:23:29+00:00" featured_image: url: "http://localhost/wp-content/uploads/2022/04/20230809-041332.jpg" excerpt: "This program is to make SPRITES to use with sprite printer. A maximum of 255 sprites can be in memory for a TOTAL of up to 10,000 bytes. The program assumes that there is at all times 255 sprites in memory. Each sprites can be of different size (maximum width 13 chr$, maximum height 20…" category: - name: "Byte Power" slug: "byte-power" taxonomy: "category" url: "http://localhost/category/periodicals/byte-power/" post_tag: - 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: "Eric Boisvert" slug: "boisvert-eric" taxonomy: "indiv" url: "http://localhost/indiv/boisvert-eric/" publication_r: id: 38570 title: "Byte Power 1st Class Magazine" type: "periodical" url: "http://localhost/periodical/byte-power-1st-class/" authors_r: - name: "Eric Boisvert" slug: "boisvert-eric" taxonomy: "indiv" url: "http://localhost/indiv/boisvert-eric/" issues_articles: - id: 38578 title: "Byte Power Fall 1987" type: "issue" url: "http://localhost/issue/byte-power-8/" pubdate: "Fall 1987" archive_link: false article_media: - id: 59181 title: "EASYsprite Maker" type: "computer_media" url: "http://localhost/computer_media/easysprite-maker/" --- # EASYsprite MAKER This program is to make SPRITES to use with sprite printer. A maximum of 255 sprites can be in memory for a TOTAL of up to 10,000 bytes. The program assumes that there is at all times 255 sprites in memory. Each sprites can be of different size (maximum width 13 chr$, maximum height 20 chr$). MAIN MENU… Moving the arrow (using joystick or Q-A-O-P-SPACE) and then pressing the button (or SPACE BAR) will select… RETURN TO SPRITE…..Go back to the working sprite CREATE NEW SPRITE….Well, create a new sprite EDIT A SPRITE……..Edit and Modify any of the 255 sprites DELETE ONE SPRITE….Erase one sprite SAVE SPRITE FILE…..Save the sprite file LOAD SPRITE FILE…..Load an old sprite file to be able to edit and modify any sprites MERGE SPRITE FILE….Load and old file after a selected sprite, this allows to assemble 2 or more files together CLEAR WHOLE FILE…..Erase all 255 sprites QUIT PROGRAM………Quit program and reset computer CHOOSE A SPRITE… (this applies for EDIT A SPRITE,DELETE ONE SPRITE,SAVE and MERGE) Using the JOYSTICK or KEYBOARD move the arrow over the appropriate box, and press the button. At the bottom of the screen 3 options are possible [MAIN], [NEXT] and [PREVIOUS]. These options will allow you to go back to MAIN MENU, see the NEXT page of sprite or see the PREVIOUS page of sprite. Each page contains 12 sprites, the complete file is 22 page long for a total of 255 sprites, the last page contains only 3 sprites (252 to 255). To select a sprite move the arrow over the sprite box and press the button. EDITING / MODIFYING A SPRITE… (This applies for EDIT,CREATE and RETURN TO SPRITE) Using the JOYSTICK or KEYBOARD you can draw (design) a sprite, moving the cursor in position and pressing the button will print or erase a dot in the sprite. You can see the sprite in real size beside the working area which is 64 times bigger, only 16 pixels by 16 pixels are displayed at a time, but you can move the working SECTOR to be able to create a big sprite (say 13 chr$ by 20 chr$ that’s 104 pixels by 160 pixels!) DIRECT COMMAND… Pressing 0 to 8 on the keyboard will execute the following commands… 0…return to MAIN MENU 1…Move the woking SECTOR (use JOYSTICK or KEYBOARD then press the button) 2…COMPILE sprite (STORE SPRITE IN FILE, you can store in any of the 255 sprite box) 3…HORZ FLIP, flips the sprite horizontally 4…V FLIP, flips the sprite vertically 5…Scrolls sprite 1 pixel LEFT 6…Scrolls DOWN 7…Scrolls UP 8…Scrolls RIGHT S…Allows you to change the actual size of the sprite (Width 1-13,Height 1-20) When SAVING the sprite, the LENGTH of the sprite file will be displayed. If you need more than 10,000 bytes for your program, you can save the sprite file (note the length), clear the file, create all sprites you need (if you use 30000 you’ll need at least to save 3 sprite files). Then when all the work is done, Load the 1st File (say at 28000), then the second (at 28000+length of file #1) and so on. Note, that if in the 1st sprite file there was 70 sprites, then the first sprite of sprite file #2 is #71. Supposing a sprite file is 4080 bytes long, You can load the file at 60000 and load the SPRITE PRINTER at 64080 and then you can save both the SPRITE FILE, and SPRITE PRINTER at the same time this saves on loading time. TECHNICAL DETAILS… Each sprite data begins with its size, then the data itself. So the data of a sprite 5 characters wide by 2 characters long would look like… 2,5,graphics data… the graphics data would be similar to UDG’s data… ABCDE First Row FGHIJ 2nd Each letter represents a UDG like graphic. Note that the smallest possible sprite is 8*8 pixel (1 by 1 chr$). Loading name MAKER Program type Graphic utility Written by Eric Boisvert ## Source Code: EASYsprite Maker ``` 100 REM SPRITE MAKER by Eric Boisvert ©1987 BYTE POWER 120 INK 0: IF PEEK 23681=0 THEN CLS : LIST 9999: STOP 150 PRINT ;: RANDOMIZE USR 54906 1000 REM SAVE SPRITE FILE 1010 GO SUB 3000: IF n$="" THEN GO TO 1010 1020 SAVE n$CODE 4E4,START-4E4 1030 PRINT ;: RANDOMIZE USR 61994 2000 REM LOAD/MERGE FILE 2020 GO SUB 3000 2030 LOAD n$CODE start,49999-start 2040 PRINT ;: RANDOMIZE USR 63217 3000 REM INPUT FILE NAME 3020 LET start=PEEK 64685+256*PEEK 64686 3030 INPUT "FILE NAME:"; LINE n$: IF LEN n$>10 THEN GO TO 3000 3040 RETURN 9000 CLEAR 65535: NEW 9990 BORDER 7: INK 7: PAPER 7: CLS : PRINT AT 8,0; PAPER 6; INK 0;TAB 10;"SPRITE MAKER",AT 10,0; PAPER 7;"STILL LOADING...": LOAD "MAKER Mc"CODE : RUN 9999 SAVE "MAKER" LINE 9990: SAVE "MAKER Mc"CODE 54906,10630: VERIFY "": VERIFY ""CODE ```