Alternatively, join us on Discord.
You can help CodeWalrus stay online by donating here.

CBS6000 - an 8-bit 6510 computer

Started by Keoni29, December 20, 2014, 05:27:59 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Keoni29

I designed it so it does not require a case. I accidentally dropped it from my desk and it was still running without problems.

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.

Listen to audio sample here.


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) ###
If you like my work, why not give me an internet?

DJ Omnimaga

Haha I haven't heard this dial-up sound in a while. The last time I did was at the Subway restaurant when paying with my debit card a few years ago. I believe it did it when faxing stuff too, right?

Duke "Tape" Eiyeron

Th noise part sounds a lot like Harder Better Faster Stronger intro! :3

Keoni29

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

DJ Omnimaga

Dat oscilloscope! O.O

I wonder if you could make a game on it like Tennis for Two but more advanced like Moon Patrol? ;D

Keoni29

I can make scope graphics using a digital two analog converters. (One for x and one for y axis)
If you like my work, why not give me an internet?

DJ Omnimaga

Cool. :D If you can you should try and demonstrate it :)

Keoni29

I did once, but that was a test with 3 bit DAC's so only 8x8 pixels. With two 8 bit dacs it should look better, but it would be more cpu intensive also. It takes about 15-25 clock cycles per dot I estimate, so to draw 362 dots (diagonal line across the screen) I need 7200-9000 cycles.  This gives me a refresh rate of this line of 100Hz which would be perfect, but as soon as I draw another diagonal line this would reduce the framerate to 50Hz and two more reduces it to 25Hz, so as long as there are not too many lines on the screen I can get pretty good results.

Today I tried sending data from my pc audio card to the modem on the cbs computer and it works great. I should make a more permanent setup for data transfers though, cause it's a mess of wire right now.
If you like my work, why not give me an internet?

DJ Omnimaga

I am curious how pixel looks like on an oscilloscope, though :P Also this talk reminds me of Atari 2600 for some reasons :P

Keoni29

February 14, 2015, 11:07:23 PM #69 Last Edit: February 14, 2015, 11:09:08 PM by Keoni29
Because you have to spoon-feed the dot data to the display. The main difference is that it is not timing-critical. You can send dots whenever you want wherever you want as long as you have a steady rate of displaying pixels. Otherwise you get dim spots and flicker.

With the atari2600 you have to change the graphics in the video chip twice per scanline because there is no video ram. To make matters worse: there are no interrupts so you have to count cycles in order to make these writes occur at the right moment.
If you like my work, why not give me an internet?

DJ Omnimaga

Darn I wouldn't want to try programming the Atari 2600 in ASM. >.< (There's Batari Basic which probably takes care of that, although it probably cannot do much more than Princess Rescue and Zippy the Porcupine)

Keoni29

Well you could use a kernel written by someone else and just take care of the game logic during the vblank. (A kernel is the thing that handles all video and possibly sound output of an atari2600 game. It is included in the game's code.)
If you like my work, why not give me an internet?

Keoni29

February 15, 2015, 07:27:05 PM #72 Last Edit: February 15, 2015, 08:33:54 PM by Keoni29
Just pushed new commits for the woz monitor. I added a save/load feature which allows you to save chunks of memory to a casette tape and load them back into memory. Right now there are no start and end of file markers. It just loads until you hit the esc key and it saves raw data to the casette.

I also tried programming the atari2600 today and I got some simple graphics on the screen, but doing anything with sprites requires crazy tricks :P

Edit: Just saved a program to the casette tape, loaded it back and ran it. Works perfectly! It seems like this method of data storage is more reliable than I thought. If I use parity checks if would be even more reliable!
If you like my work, why not give me an internet?

DJ Omnimaga

February 16, 2015, 03:15:29 AM #73 Last Edit: February 16, 2015, 03:19:19 AM by DJ Omnimaga
I am curious if you could port Legand of Zelda: Sord of Atari to an actual 2600 without the text. :P (it would kinda defeat the point since the game goal was a bit to poke fun at Zero Wing for Sega Mega Drive, but you could still intentionally make the game bad such as "emulating" Pacman's Ghost Flicker of Death and keep the title mispelled and bad graphics:

http://codewalr.us/index.php?topic=6.45

Also for the cassette tape program do you mean for your CBS6000 computer or the Atari?

Keoni29

Positioning sprites alone is a hack in its own right so I dunno how I could make a game on this console.

The casette interface is on the cbs.
If you like my work, why not give me an internet?

Powered by EzPortal