Skip to content
/ c64vm Public

A 64 bit register based virtual machine implemented in C

License

Notifications You must be signed in to change notification settings

noah1400/c64vm

Repository files navigation

c64vm - A 64-bit Register-Based Virtual Machine in C

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.

Table of Contents

Introduction

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.

Build

To build c64vm, follow these steps:

  1. Clone this repository to your local machine.

  2. Navigate to the repository directory.

  3. 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.

Usage

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.

License

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.

About

A 64 bit register based virtual machine implemented in C

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published