Skip to content

Calendis/FFVC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FFVC (For-Fun Virtual Computer)

Virtual computer made for learning purposes.
Current features:

  • Processor
    • Special registers such as instruction pointer
    • 8 general-purpose registers
    • 15 instructions
  • Memory
    • Fully contiguous bytes
  • Bus
  • Display
    • Font support
    • Currently uses pygame
    • Palette and mode registers are memory-mapped
  • Assembler
    • Supports line numbers/GOTO, which expands to machine instructions
    • PRINT instruction which expands to machine instructions
  • Example programs
  • Some documentation

How to use

Run computer_interface.py. This currently serves as a very basic "operating system" for the computer.

To-do list

  • Input/processor interrupts
  • Audio
  • More peripherals
  • Processor clock cycle
  • Support access of non-mapped registers

What is NOT simulated

  • Hardware circuitry
    • CPU voltages
    • Display scanlines
    • etc.

About

For-Fun Virtual Computer architecture

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages