Skip to content

guilherme-ls/Assembly-Labyrinth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

3D Labyrinth in Assembly

Description

This repository contains the code for a 3D rendered labyrinth game developed in assembly to run in the the São Carlos Institute of Mathematical and Computing Sciences (ICMC) processor.

You can use the standard commands W, A, S, and D to move about the labyrinth searching for the exit, while the game re-renders the surrounding walls at each step. To make the process a bit harder, lighting is implemented so distant walls (from you) get darker and harder to see.

Two game screens

Assembling and Simulation

To assemble the game and simulate it in the ICMC architecture I am using my own fork of those tools, found at Processador ICMC. The correct assembler is found in the NovoMontadorLinux/montadorLinux folder, and the simulator in the Simulator_Source folder. Both are modified to work correctly with negative numbers and to implement the NEG instruction (to store the negative of a given number in the register using the two's complement format).

montador is the assembler and sim is the simulator, both compatible primarily with Linux.

To start the game, assure that you have the files sim and montador, as found here and in the mentioned fork. Afterwards, use the following commands to assemble and run the game simulation:

./montador jogo_new.asm jogo_new.mif
./sim jogo_new.mif charmap.mif

Ending notes

This project was developed as an evaluation method for the discipline SSC0902 - Computer Organization and Architecture, at the University of São Paulo. A higher resolution to the simulator and a labirynth generation algorithm would greatly benefit this project.

About

Repository for an assembly 3D rendered labyrinth game

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published