ECE291 Computer Engineering II Lockwood, Spring 1997

Machine Problem 4: Grading Report

Please print this page and provide it to the TA when you demonstrate your machine problem. The TA should verify each functionality item, initial the 'Demo' box, assign functionality and bonus points, then copy your files to the HANDIN floppy. This page should be stapled to the front of your printed .ASM program.

Name:
Date Submitted:
Demo To: Graded By:
Handin to floppy
Score recorded
Gold Star
Programming Excellence
CategoryPointsMinMax
Main
  • Invokes other procedures as needed
  • Replaces MainLIB
 
05
InstTime
  • Installs MyTimeInt on IRQ0
  • Preserves old vector
 
02
MyTimeInt
  • Efficiently recalculates acceleration, velocity, and postion for both X and Y coordinates.
  • Updates time
  • Reduces amount of fuel
  • Provides no thrust when fuel is empty
  • Checks for boundry conditions in position (lander cannot leave screen)
 
010
DeInstTime
  • Restores original IRQ0
  • Returns to a stable DOS shell
 
01
InstKey
  • Installs MyKeyInt on IRQ1
  • Preserves old vector
 
02
MyKeyInt
  • Tracks Left, Right, Up, Down, and Escape buttons
  • Allows multiple thrusters to operate simultaneously
  • Verify robustness to crashing if other keys are pressed
 
010
DeInstKey
  • Restores original IRQ1
  • Returns to a stable DOS shell (check keyboard)
 
01
DrawScreen
  • Displays static Text and gauges (Artistic liberties encouraged)
  • Contains modular subroutines which avoid code duplication
 
08
ReDrawScreen
  • Updates numerical guages values (altitude, velocity, and position)
  • Updates graphical gauge indicators
  • Redraws lunar landing module
 
07
FinalScreen
  • Determines damage to lunar lander due to landing
  • Reports Fuel Usage
  • Reports Flight Time (in seconds)
 
04
Functionality SubTotal
 
050
Modularity (* percentage of code written)
  • Lacks appropriate use of additional subroutines to avoid code duplication.
  • Violates specifications for given subroutines
 
-50
Technique & Style (* percentage of code written)
  • Compact and Efficient code
  • Extraneous use of code, registers and/or variables: -3
 
-50
Comments (* percentage of code written)
  • Clear and precise comments: +5
  • Sports Announcer-type comments: -1
  • Sparse and/or unclear comments: -3
 
-50
Penalty/Bonus
Before Tue 4/8: +1 pt/day
Deadline after Tue 4/8: -5 pts/day
 
-505
AutoSolve (Bonus)
  • Automatically lands from anywhere on the screen with no damage to lunar lander.
    (Edit initial values in MP4.ASM variable section or use mouse)
  • Test Cases (record fuel usage to land from each position)
    1. X=0, V_x=18, Y=60*324, V_y=0 (original postion) :
    2. X=324*20, V_x=18, Y=60*324, V_y=0 :
    3. X=324*40, V_x=-18, Y=30*324, V_y=18 :
  • Total Fuel Usage (1+2+3) :
 
05
Total
 
055