Corning Community College
CSCS2650 Computer Organization
Using the Vircon32 Development Tools, write a C program, compile, assemble, and pack a cartridge that uses a custom texture to display a block that moves around the screen (block changes in some attribute) as a result of directional keypresses.
You will want to go here to edit and fill in the various sections of the document:
NOTE: this is a collaborative document between a couple of my classes this semester. That means more people editing. Be mindful that only one person can edit the document at a time.
Only task headings have been provided. You are not expected to know how to do the task given by just that description (although in some cases it can be adequately figured out). Instead, if no further information is yet present, ASK FOR DETAILS on the discord, then contribute that clarity here.
If something is present but needs polish: spruce it up.
If something is present but is incorrect: please fix it.
This is intended to be an informative, useful document that all can benefit from.
Those with prior experience, please be mindful not to gobble up all the low-hanging fruit from the newcomers.
Just like in C, selecting a texture is simple
In C to select a texture we can use:
select_texture( int texture_id );
In Assembly the process is similar, as the command is simply:
out GPU_SelectedTexture #
Where the # is either the immediate value of the texture id, or a register containing the texture id
Defining a region is where assembly becomes much less simple, as in C one can use a variety of built in functions that handle everything, whereas in assembly we have to send the GPU every value ourselves
This looks like:
out GPU_SelectedRegion # out GPU_RegionMinX # out GPU_RegionMinY # out GPU_RegionMaxX # out GPU_RegionMaxY # out GPU_RegionHotspotX # out GPU_RegionHotspotY #
Once again with # corresponding to an immediate value or register containing the values we want to input
To be successful in this project, the following criteria (or their equivalent) must be met:
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.
I'll be evaluating the project based on the following criteria:
78:mtb0:final tally of results (78/78) *:mtb0:submitted Vircon32 cartridge [13/13] *:mtb0:submitted XML and build script [13/13] *:mtb0:displays unique block that moves based on direction [13/13] *:mtb0:cartridge is NOT added to repository [13/13] *:mtb0:an attempt at bounds check and block adjustment [13/13] *:mtb0:committed project related changes to semester repo [13/13]