Author Topic: CBS6000 - an 8-bit 6510 computer  (Read 23522 times)

0 Members and 1 Guest are viewing this topic.

Offline Keoni29

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2466
  • Rating: +291/-16
    • View Profile
    • My electronics projects at 8times8
Re: CBS6000 - an 8-bit 6510 computer
« Reply #15 on: November 09, 2014, 12:40:33 pm »
Lol so you type in programs bit by bit ? *.*
Anyway nice project. :3
Yep that is right  8) Don't worry: I will get rid of the buttons and hook it up to my PC via the printer port. That way I can send files to the 8 bit computer.

Yesterday I put the bootloader on an EEPROM, so the data does not go away when the battery runs out! I am moving towards getting rid of the cartridge slot because this thing has so much ram. I'd rather load software from external media or my PC. I want to leave this thing connected to my PC during development. When the firmware is all done I will put it all on the EEPROM.

The system specs changed slightly: it now has 8KB of ROM instead of 4. User code will be able to access the lower 4KB of the EEPROM for writing, so there is some kind of non-volatile storage on the computer.
If you like my work: why not give me an internet?








Offline bb010g

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 428
  • Rating: +22/-1
  • I do stuff
    • View Profile
    • elsewhere on the net
Re: CBS6000 - an 8-bit 6510 computer
« Reply #16 on: November 10, 2014, 10:53:41 pm »
Lol so you type in programs bit by bit ? *.*
Anyway nice project. :3
Yep that is right  8) Don't worry: I will get rid of the buttons and hook it up to my PC via the printer port. That way I can send files to the 8 bit computer.
Relevant xkcd:
Arch Linux user
Haskell newbie | Warming up to Lua | Being dragged into C++
Calculators: HP 50g, HP 35s, Casio Prizm, TI-Nspire CX CAS, HP 28s, HP Prime, Mathematica 9 (if that counts)
π: 3.14...; l: 108; i: 105; e: 101; l+i+e: 314
THE CAKE IS A LIE IS A PIE

Offline Streetwalrus

  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3821
  • Rating: +80/-8
    • View Profile
Re: CBS6000 - an 8-bit 6510 computer
« Reply #17 on: November 12, 2014, 01:04:38 am »
Lol bb010g.

Also I think your computer is pretty unbalance in RAM:ROM ratio. I mean, usually computers have much more ROM than RAM. :P

Offline Keoni29

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2466
  • Rating: +291/-16
    • View Profile
    • My electronics projects at 8times8
Re: CBS6000 - an 8-bit 6510 computer
« Reply #18 on: November 12, 2014, 04:43:25 am »
The firmware (bios) on modern computers is just a fraction of the size of ram. Computers these days rely on external media which contents are loaded into ram.
The c64 has 64k of ram and just 20k of rom. It too relies on external media such as floppies or casette tape. Yes this is more balanced than my computer, but I don't intend to write a large basic or kernal for it. Those take up 16k in the c64. I also don't need a character generator rom because this thing does not have a video chip. This saves another 4k of rom. The only things I want to save in rom are a program loader, peripheral drivers, menu system and a sound sample player.

That aside: it was either 128k or 8k because those were the only ram chips I currently have in stock. I want to add a serial flash rom with more data on it so I can play back sound samples for example.
If you like my work: why not give me an internet?








Offline aeTIos

  • Nonbinary computing specialist
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3915
  • Rating: +184/-32
    • View Profile
    • wank.party
Re: CBS6000 - an 8-bit 6510 computer
« Reply #19 on: November 12, 2014, 04:52:24 am »
Not quite sure how I missed this but it looks awesome, show me this thing the next time I visit you ^^
I'm not a nerd but I pretend:

Offline Streetwalrus

  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3821
  • Rating: +80/-8
    • View Profile
Re: CBS6000 - an 8-bit 6510 computer
« Reply #20 on: November 12, 2014, 02:24:44 pm »
The firmware (bios) on modern computers is just a fraction of the size of ram. Computers these days rely on external media which contents are loaded into ram.
The c64 has 64k of ram and just 20k of rom. It too relies on external media such as floppies or casette tape. Yes this is more balanced than my computer, but I don't intend to write a large basic or kernal for it. Those take up 16k in the c64. I also don't need a character generator rom because this thing does not have a video chip. This saves another 4k of rom. The only things I want to save in rom are a program loader, peripheral drivers, menu system and a sound sample player.

That aside: it was either 128k or 8k because those were the only ram chips I currently have in stock. I want to add a serial flash rom with more data on it so I can play back sound samples for example.
Oh ok lol, I thought you were going to have everything load off of your EEPROM. Embedded devices usually boot from flash.

Offline Keoni29

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2466
  • Rating: +291/-16
    • View Profile
    • My electronics projects at 8times8
Re: CBS6000 - an 8-bit 6510 computer
« Reply #21 on: November 12, 2014, 02:25:33 pm »
Well the eeprom is not large enough for sound samples and this is the largest parallel eeprom I got.
If you like my work: why not give me an internet?








Offline Keoni29

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2466
  • Rating: +291/-16
    • View Profile
    • My electronics projects at 8times8
Re: CBS6000 - an 8-bit 6510 computer
« Reply #22 on: December 20, 2014, 10:13:05 am »
   CBS6000

Today a new computer was born
It had some startup issues
With it overwriting its eeprom
But short after I found a fix
The computer blinks its LED's, a colorful mix
As if it were trying to say
~ Merry Christmas!


Edit: Added picture of the main board.
« Last Edit: December 20, 2014, 12:24:11 pm by Keoni29 »
If you like my work: why not give me an internet?








