Corning Community College
CSCS1730 UNIX/Linux Fundamentals
Obtain the latest stable Vircon32 source code, along with its DevTools source code, collaboratively document how to build it from source, and modify the “hello, world!” demo in some way from the default. Perform this on your UNIX-based personal development system.
As has been the case with many projects this semester, you will also be contributing to the project documentation, detailing the necessary steps to obtain, configure, build, and use the items being focused on. To better ensure everyone plays a part, you will also need to ask a project-related question to the class discord well before the due date (not a DM, not so late that a response won't come in time), and transcribe that in readable fashion to the project documentation under your pertinent section. Include a discord link to the relevant transaction for easier reference.
With further clarification gained from asking the question, you will proceed to craft useful documentation with the rest of the class (the top of the document). The final result should allow anyone to accomplish the project.
Failure to contribute (you don't ask questions to the discord chat, you don't ask a good question, you ask too late, etc.) of the process will be considered in violation of the spirit of the project.
If you struggle with how to form questions, perhaps consider utilizing the college learning commons to receive assistance with forming good questions.
You will want to go here to edit and fill in the various sections of the document:
For the instructions and access to files you can go to: https://github.com/vircon32/ComputerSoftware/tree/emulator-v23.6.4
For the initial files you can go here: https://github.com/vircon32/ComputerSoftware/releases/tag/emulator-v23.6.4
For help and resources to help you can go to the vircon32 website: http://www.vircon32.com/
For basic Tutorials go to: https://github.com/vircon32/ConsoleSoftware/tree/main/Tutorials/RobotGame/Tutorial01A-HelloWorld
To compile you would run the do “./” to the “Make.sh” file that you should have copied from git.
To start assembling your c code, you must use the assemble executable file to turn the c code into machine readable code.
to pack the rom, run the packrom command on the xml file and turn those results into an object. In the xml file be sure to give paths to where each thing you are putting in the ROM. Put those results into a .v32 file
so I know that the Vircon32 stuff needs to be in an obj directory, so when submitting those files that need to be in that directory should I just submit them or is there a way to submit a directory as well? https://discord.com/channels/738748325217697856/738749154573942845/1165032893316341900
https://discord.com/channels/738748325217697856/738749154573942845/1165058838764986488 read the rest of the response that is there broken up between multiple responses like an array.
How to search for the contents of a library. https://discord.com/channels/738748325217697856/738749179001700372/1163858436358930574
Do “aptitude search <library>”
Hey, I am finishing up installing my dependencies and there was one I could use some advice on. In the video libraries section of the “Readme,” there is a listing for GLUT. Firstly, I was wondering if this install was necessary as it specifies it is only for older systems? Secondly, if so, what would be the best to install, as there are two options that look like the best fit so far, one being “freeglut3-dev” or “libghc-glut-dev”?
I didn't bother with it and I didn't have any problems so probably don't worry about it (unless you have an old system)
Am I understanding the make.sh correctly when reading it as taking the .c file and outputting that as a .asm into /obj. Then, taking the aforementioned .asm and outputting it as .vbin into /obj also. And lastly, taking the .xml file (a “cartridge”) and putting that .v32 output into /bin for Vircon32 use? So, when creating a new “cartridge” via Make.sh, one would need to make sure the desired inputs of the .c and .xml are correct as well as the corresponding outputs so they be correctly compiled / assembled / packed ?
yes. It might be helpful to manually run the steps yourself to bear witness to them, ani determine what best fits your workflow
https://discord.com/channels/738748325217697856/738749154573942845/1165094261579071558 https://discord.com/channels/738748325217697856/738749154573942845/1165094552466620446 https://discord.com/channels/738748325217697856/738749179001700372/1166578651672891454 https://discord.com/channels/738748325217697856/738749179001700372/1166645885959164014
“I’m getting this error while following the instructions in the readme for the vircon emulator. Any pointers? I have rwx permissions for vircon32”
https://discord.com/channels/738748325217697856/738749154573942845/1164626414033715310
above is a link to the whole thread. The solution isn't in there as i found it on my own. I had to sudo ./Make.sh to give permissions to my own system.
“I’m trying to get vircon32 and this error came up while trying to install the package. Each of the requirements for the dependencies I’m trying to install are met but they’re not installable? Any ideas on what to do?”
“you want to obtain and build it from source that’s a prebuilt version (that you’d need to use dpkg to install)”
https://discord.com/channels/738748325217697856/738749179001700372/1162760611868987522
https://discord.com/channels/738748325217697856/738749154573942845/1164626414033715310
I used “nano ~/.bashrc” and manually added /usr/local/DevTools to my PATH. For future reference, is there a better way to do this?
That’s basically what you want to do, yeah
When i do my “cmake –install .” I'm getting a permission denied error
you did want to sudo that
https://discord.com/channels/738748325217697856/738749154573942845/1166250544554328114 https://discord.com/channels/738748325217697856/738749154573942845/1166124710015291464
When looking at the potential packages for 'SDL2_image' I see a 'libsdl2-image-2.0-0' and a 'libsdl2-image-dev' but no 'SDL2_image' (with a underscore) . Should it be fine to use the 'libsdl2-image-2.0-0' even though it doesn't match exactly?
The names of different packages can vary between different distributions so you have to go off what it says it provides.
when i try to run ./make.sh on the edited demo files I get an error for the c file that select region is for some reason not getting a parameter even though it was defined at the top
When you define the belowText, you need to set it to a number, like #define belowText 1
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:
104:fwg0:final tally of results (104/104) *:fwg0:submitted adequately modified demo code for project by duedate [13/13] *:fwg0:custom build script written in bash [13/13] *:fwg0:all files needed to build cartridge are submitted [13/13] *:fwg0:code compiles, cartridge builds with no warning or error [13/13] *:fwg0:committed modified source to semester repo [13/13] *:fwg0:Vircon32 and DevTools not committed to semester repo [13/13] *:fwg0:question, response, links to discord class chat posted [13/13] *:fwg0:overall edit page process content updated [13/13]
Spirit of the project incorporates a good-faith effort to collaboratively document and build from source, and to create a custom build script that isn’t based on any tutorial make.sh scripts.