Project Description
CBM11 makes use of the Cosmos C# operating system project, and 6502 CPU emulation code, to provide an bootable 6502 CPU environment, complete with simulated RAM, and a built-in ML monitor.

BOOT UP YOUR SHINY QUAD-CORE X86 TO AN OLD FASHIONED 6502 ENVIRONMENT :)

The Cosmos project is an incredible undertaking which converts MSIL to x86 assembly, and provides a boot loader to get the code running. This project adds 6502 CPU emulation on top of the boot process, creates simlulated
RAM, and adds an out-of-RAM ML monitor. CBM11 is a great starter for building toy 8-bit operating systems which can access modern hardware. Think Commodore 64 or Apple II with access to modern devices. If you are a fan of the older CPUs, then I think you will
enjoy this project. And there's no real reason to be limited to the 6502. With additional CPU classes, the system could possibly emulate any processor.

What can it do?
Right now, it will boot and execute code running at location 0, which is a 0x00 (BRK) instruction, jumping into the built in monitor. Within it, you can:Assemble - Assemble a program to memory (A XXXX OP
PARM)Memory - view or modify memory (M 0000 to view, M 0000 XX to modify)Go - Begin execution (G XXXX)Step (S XXXX initially, then just S afterward)Registers - display registersFill - fill memory (F XXXX XXXX BB)

What cant it do?
As of now, the Cosmos folks have not finished the code to access drives. Therefore, loading and saving can not be accomplished. But they are working on it, and as soon as it is working, we will start building a simple kernel.

Long Term Goals

Make the emulation code as good and efficient as possible

Add disk I/O, to load kernels into memory

Access to other devices like network cards, mice, etc

Utilize some of the undocumented opcodes and X flag to add some new features like memory bank switching, or even task switching

join us

Complete this form to send a request to become a member of this project. Enter any comments that
you wish for the project coordinators to see when approving your request, for example
what role you would like to have in the project.