Offline Digital

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 107
  • Rating: +0/-0
  • 10101
    • View Profile
    • Digital's Hp
Re: CBS6000 - an 8-bit 6510 computer
« Reply #23 on: December 20, 2014, 12:26:01 pm »
cool this project is epic   merry chrismas ;)
I'm sorry if i might make some mistakes, I'm German so English isn't my first language. Please correct me :)

Offline Keoni29

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2466
  • Rating: +291/-16
    • View Profile
    • My electronics projects at 8times8
Re: CBS6000 - an 8-bit 6510 computer
« Reply #24 on: December 24, 2014, 07:11:39 am »
Original post:
http://8times8.eeems.me:81/blog/?thread=12

Muhahahahahaha
The cbs6000 is making some noise! I hooked up a digital to analog converter to the serial port and wrote some software that plays back sound data in ram. Almost the entire first 64k bank is filled up for about 5 seconds worth of 8000 bytes/sec 8 bit audio.
If you like my work: why not give me an internet?








Offline Keoni29

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2466
  • Rating: +291/-16
    • View Profile
    • My electronics projects at 8times8
Re: CBS6000 - an 8-bit 6510 computer
« Reply #25 on: December 26, 2014, 11:32:37 am »
I made a debug routine. It's an interrupt service routine that prints human readable info about the CPU state.
Sample output:
Code: [Select]
A=03,X=08,Y=00,P=34,S=FB,PC=0240It can be called using a brk instruction or by pulling the IRQ pin low. I want to change this to the NMI because I still want to be able to use interrupts.
I want to make it elaborate on the status flags. It will explain what every flag does like so:
Code: [Select]
Negative number, BRK, INT disabled, Decimal mode enabled
https://raw.githubusercontent.com/keoni29/cbs6000/master/src/main/debug.asm
« Last Edit: December 26, 2014, 11:42:03 am by Keoni29 »
If you like my work: why not give me an internet?








Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: CBS6000 - an 8-bit 6510 computer
« Reply #26 on: December 27, 2014, 02:26:55 pm »
Yay, audio! \o/ That's sweet! ;D

Offline Keoni29

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2466
  • Rating: +291/-16
    • View Profile
    • My electronics projects at 8times8
Re: CBS6000 - an 8-bit 6510 computer
« Reply #27 on: February 09, 2015, 06:40:58 pm »
Stacked an I/O board on top. Total I/O including the main board:
32 I/O pins
serial RS232
2x SPI-like port
4 16 bit timer/counters
4 handshaking lines
8 bit Analog to Digital converter
6 digit seven segment display
« Last Edit: February 09, 2015, 06:44:06 pm by Keoni29 »
If you like my work: why not give me an internet?








Offline Sorunome

  • Fox Fox Fox Fox Fox Fox Fox!
  • Support Staff
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 7920
  • Rating: +374/-13
  • Derpy Hooves
    • View Profile
    • My website! (You might lose the game)
Re: CBS6000 - an 8-bit 6510 computer
« Reply #28 on: February 10, 2015, 05:49:34 am »
This is looking sweet!

THE GAME
Also, check out my website
If OmnomIRC is screwed up, blame me!
Click here to give me an internet!

Offline Keoni29

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2466
  • Rating: +291/-16
    • View Profile
    • My electronics projects at 8times8
Re: CBS6000 - an 8-bit 6510 computer
« Reply #29 on: February 12, 2015, 11:56:33 am »
I added an FSK modem chip (dial up-type) to convert serial data to sine waves and vice versa. I can use this to communicate over audio channels such as phone lines or store data on casette tape.

Old info in spoiler
Spoiler For Spoiler:
I tested the FSK modem chip and I can confirm that sending data works! There are a couple of glitches, but those are probably because of the low bitrate I used for recording the audio to my pc.
Receiving data still requires some tweaking of the modem's confidence-level knobs :P

Listen to audio sample here.

Code: [Select]
minimodem -f file.wav --rx 1200
### CARRIER 1200 @ 1200.0 Hz ###

### NOCARRIER ndata=1 confidence=2.883 ampl=0.166 bps=1194.03 (0.5% slow) ###
### CARRIER 1200 @ 1200.0 Hz ###

### NOCARRIER ndata=1 confidence=3.147 ampl=0.165 bps=1194.03 (0.5% slow) ###
### CARRIER 1200 @ 1200.0 Hz ###

### NOCARRIER ndata=1 confidence=3.282 ampl=0.168 bps=1194.03 (0.5% slow) ###
### CARRIER 1200 @ 1200.0 Hz ###
CBS Computer
CBS Computer
CBS COmputer
CBS Computer
CBS Computer
BS Computer
CBS Computer
BS Compu|er
CBS om`uter
CBS COmputer
CBS Computer
CBS CoMpu|er
CBS Computer
CBS Computer
BS Computer
CBs COm`uter
CS Computer
CBS Computer
CBS Computer
CBS Computer
CBSCompu|er
CBS Com`uter
CBSCNmputer
�BS Computer
CBS CoMputer
CBS Computer
CBS Compute
CBS Computer
CBS Computer
CBSComputer
CBS Compu|er
CBSComputer
CBS Com�uter

### NOCARRIER ndata=476 confidence=2.697 ampl=0.162 bps=1173.71 (2.2% slow) ###



With the recent updates to the operating system I can now save and load data to casette tape. At first I was a bit skeptical about the reliability, but so far I have been getting 100% reliable data back from the tape. I record the audio with FSK at 1200 baud, so about 120 characters per second.

I saved, loaded and executed a program and it ran fine!
« Last Edit: February 15, 2015, 06:44:21 pm by Keoni29 »
If you like my work: why not give me an internet?