How it Works

This bitmap generator is a tool designed to help you when you are on parts b and c of the final project.

After completing part A of the project, you should have [Nchars] characters that you defined in your C demo (using Dr. Singh's template and helper procs.c file).

For the purposes of the C demo, you used simple characters on a single character background, but these characters actually correspond to your sprites, each of which are stored as 256 lines of 3-digit hex codes. You will store a concatenated file of all of your sprites as your bmem.mem in your Vivado project.

These sprites are referenced in your smem.mem, as well as your assembly code, via their respective indices. The indices are important, and your concatenated bmem file must store each sprite at the same index-position that you have defined it at in your C demo. If necessary, click 'reorder sprites' on the "My Sprites" page and put your sprites in the correct order before generating your bmem.

Steps to take:
  • 1. Create new sprites on the homepage using the pixel art grid, and click "Add to saved sprites" to save the sprite/character.
  • 2. Create as many sprites as you want/as you defined in your C demo. View, edit, delete, and/or reorder them on the My Sprites page. The sprite data is saved in your browser's localStorage, so it will persist on page reload and as long as you don't clear the site data. They probably won't stay forever though, and may not save if you close the tab, so don't forget to generate and save your bmem file when you are done.
  • 3. When you are ready to generate your bmem.mem, click "generate bmem from sprites" on the sprites page. This will produce the concatenation of all of the sprites you've created, in the order that they are shown on the page.
  • 4. If you want to change some of your sprites later (e.g., after viewing them on the emulator or the board), go to the My Sprites page and simply paste in your bmem file to render your sprites. You can edit them and then re-generate your bmem
  • 5. That's it! I hope that this website makes it easier to create, manipulate, and work with your sprites for the final project. Good luck!
Credits:

Abraham Post, who developed the initial "Sprite Maker" website application for creating sprites for the COMP541 final project. Much of the logic in this application for creating individual sprites and saving them as hex code files (eg on the homepage) is based off of his work. View the original Sprite Maker here!

Dr. Montek Singh, who gave me the idea to create this project after having the best time in his COMP 541 course (which I'd recommend to everyone!)

by Avi Kumar