Welcome to the c64vm project! This repository hosts an upgraded version of the previously established c16vm, now equipped with 64-bit capabilities. This virtual machine is being developed to provide a powerful and versatile platform for executing code within a simulated 64-bit environment.
The c64vm project aims to create a 64-bit register-based virtual machine. This virtual machine is designed to execute code written in a custom assembly-like language within its simulated environment. As an upgrade to the c16vm project, c64vm extends its capabilities by using a 64bit address range.
Please note that this project is currently a work in progress. As such, expect ongoing updates, enhancements, and potentially some rough edges.
To build c64vm, follow these steps:
-
Clone this repository to your local machine.
-
Navigate to the repository directory.
-
Run the following command to compile the project:
gcc -o c64vm c64mem.c c64cpu.c c64mm.c c64util.c c64vm.c c64main.c -Iinclude -std=c99 -Wall -Wextra -Wpedantic
Please keep in mind that this project is a work in progress, and there might be changes to the build process as development progresses.
Assembly code can be compiled using the c64asm assembler. Move the compiled binary file in to the main folder of the c64vm project and run ./c64asm
.
Since the c64asm assembler and the c64vm project is still a work in progress, assembling code might not work correctly and all operations might not be fully implemented into the language.
This project is licensed under the MIT License, meaning you are free to use, modify, and distribute the software according to the terms outlined in the license.
Disclaimer: As a work in progress, the c64vm project is continuously evolving. While i am striving to provide accurate information, some details may change over time.