May 31, 2020, 05:07:00 am

The shoutbox is currently out of service. Join us on Discord instead.
You can help CodeWalrus stay online by donating here.

WARNING: DO NOT UPGRADE your TI-83 Premium CE or TI-84 Plus CE to OS 5.5.1 and higher. It removes all compatibility with most games and removes ASM/C programming! DOWNGRADING IS IMPOSSIBLE. BE WARNED!

Likewise, do NOT update your TI-Nspire CX past OS 4.5.0, else using Ndless and ASM/C programs will be impossible.

CBS6000 emulator

Started by Keoni29, November 19, 2015, 02:00:39 pm

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


CBS6000 Emulator
I always wanted to write an emulator, but pretty much every device has been emulated already.
Then I thought to myself: Why not emulate the computer that I designed and built myself.

About the CBS6000
The CBS6000 is an 8 bit microcomputer with a 1MHz 6502 cpu at its core. The user interacts with it using a terminal.

About the emulator
I did not feel like re-inventing the wheel with the CPU emulator, so I based my emulator on a 6502 emulator written by Gianluca Ghettini.
The emulator features a custom terminal emulator, modem emulation trough sockets,

Original post:
The emulator is really starting to take shape. It has a terminal emulator, variable execution speed, single stepping (but no monitor yet), tcp socket for loading and saving files as well as connecting to the internet (soon.) The next items on the agenda are emulating the CIA , Bankswitching, Printer port, Seven segment display and Interrupts.

I open-sourced the project, so you can have a look at it on my github page:

Here's a screenshot of the emulator in action!
If you like my work, why not give me an internet?


Cool to see an emulator for it, you really pushed that homebrew computer far into completion. :)

DJ Omnimaga

It would definitively be interesting to be able to try stuff that you write for this computer. Also I'm glad to see you back in action, programming-wise :walrii:


Most of the things I wrote for the computer have been integrated into the operating system. I have not written too many user programs for it yet. It can run most apple 1 software with a few modifications though. I want to get an assembler and a text editor to work on it, so that's what I'm gonna try tonight.
If you like my work, why not give me an internet?

DJ Omnimaga

I see. Good luck. Will those also be integrated into the OS?


Cool, Keoni :) Good luck implementing further stuff ;)


Quote from: DJ Omnimaga on November 19, 2015, 07:33:59 pm
I see. Good luck. Will those also be integrated into the OS?

I am porting an assembler to the cbs6000 right now. It is not likely to be included into the OS, since the assembler is a separate program. That does not mean it won't be included in the rom of the device.
If you like my work, why not give me an internet?


November 20, 2015, 11:07:52 pm #7 Last Edit: November 20, 2015, 11:29:00 pm by Keoni29
Done it. I have succesfully ported the KRUSADER assembler to the CBS6000. It was a lot of work, but I finally cracked the code!
I have added a lot of debug features to my CBS6000 emulator, so I could figure out why some things were not working.

As you can see there's a zero page monitor, register monitor, live disassembler, debug console, speed control and single-stepping. This weekend I will probably be prettifying the interface. The modified source for the assembler can be found here:
If you like my work, why not give me an internet?

DJ Omnimaga

Wow, you did that fast Keoni29 :D. That reminds me, would the TI-84+ be fast enough for such emulator?


I modified a stand-alone disassembler program and made it into a live assembler class. I can pass 3 bytes of code to it and it will return a string of the disassembled code. I want to have breakpoints and a full memory monitor as well.

The speed of the TI84+ would not be the issue: it's the screen real estate. On the pc you got all the debug info in front of you, so that's a more useful tool. I'd also have to write the cpu emulator and test suite from scratch. I'd rather keep adding features to the pc emulator.
If you like my work, why not give me an internet?

Powered by EzPortal