logo Use CA10RAM to get 10%* Discount.
Order Nowlogo
(5/5)

you will write a program that draws alphabet letters using PennSim’s graphics display.  Your program will draw letters of the alphabet to the display screen

INSTRUCTIONS TO CANDIDATES
ANSWER ALL QUESTIONS

For this assignment, you will write a program that draws alphabet letters using PennSim’s graphics display. 

Your program will draw letters of the alphabet to the display screen.  To do this program, you will need to:

  • Perform loads and stores of different memory locations.

  • Use I/O routines to allow a user to interact with the program.

  • Manipulate memory addresses to change the color of specific pixels in the graphics display.

This is optional, but you may want to use subroutines to modularize your program.

Program Specification

  • The program will ask the user to enter a letter from a specified list of letters.

  • If a specified letter is entered, the program will ask the user for a specified color from a given list.

  • If a specified color is entered, the program will “draw” that letter, using that color, on the display. Then the program will prompt the user for another letter, repeating the process. 

  • If invalid input is given, the program will return the message “That is not a valid entry” and it will halt.

  • All strings printed to the screen should be separated by the line feed.

  • The letters to be offered are chosen by the program writer.

    • You must offer 6 total, half upper and half lowercase

    • You may not choose the following letters: i, I, l.

  • Each letter should take up at least half the width and height of the display screen.

  • Heights should be relative to actual lower and uppercase letters.

  • The program must start at address x3000.

Example prompts:

“Please enter one of the following characters: A, f, H, j, e, X”

“Please enter one of the following characters for your color choice: r(red), g(green), b(blue), y(yellow), w(white).”

 

Load a different OS: p3os.obj

The original operating system file (lc3os.obj) does not allow a user program to access the memory needed for the graphic display.  So please load p3os.obj instead.


The graphic display

  • Every pixel of the display has an associated memory address. A value written to that address will determine the color of that pixel.

  • The PennSim graphics display (the “screen”) is 128 by 124 pixels.

    • We use an (x, y) coordinate system to describe a location on the screen.

    • Location (0, 0) is the top left corner.

    • The x coordinate increases as we move to the right, and the y coordinate increases as we move down.

      • In other words, (1, 0) is one pixel to the right of (0, 0), and location (0, 1) is one pixel below (0, 0).

      • Location (127, 123) is the bottom right corner of the screen.

    • The address of the first pixel (upper left corner) is xC000. The address of the last pixel (lower right corner) is xFDFF. 

      • The pixel addresses increase from left to right, top to bottom.

      • In other words, increasing the address by one moves one pixel to the right. When you reach the righthand side of the display, it “wraps around” to the lefthand edge and down one row.

      • Since there are 128 pixels in each row, the difference between two adjacent pixels in the vertical direction is +128 (to the pixel below) or -128 (to the pixel above).

    • The address of point (x, y) can be calculated as: xC000 + x + 128y.

 

Pixel Color

  • The value of the pixel address determines the color of the pixel.

    • The 16 bits contain 5 bits for each RGB component of color: bits [14:10] for red, [9:5] for green, and [4:0] for blue.  Bit 15 is ignored.  The table below gives the color values (in hex) needed for this program.

 

 

 

Color

Value

Red

x7C00

Green

x03E0

Blue

x001F

Yellow

x7FED

White

x7FFF

Black

x0000

 

 “Erasing” the previous letter

We want to be able to run the program multiple times with different inputs, without resetting the machine.  Therefore, you need to “paint” all of the pixels black to get rid of the old letter.  Here is one suggested approach:

  • Before you start drawing this letter, put black (x0000) in every pixel. (In other words, erase all of the previous display before drawing anything.)

(5/5)
Attachments:

Related Questions

. Introgramming & Unix Fall 2018, CRN 44882, Oakland University Homework Assignment 6 - Using Arrays and Functions in C

DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma

. The standard path finding involves finding the (shortest) path from an origin to a destination, typically on a map. This is an

Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t

. Develop a program to emulate a purchase transaction at a retail store. This program will have two classes, a LineItem class and a Transaction class. The LineItem class will represent an individual

Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th

. SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

. Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

Ask This Question To Be Solved By Our ExpertsGet A+ Grade Solution Guaranteed

expert
Um e HaniScience

735 Answers

Hire Me
expert
Muhammad Ali HaiderFinance

847 Answers

Hire Me
expert
Husnain SaeedComputer science

725 Answers

Hire Me
expert
Atharva PatilComputer science

883 Answers

Hire Me
March
January
February
March
April
May
June
July
August
September
October
November
December
2025
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
SunMonTueWedThuFriSat
23
24
25
26
27
28
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
00:00
00:30
01:00
01:30
02:00
02:30
03:00
03:30
04:00
04:30
05:00
05:30
06:00
06:30
07:00
07:30
08:00
08:30
09:00
09:30
10:00
10:30
11:00
11:30
12:00
12:30
13:00
13:30
14:00
14:30
15:00
15:30
16:00
16:30
17:00
17:30
18:00
18:30
19:00
19:30
20:00
20:30
21:00
21:30
22:00
22:30
23:00
23:30