* WalrusIRC

You need to have 5 posts and not be part of restricted usergroups in order to use the WalrusIRC embedded shoutbox. However, you can also access our IRC channel called #CodeWalrus via EFnet.

Author Topic: CBS6000 emulator  (Read 908 times)

0 Members and 1 Guest are viewing this topic.

Offline Keoni29

  • Full User
  • Join Date: Nov 2014
  • Location:
  • Posts: 284
  • Post Rating Ratio: +8/-0
    • View Profile
    • 8times8
  • Gender: Male
CBS6000 emulator
« on: November 19, 2015, 02:00:39 pm »
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: https://hackaday.io/project/4406-cbs6000-8-bit-computer/log/28096-more-about-the-emulator
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: https://github.com/keoni29/mos6502

Here's a screenshot of the emulator in action!


If you like my work, why not give me an internet?

Offline Streetwalrus

  • Professional slacker
  • CodeWalrus Staff
  • Super User
  • Server Maintenance
  • Original 5
  • Join Date: Nov 2014
  • Location: Israel
  • Posts: 2856
  • Post Rating Ratio: +20/-0
  • ƎW∀⅁ ƎH⊥
    • View Profile
  • Gender: Male
Re: CBS6000 emulator
« Reply #1 on: November 19, 2015, 06:10:11 pm »
Cool to see an emulator for it, you really pushed that homebrew computer far into completion. :)
  • Calculators owned: TI-80, HP 40G, TI-84 Plus rev G (yay 128k RAM), TI-83 Plus Silver Edition (broken LCD), TI-82 Stats.fr (black), TI-Nspire CX rev C (yay Nlaunchy), TI-83+ SE ViewScreen



Offline DJ Omnimaga

  • Omni founder & CW co-founder
  • CodeWalrus Staff
  • Super User
  • Forum Maintenance
  • Original 5
  • CodeWalrus Supporter
  • *
  • Topic Management
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 18222
  • Post Rating Ratio: +91/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • View Profile
    • DJ Omnimaga music store
  • Gender: Male
Re: CBS6000 emulator
« Reply #2 on: November 19, 2015, 06:48:50 pm »
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:
  • Calculators owned: TI-57, 73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)
??? ??? ??? ???

Offline Keoni29

  • Full User
  • Join Date: Nov 2014
  • Location:
  • Posts: 284
  • Post Rating Ratio: +8/-0
    • View Profile
    • 8times8
  • Gender: Male
Re: CBS6000 emulator
« Reply #3 on: November 19, 2015, 07:33:09 pm »
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?

Offline DJ Omnimaga

  • Omni founder & CW co-founder
  • CodeWalrus Staff
  • Super User
  • Forum Maintenance
  • Original 5
  • CodeWalrus Supporter
  • *
  • Topic Management
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 18222
  • Post Rating Ratio: +91/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • View Profile
    • DJ Omnimaga music store
  • Gender: Male
Re: CBS6000 emulator
« Reply #4 on: November 19, 2015, 07:33:59 pm »
I see. Good luck. Will those also be integrated into the OS?
  • Calculators owned: TI-57, 73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)
??? ??? ??? ???

Offline alexgt

  • Just your friendly neighborhood Ninja Stach Fancy Iron Man
  • Super User
  • Join Date: Dec 2014
  • Location: Behind you
  • Posts: 2611
  • Post Rating Ratio: +6/-1
  • Something should go here...
    • /u/alexgt9123
    • View Profile
  • Gender: Male
Re: CBS6000 emulator
« Reply #5 on: November 19, 2015, 08:10:14 pm »
Cool, Keoni :) Good luck implementing further stuff ;)
  • Calculators owned: Ti-84+, Ti-Nspire, Hp Prime, Broken HP Prime, HP 48SX

Offline Keoni29

  • Full User
  • Join Date: Nov 2014
  • Location:
  • Posts: 284
  • Post Rating Ratio: +8/-0
    • View Profile
    • 8times8
  • Gender: Male
Re: CBS6000 emulator
« Reply #6 on: November 20, 2015, 07:59:47 am »
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?

Offline Keoni29

  • Full User
  • Join Date: Nov 2014
  • Location:
  • Posts: 284
  • Post Rating Ratio: +8/-0
    • View Profile
    • 8times8
  • Gender: Male
Re: CBS6000 emulator
« Reply #7 on: November 20, 2015, 11:07:52 pm »
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: https://github.com/keoni29/cbs6000/blob/master/user/krusader1.3CBS.asm
« Last Edit: November 20, 2015, 11:29:00 pm by Keoni29 »
If you like my work, why not give me an internet?

Offline DJ Omnimaga

  • Omni founder & CW co-founder
  • CodeWalrus Staff
  • Super User
  • Forum Maintenance
  • Original 5
  • CodeWalrus Supporter
  • *
  • Topic Management
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 18222
  • Post Rating Ratio: +91/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • View Profile
    • DJ Omnimaga music store
  • Gender: Male
Re: CBS6000 emulator
« Reply #8 on: November 21, 2015, 06:45:27 am »
Wow, you did that fast Keoni29 :D. That reminds me, would the TI-84+ be fast enough for such emulator?
  • Calculators owned: TI-57, 73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)
??? ??? ??? ???

Offline Keoni29

  • Full User
  • Join Date: Nov 2014
  • Location:
  • Posts: 284
  • Post Rating Ratio: +8/-0
    • View Profile
    • 8times8
  • Gender: Male
Re: CBS6000 emulator
« Reply #9 on: November 21, 2015, 09:03:45 am »
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?

 


You can also use the following HTML or bulletin board code to share it on your page or forum signature!


Also do not forget to check our affiliates below.
Planet Casio TI-Planet Calc.news BroniesQC BosaikNet Velocity Games