RaidTheWeb / audr32old

32 bit fully custom CPU architecture with a custom assembler and custom C compiler target. Intended to run an Operating System

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Audr32 (Audrey) CPU


Audr32 or Audrey, is a little 32-bit CPU I've been working on that I wish to make an operating system for sometime in the future. Audr32 supports a few essential features like:

  • Proper address mapping (See memory maps in vm/src/ISA.txt)
  • Pointers
  • Interrupts
  • Exceptions
  • I/O (Clock, Keyboard, Screen, Disk Drives, and Audio.)

Road Map

  • Proper cycle operations
  • Interrupts
  • Basic memory mapping
  • Screen
  • Keyboard
  • Proper address mapping
  • Clock (For interval based interrupts and keeping time)
  • Disk image loading
  • Disk services interrupts
  • Audio
  • BIOS Firmware
  • Move interrupts to BIOS instead of embedding directly(?)
  • Basic game (inspired by my calculator programming)
  • Operating System and before that: A bootloader

Building

Building requires SDL2 to be installed.

  • Run make to build assembler and vm (emulator).

  • Resulting executables will be in directories

    • ./vm/bin/vm
    • ./assembler/bin/assemble

Documentation

Read ISA Documentation/Spec (ISA.md) and Assembler Documentation/Spec (ASM.md) to learn more about my insanity.

About

32 bit fully custom CPU architecture with a custom assembler and custom C compiler target. Intended to run an Operating System

License:GNU General Public License v3.0


Languages

Language:C 97.3%Language:C++ 2.5%Language:Assembly 0.2%Language:Makefile 0.0%