Skip to main content

Posts

Showing posts with the label Lab 3

Two-digit Numeric Display - Final

Photo by  Nick Hillier  on  Unsplash In this post, I’ll continue the two-digit numeric display. If you miss it, click here and check it out . To finish this project, we just need to show the numbers in the matrix-pixel (the black-box in the 6502 emulator ). To kickstart, our instructor gave us one example of how to display graphs, which was a lot helpful. The first thing that I’ve noticed was the bitmap table at the bottom. So, I mimic it and made ten tables like that to represent each number (zero to nine). So far, so good! Then I grabbed the logic to display one digit, and then my nightmares just started. How to place two graphs (one for each digit)? How to switch from one number to another? How to reuse code? Where is my coffee?! To emulate some if-elseif-else statements, I used jmp (jump). They are all over the place! However, the 6502 limits the jump range from -127 to 128. That means moving the code-blocks to satisfy all jumps limit. For e...

Two-digit Numeric Display

Photo by  Nick Hillier  on  Unsplash Hi! I'm continuing my blog about my SPO classes. After a brief introduction in Assembly, we are good to hit Lab3. Our instructor kindly let us choose one project out of five. And of course, we decided to go with the easiest! We had to do a two-digit numeric display where the numbers are incremented or decremented by pressing plus and minus key in the keyboard. Soon the challenges were reviled as we dive into how to code it. Should we treat every digit separated or together? How to print them into the display? After a moment of reflection, we decided to handle the digits independently to facilitate the printing display. Also, we had to add a bit-map representation of the numbers because the 6502 chip doesn’t know any font. In this post, I’ll show you the code with the logic to increment and decrement without displaying anything. You can monitor the address $13 and $14 to make sure that it is working. Le...