User Tools

Site Tools


Sidebar

projects

wcp1 (due 20250129)
abc0 (due 20250205)
btt0 (due 20250205)
pct0 (bonus; due 20250205)
pct1 (bonus; due 20250205)
pct2 (due 20250205)
wcp2 (due 20250205)
mtb0 (due 20250212)
pct3 (bonus; due 20250212)
wcp3 (due 20250212)
mtb1 (due 20250219)
pct4 (due 20250219)
wcp4 (due 20250219)
pct5 (bonus; due 20250226)
wcp5 (due 20250226)
mtb2 (due 20250227)
dap0 (due 20250305)
gfo0 (due 20250305)
pct6 (due 20250305)
wcp6 (due 20250305)
dap1 (due 20250312)
pct7 (bonus; due 20250312)
wcp7 (due 20250312)
bwp1 (bonus; due 20250326)
dap2 (due 20250326)
pct8 (due 20250326)
wcp8 (due 20250326)
mtb3 (due 20250402)
pct9 (bonus; due 20250402)
wcp9 (due 20250402)
haas:spring2025:comporg:projects:btt0

Corning Community College

CSCS2650 Computer Organization

PROJECT: Building The Thing (BTT0)

OBJECTIVE

Obtain the latest stable release of Vircon32, in source code form, and build it and the associated DevTools in your development system. Collaboratively document the build process.

EDIT

You will want to go here to edit and fill in the various sections of the document:

BTT0 documentation

Resources

URLs
API

Vircon32

Obtain source of latest stable release of Vircon32 DevTools
environment configuration

If you are installing Vircon32 on Windows you will need to make a new environment variable to be able to use the command line executables. Search for Control Panel in the system settings and from there search for Environment Variables. Select “Edit environment variables for your account”. Add a new variable titled “PATH” and when asked for a location use the location of your DevTools folder.

Obtain source of latest stable release of Vircon32 emulator

Due to us building Vircon32 from source the Emulator and DevTools will be included in the file we obtain.
You only need to worry about the build number which the newest is currently v.25.1.6

URL

You can obtain the file in question from the Vircon32/ComputerSoftware repository on GitHub Vircon32 Releases
For our usage you will want to grab the Source code (tar.gz) that is within the Assets toggle of any v.25.1.6 release
Releases are posted in a way where the top most is the newest.

environment configuration

As with DevTools, there are a handful of dependencies you will want to install and most of which are listed on the Read.me that comes in the tar.gz file
One dependency that you will need and is not listed is libgtk2.0-dev

A slight deviation from the Readme is that due to us using a pi or Debian-based system you will want to swap out the MSYS for Unix in the command cmake -G 'MSYS Makefiles' ..

After the rest of the Readme is followed everything should be installed properly. It is then imperative you add Vircon32 to your path.
The installed location should be /usr/local/Vircon32/
Once added to your path you should be able to run the Vircon32 command anywhere to run the emulator.
To add it to your path add the line:

export PATH="/usr/local/Vircon32/Emulator/:/usr/local/Vircon32/DevTools:${PATH}"

to your ~/.bashrc file

Hello World

Bootstrap a fairly simple “Hello, World” example, modified sufficiently from any provided tutorial or demo code.

This is a link to the provided tutorials on the Vircon Github page: https://github.com/vircon32/ConsoleSoftware/tree/main/Tutorials/RobotGame

Alternatively you can create a “Hello, World” program from the ground up using the video.h header file.

The documentation needed for printing can be found here

  • TIP If you want to see what exactly a function from a header file does you can find the source files at /usr/local/Vircon32/DevTools/include/

Indicate some potential changes/functions used here.

Some potential changes/functions could be:

  • Changing the position of the text( making it appear in the bottom right of the screen )
  • Changing the color of the text
  • Changing what the text says ( and / or make it a different language )
  • Changing the background color to one of the provided colors( make it green )
  • Implementing your own background( make it Jesse from Breaking Bad )
  • Making your own font( Turn a tree into the alphabet )
  • Adding sounds( like it saying “Mr.Worldwide” ) when booting up the demo

Cartridge Build Scripts

In the tutorials and demos there are corresponding build scripts that will take all the code and related resources, and run the appropriate development tools to create a Vircon32 cartridge file.

Part of your task is to author your own custom build script. Do not just use an existing script, and do not just lightly modify the provided scripts: craft your own, with descriptive comments, that suit your individual effort.

The script you make now does not have to be the only one you make; in fact you should improve the functionality of your build script when you find ways to, or run into inconveniences that can be mitigated

 

SUBMISSION

To be successful in this project, the following criteria (or their equivalent) must be met:

  • Project must be submit on time, by the deadline.
    • Late submissions will lose 33% credit per day, with the submission window closing on the 3rd day following the deadline.
  • Executed programs must display in a manner similar to provided output
    • output formatted, where applicable, must match that of project requirements
  • Processing must be correct based on input given and output requested
  • Output, if applicable, must be correct based on values input
  • Code must be nicely and consistently indented
  • Code must be consistently written, to strive for readability from having a consistent style throughout
  • Code must be commented
    • Any “to be implemented” comments MUST be removed
      • these “to be implemented” comments, if still present at evaluation time, will result in points being deducted.
      • Sufficient comments explaining the point of provided logic MUST be present
  • No global variables (without instructor approval), no goto statements, no calling of main()!
  • Track/version the source code in your lab46 semester repository
  • Submit a copy of your source code to me using the submit tool by the deadline.

Submit Tool Usage

Let's say you have completed work on the project, and are ready to submit, you would do the following:

lab46:~/src/SEMESTER/DESIG/PROJECT$ submit DESIG PROJECT file1 file2 file3 ... fileN

You should get some sort of confirmation indicating successful submission if all went according to plan. If not, check for typos and or locational mismatches.

RUBRIC

I'll be evaluating the project based on the following criteria:

52:btt0:final tally of results (52/52)
*:btt0:submitted modified demo code for project by duedate [13/13]
*:btt0:submitted original build scripts and cartridge [13/13]
*:btt0:contributed to project documentation [13/13]
*:btt0:committed project related changes to semester repo [13/13]

Pertaining to the collaborative authoring of project documentation

  • each class member is to participate in the contribution of relevant information and formatting of the documentation
    • minimal member contributions consist of:
      • near the class average edits (a value of at least four productive edits)
      • near the average class content change average (a value of at least 1024 bytes (absolute value of data content change))
      • no zero-sum commits (adding in one commit then later removing in its entirety for the sake of satisfying edit requirements)
    • adding and formatting data in an organized fashion, aiming to create an informative and readable document that anyone in the class can reference
    • content contributions will be factored into a documentation coefficient, a value multiplied against your actual project submission to influence the end result:
      • no contributions, co-efficient is 0.50
      • less than minimum contributions is 0.75
      • met minimum contribution threshold is 1.00

Additionally

  • Solutions not abiding by spirit of project will be subject to a 50% overall deduction
  • Solutions not utilizing descriptive why and how comments will be subject to a 25% overall deduction
  • Solutions not utilizing indentation to promote scope and clarity or otherwise maintaining consistency in code style and presentation will be subject to a 25% overall deduction
  • Solutions not organized and easy to read (assume a terminal at least 90 characters wide, 40 characters tall) are subject to a 25% overall deduction
haas/spring2025/comporg/projects/btt0.txt · Last modified: 2025/01/23 14:13 by 127.0.0.1