Changes

Jump to: navigation, search

6502 Math and Strings Lab

695 bytes added, 09:39, 23 September 2022
Decide What to Write
** [[6502_Emulator_Example_Code#Place_a_Graphic_on_the_Screen|Place a Graphic on the Screen]] - for an example of defining a graphic using DCB, and copying a graphic to the screen
** [[6502_Emulator_Example_Code#Etch-a-Sketchtm_Style_Drawing|Etch-a-Sketch Style Drawing]] - for an example of converting (ROW,COL) co-ordinates to a screen address, and reading the keyboard
* [https://github.com/ctyler/6502js-code/ 6502js-code] repo on GitHub - Specifically:
** Wordle-like example (wordle-6502)
* [[8x8 Bitmap Patterns for Digits]]
* Opcode/Instruction References
** [http://www.6502.org/tutorials/6502opcodes.html 6502 Opcodes with Register Definitions]
=== Decide What to Write ===
For this lab, you will write either a game or a program that calculates or converts a value.meets these criteria:* # Your program must work in the [[6502 Emulator]]* # You must output to the character screen as well as the graphics (bitmapped) screen.* # You must accept user input from the keyboard in some form.* # You must use some arithmetic/math instructions (to add, subtract, do bitwise operations, or rotate/shift)
For example, you could write a simple game:
* [https://en.wikipedia.org/wiki/Pong Pong]
* [https://en.wikipedia.org/wiki/Breakout_(video_game) Breakout]
* [https://en.wikipedia.org/wiki/Mastermind_(board_game) Mastermind]
* A drawing program
* A maze
* A number guessing game (try to guess a random number in the shortest number of tries, getting feedback of "too high" or "too low" for each wrong guess)
* [https://en.wikipedia.org/wiki/Wordle Wordle]
* Or any other type of game...
* A inches-and-feet to centimeter converter
* A [https://en.wikipedia.org/wiki/Electronic_color_code resistor colour band] calculator
* A program to draw bar or line graphs based on user input
* Or any other type of calculator or converter...
 
'''Or anything else that meets the criteria above'''
You can interact with the user using either display. For example:
It can be helpful and fun to write this code with one or two other people in a live session. Acknowledge each person's input, and add your own customizations or tweaks.
{{Admon/important|Acknowledge Other's Code|Feel free to incorporate other people's code into your program with their permission, but you ''must'' acknowledge the source of any incorporated code(include a link to the source(s)), and clearly identify which parts you wrote(recommendation: colour-code your portion in the blog post). You must write at least 25% of the code.}}
=== Blog it ===
Write up your adventures in your blog. Remember to include the source code, some narrative about how it went, perhaps a screenshot of the program running, a reflection on the experience, and some ideas for further enhancement of the program.
 
Ensure that your program works and is free from major bugs. Document any limitations or remaining minor bugs.
 
Make sure that others (including your prof!) can run you code by pasting it into the [[6502 Emulator|emulator]] or loading it from a file (e.g., public git repository or downloadable file).
Remember to follow the [[Blog Guidelines]] as you write.

Navigation menu