Letter "e" (like fill.asm)

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Letter "e" (like fill.asm)

marcus8
My task is to have the letter "e" show up on the screen in black by pressing a key on the keyboard. But when the Backspace key is pressed all RAM is cleared and the screen turns completely white. I know how to do Fill.asm to turn the whole screen black but how do I get the location number for specific registers?

I know the first line of 16 pixels is @screen, the second line is @screen+1, third is @screen+2 and so on. The first complete line has 32 registers of 16 pixels each. How do I blacken only the registers I want?
Reply | Threaded
Open this post in threaded view
|

Re: Letter "e" (like fill.asm)

cadet1620
Administrator
See section 4.2.5 "Screen" to learn about screen addressing.

To draw a letter on the screen, you will need to write the numbers that represent the pixels in the letter to the appropriate memory locations in the screen memory.

For instance, to write a "Q" you need to first design the font character and convert the font rows to numbers.
LSB..MSB  Binary    Decimal
--------  ------    -------
 XXXX     011110    30
X    X    100001    33
X    X    100001    33
X    X    100001    33
X    X    100001    33
X    X    100001    33
X  X X    101001    41
X   X     010001    17
 XXX X    101110    46
To draw this letter at the upper left of the screen, you need to write
30 -> SCREEN
33 -> SCREEN+32
33 -> SCREEN+64
...
17 -> SCREEN+224
46 -> SCREEN+256

--Mark
Reply | Threaded
Open this post in threaded view
|

Re: Letter "e" (like fill.asm)

SPisME
This post was updated on .
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|

Re: Letter "e" (like fill.asm)

cadet1620
Administrator
SPisME wrote
@cadet1620

Can you explain how to assign a certain key to display the letter? Also how would the asm code look to assign the decimal values to the different SCREENS?
This assignment appears to have been given to multiple people.  This is far advanced beyond what is required at this point in the course.

Whoever gave you this assignment will need to support you.

--Mark