|
Post by Jeff Ledger on Nov 9, 2007 23:51:35 GMT -5
In July of last year I posted a message about a new hardware emulation of the 64 that was just starting to be worked out using the Parallax Propeller. Upon investigating the chip itself, I became hooked on the possibilities of what it might be able to do. Since then I've been lurking my own forum while diving deep into the Propeller and it's programming language. (Yup, I'm still around, just being quiet on this side.) The original designer of the 64 Emulator has moved onto other projects, but recently the thread has seen some action as several programmers have jumped in to work out the details of 6502 emulation using a propeller chip, then possible emulation of the VIC, and SID abilities using other propeller chips. It's starting to look like they may be onto something here. Some updates from the Propeller Front... Much has happened in the Propeller community in the last year. The chip itself has made huge leaps forward with contributions of new code from all over the community. Music routines are only a few steps away from being able to handle SID music. Recently some video routines were created to permit both Atari & CBM 40x23 fonts in 16 colors. I suspect that the addition of Commodore-like sprites is next. In other words, a propeller-based Commodore 64 isn't that far away. SID emulation is even closer.. If you ever wanted to design your own programmable microcomputer like the Commodore, this is fertile ground. Don't worry! I haven't left the CBM community! I'm looking forward to bring what I'm learning back to my C= gear in the form of my own version of a Commodore SD interface that anyone could build in an hour. I'm getting the chance to fill all the gaps in my electronics knowledge that I missed when I got involved with the 80's pirate scene. Jeff
|
|
|
Post by David Murray on Nov 29, 2007 12:47:34 GMT -5
I guess I must have missed this topic before. That sounds really incredible. I've always wished somebody could get a microcontroller programmed to be a self-reliant computer that could be programmed in BASIC or ML from itself (rather than from a PC) making it more like a 1980's microcomputer. Even if it wasn't neccessarily emulating another platform.
Still, the C64 would be awesome to get running in that type of setup. Maybe if the C64 is too complex, somebody should first try for a PET or a VIC-20 or something. I think the PET's video logic is probably the simplest.
I definately want to hear any updates on this.
|
|
|
Post by Jeff Ledger on Nov 29, 2007 14:59:31 GMT -5
We have a BASIC running on the Prop that feels alot like the Commodore 64, using a 40x23 CBM font, it comes real close. It's called Femto BASIC, which my "color" version supports typical BASIC commands, saves it's data on SD media, and support primitive sound. (All worked into less than 32K of space to save room to actually do something in BASIC. (about 8k left)
It's gonna take multiple Propeller chips to truly emulate the 64, and it might even take the next version of the chip (Propeller II) to make it work well. I think we'll see SID emulation support before the full 64 clone arrives, but it keep edging closer..
Jeff
|
|
|
Post by David Murray on Nov 29, 2007 18:01:58 GMT -5
I'd be interested in seeing this femto basic in action. Are there any websites or screenshots?
|
|
|
Post by Jeff Ledger on Dec 1, 2007 12:44:47 GMT -5
I working on migrating some video code which would allow me to "Printscreen" the video to BMP's on my SD card. If I can't wrangle it down pretty quick, I'll grab my digital and take some shots for you.
Jeff
|
|
|
Post by paradime on Dec 1, 2007 15:07:53 GMT -5
Jeff,
Very interesting! What do you think it would cost in total for all the parts necessary to have a fully-functional unit? Assuming you got it all working...
Also, are you using the Propeller Proto Board for your development or something else?
|
|
|
Post by David Murray on Dec 2, 2007 22:39:24 GMT -5
I'd be interested to see it working just as it is, whether it is fully C64 compatible or not.
|
|
|
Post by Jeff Ledger on Dec 3, 2007 10:22:42 GMT -5
paradime: Here's what I'm playing with.. (I'll list costs so you know what you are getting into to) I've got a Parallax Propeller Protoboard ($20) to which I've added four sets of dual-row male pin heads to make it compatible with the cards from ucontroller.com. (Not a hard modification, and is well documented) Keep in mind you'll want a programming plug for this board. Next I've added Audio/Video card for composite video and two channel audio. ($12) (This card consists of 5 resistors, a couple caps, and a couple connectors) I've added a PS2 keyboard/mouse card, ($12) (consists of four resistors and 2 ps2 connectors) I've also added an SD media card. ($13) (consists of SD slot adapter and a few pull-down resistors) I also built a NES interface card which was built from a piece of PCB and a Nintendo jack I found on Ebay. This gives me a Propeller with the functions of a microcomputer. (Video, keyboard, mouse, stereo audio, SD storage, and game control) All of the cards could have been scratch built, which I did do on my first design, the cards from ucontroller.com just look better. On the software side, I've installed something called PropDOS which is a simulated DOS supporting basic commands as well as a couple audio toys. From here I can launch other spin-based (propeller) binaries from my SD card. On my SD card, I've got a few interesting toys... FemtoBASIC color (My own adaption of FemtoBASIC which I've mentioned in earlier thread) Several 16k mono wav files which can be played from PropDOS Several mod-type music files which can be played from PropDOS Several old-school games. (Manic Miner, Defender, Jetpac, Donkey Kong, and other spin-based toys) --- So you have an idea of what has been grabbing my attention lately. The interesting part of this is that new ideas and code are appearing on a weekly basis. Currently several of us are toying with adding a DS1307 (time/date chip) so we can add proper stamps to the SD media driver. I'll post a few pics later. Jeff
|
|
|
Post by Jeff Ledger on Dec 3, 2007 11:25:32 GMT -5
david: BTW, I've been writing a PETSCII terminal for my Propeller so I can call TelBBS from my Prop in color/graphics. Jeff
|
|
|
Post by paradime on Dec 4, 2007 1:06:32 GMT -5
Hi Jeff,
I figured you were using the Proto Board. I guess a $100 should pretty much cover everything.
Sounds like a very interesting and worthwhile project. Obviously, your goal is to get it up and running as a C-64 but are you also looking at enhancing the hardware capabilities at all? For example, faster processor, dual SID, expanded color palette, etc.?
I'm not trying to suggest you build a C64DTV or anything and I'm sure this is all too much to consider at this point. ;D However, as an example, I assume if you got 1 SID up and running, getting a 2nd mapped shouldn't be too difficult.
|
|
|
Post by Jeff Ledger on Dec 4, 2007 9:15:04 GMT -5
At this point, this is a long way from an actual 64, however it is moving in that direction and at present I have a microcomputer which I built by my own hands, and understand all of it's functions. (That's a pretty good start.) One of the experiments I'm moving toward is to connect existing C64 CMOS chips like the SID. Interestingly, it will take 16 of my 32 I/O lines (address bus, and data bus) just to tie the SID chip to the Propeller, but if I can accomplish this, it would only be a matter of code to pull .SID data from files on an SD card and play them on an actual SID chip connected to the Propeller. I've always wanted to be able to build my own microcomputer with BASIC on it, so this has been somewhat of a fulfillment of that dream. Now I'm just seeing how far we can push the limits of this.. Jeff
|
|
|
Post by paradime on Dec 4, 2007 21:18:18 GMT -5
Hi Jeff,
Yeah...you have a lot more work ahead of you. ;D
I, for one, would be interested in following your progress. It seems like a pretty cool project so definitely post some pictures, if you can.
|
|
|
Post by David Murray on Dec 5, 2007 0:25:18 GMT -5
I, for one, would be interested in following your progress. It seems like a pretty cool project so definitely post some pictures, if you can. Yes, me too! I'm still waiting on pictures.
|
|
|
Post by David Murray on Dec 5, 2007 11:46:02 GMT -5
Hey Jeff, I was wondering something. As your little computer is "right now" can you tell me what the specifcations are as a programmable computer?
1) how much memory is available under BASIC and ML? 2) does the BASIC run directly on the CPU or does it run as emulated 6502 code? How fast does it run compared to a C64? 3) what kind of storage is available for programs you right in BASIC?
Also, are the screen specifications set it stone, or can the BASIC run on other types of screens, such as LCD modules, etc?
does the BASIC support color in any way?
|
|
|
Post by Jeff Ledger on Dec 8, 2007 23:21:45 GMT -5
Here's some screenshots of my "Propodore" At least the hardware side. I'll grab some additional photos in the morning for screenshots. [glow=red,2,300]1) how much memory is available under BASIC and ML?[/glow] The Propeller has 32K of memory for .SPIN or Assembly programs. BASIC was written in Spin and has around 8k left to use after it's loaded. It's a memory hog, and other versions of basic are being worked on. [glow=red,2,300]2) does the BASIC run directly on the CPU or does it run as emulated 6502 code? How fast does it run compared to a C64?[/glow] You should think of this BASIC as "Tiny BASIC" it doesn't have high-res graphics, (although someone could simply add the code given they can free a little memory) The fact it runs in 16 colors at 40x23 text was an accomplishment. As far as speed is concerned, because I have 8 cogs (cpus) running at 80mhz, it's easy run ANY code faster than the 80's counterpart. The BASIC is very fast compared to the actual 64. [glow=red,2,300]3) what kind of storage is available for programs you right in BASIC?[/glow] The BASIC uses some spincode for SD media allowing one to save and load basic files from an SD card, or the EEPROM. [glow=red,2,300]Also, are the screen specifications set in stone, or can the BASIC run on other types of screens, such as LCD modules, etc?[/glow] The screen could easily be changed. Already versions of this basic have been made for a serial connection to remote terminal, an Ethernet connection to telnet to, VGA, and composite screen modes. It's as simple as changing the .spin code and re-compiling. Hope this helps. Jeff
|
|