SIGMOND KUKLA

Entrepreneur, Researcher, and Problem-Solver

AssemBLOCKS Banner Art Image

AssemBLOCKS

AssemBLOCKS is a teaching tool for assembly language programming that leverages the hands-on, interactive nature of virtual and augmented reality to introduce students to the fundamentals of computer engineering and low-level programming.

I presented AssemBLOCKS at the Faculty Seminar on “Virtual Reality in Teaching and Research,” hosted by Clarkson University in collaboration with the Associated Colleges of the St. Lawrence Valley on December 13, 2024.
At the seminar, I also had the chance to demo AssemBLOCKS for faculty and students, showcasing its potential as part of a high school curriculum, which I am excited to continue developing in the future to further experiment with VR for education.

Built using the Unity game engine, I chose to emulate in C# the complete 6502 microprocessor used in computers such as the Commodore 64 and Apple II. AssemBLOCKS simplifies the daunting cross-disciplinary complexity of building a microcontroller by representing data lines as intuitive cable connections between components, allowing users to build a deeper understanding of low-level programming, memory management and communication protocols through a hands-on block diagram of the computer.

The simplicity of connecting computer components allows students to go in-depth in programming the computer, and I included both an opcode-based machine code editor and an assembly language editor that put the best features of block programming to good use in making assembly accessible to a wider audience.

Follow development progress here: https://www.youtube.com/playlist?list=PLkaQw-J0LlJHFG50lwuxm-XsOM9d5I1QY

By building AssemBLOCKS, I have learned:

  • Advanced Meta Quest SDK features such as:
    • Augmented reality with Passthrough
    • Room tracking with the Scene API
    • Natural hand and controller interactions with the Interaction SDK
  • Building a performant microprocessor emulator
  • Writing modular C# code with extensibility in mind