6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sun Nov 24, 2024 5:59 am

All times are UTC




Post new topic Reply to topic  [ 16 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: Rocket Chip
PostPosted: Wed Feb 03, 2010 8:16 pm 
Offline

Joined: Wed Feb 03, 2010 7:12 pm
Posts: 4
I have an old Apple //c (originally purchased many years ago) and had replaced the original 65C02 CPU with a RocketChip 10MHz chip. The RocketChip has since failed (not sure why or how) and I lost track of the original processor.

Does anyone know if I can find an 65C02 that would work in the old Apple //c or if I can somehow figure out why the RocketChip failed? Any and all help would be greatly appreciated.

(I hope I am also posting this in the correct sub-forum area)


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Feb 03, 2010 8:37 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8546
Location: Southern California
What's the clock speed? If it's only a couple of MHz, probably any 65c02 would do. WDC's 65c02 DIP pin 1 in a VP (vector-pull) output instead of ground, so you might have to just bend that pin out so it doesn't go into the corresponding hole in the socket. Maybe someone else here knows if it's ok to short it to ground or if you need to bend it out. WDC is making 65c02's today though, and there is no end in sight. Current-production parts are guaranteed to run to at least 14MHz and usually can operate much faster if the rest of the circuitry (memory, I/O, & logic speed) is fast enough. You can buy parts directly from WDC but it sounds like you'll get better attention if you go through a distributor that someone here has mentioned a few times. I'll try to find it if they don't speak up again soon.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Feb 03, 2010 8:45 pm 
Offline

Joined: Wed Feb 03, 2010 7:12 pm
Posts: 4
GARTHWILSON wrote:
What's the clock speed? If it's only a couple of MHz, probably any 65c02 would do.


The original 65C02 chip ran at 1MHz, so any chip replacement would be a superior improvement to that. The only problem would be timing with some games/software. I would prefer a 1Mhz chip so the system can run with stability, or a way to find out why the RocketChip failed.

A 14MHz chip may not be a suitable replacement, though a 10MHz replacement would be amazing (though problematic for older clock-based software). I'm not sure what to do at this point. The system does boot, but to a #HEX prompt, so something is screwed up. I wouldn't know where to begin with to bring it in for diagnosis as I live in Chicago and nowhere near silicon valley CA.

Also, I contacted WDC, they said that their current production chips wouldn't work, but then again, I did speak only to the receptionist and not to an engineer that might better know these things. If you can post the name of that distributor, that may help me a bit more.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Feb 03, 2010 11:22 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8546
Location: Southern California
The processor itself doesn't set its speed. The clock circuit does, and even if you use the onboard oscillator, the speed is governed by the passives connected to it. If the IIc has a 1MHz clock, it will still run at 1MHz regardless of the processor. You could change the clock circuit to speed it up and the new processor would still keep up just fine, but there may be trouble in other parts of the computer.

The VP pin is probably the only thing that would keep a current-production processor from working, and bending the pin out should take care of that. It's not a huge investment if it doesn't work.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Feb 04, 2010 2:34 am 
Offline

Joined: Wed Feb 03, 2010 7:12 pm
Posts: 4
GARTHWILSON wrote:
The processor itself doesn't set its speed. The clock circuit does, and even if you use the onboard oscillator, the speed is governed by the passives connected to it. If the IIc has a 1MHz clock, it will still run at 1MHz regardless of the processor. You could change the clock circuit to speed it up and the new processor would still keep up just fine, but there may be trouble in other parts of the computer.

The VP pin is probably the only thing that would keep a current-production processor from working, and bending the pin out should take care of that. It's not a huge investment if it doesn't work.


Oddly enough, the RocketChip, when it worked, would completely speed up the whole system, including boot to floppy as well as other hardware areas, i.e. sound (distorted), graphics would load faster, etc. Clock-based software would have major issues and would have difficulty in booting properly. I've had to remove the chip to run normal software that was clock-dependent and put it back in for other programs that I wanted to have run faster.

At one point I used it to write BBS software on it and the faster chip definitely helped with that development. Compile times were fractions of the time it took and I could debug issues quicker than depending on my friends who had IIGS'.

Unfortunately during one of my many moves during my life, I lost the original 65C02 chip that came with the machine. So, I am stuck, and need all the help I can get, and figured this forum should shake out someone from the net and give me the solution that I need....


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Feb 04, 2010 5:18 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8546
Location: Southern California
There had to be something else going on then. I'm not familiar with this RocketChip, but it could have been something like the 65CE02 which cut out most of the dead bus cycles (which isn't very many from a percentagewise standpoint), and had more instructions, addressing modes, and registers, and maybe you had software to go with it to take advantage of those. The clock speed however is not determined by the processor itself. I have a couple of 65CE02's, but they did not work as drop-in 65C02 replacements in my workbench computer, and I never tried to figure out why. The 65816 runs Forth between two and three times as fast as the 65c02 at the same clock speed, but only if it is running the Forth kernel that was specifically written for the 65816 so it can take advantage of its extra capabilities. If I just have it run '02 Forth, there's no difference in execution speed.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Feb 04, 2010 8:43 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
I googled for it, and there's some useful wikipedia info on the rocket chip, including the patent number.

I'm going to look into this: it's not a cpu, but a system which happens to fit in the 6502 socket. It has 4k of cache (plus a 4k tag ram) and the patent reckons that 80% of accesses hit the cache. The device pulls a fast clock from somewhere on the board, and slows down when it needs to access the original hardware.

It would be possible - but not easy for me - to re-do the rocketchip design on a 40pin FPGA module.

Without something so sophisticated in the CPU socket - and our work-in-progress accelerator is this kind of thing - the max speed is going to be set by the RAM, peripherals and other glue, and the best you might get is to put in a double-speed crystal (and run it in the fridge!)

Cheers
Ed

Edit: linkification


Last edited by BigEd on Thu Feb 04, 2010 12:23 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Feb 04, 2010 11:48 am 
Offline

Joined: Wed Feb 03, 2010 7:12 pm
Posts: 4
Thanks guys for your input. I have been doing a bit of research myself into the accelerator cards for the Apple // line and have come up with some interesting notes.

1) "The Nature of the Apple II design is that things are being done in ways not normal. Face it, the Apple II is a hack of the earliest kind. There is not a CPU clock in the Apple ][, it is generated by logic. This and of itself is basis for the entire Apple II family to maintain compatibility from day one. " from Apple2.org as self-testimony in regards to the system handling faster CPU frequencies. If my memory serves correct, my Apple //c does not have a crystal in it that directly regulates the CPU speed. This is why chips such as my RocketChip and the original ZipChip //'s work as a "drop-in" solution. I'm not a CE, so this is just entirely my guess from experience and long term memory from dealing with this machine over 20 years ago (memory gets foggy in 20 years).

2) The system DOES boots, albeit to a "#" HEX prompt and not the traditional "]" DOS prompt for the machine. So apparently the chip must be working and something in it's microcode is screwed up (a lot of RocketChip owners had similar problems if I remember correctly and there IS a fix for this) Resolving the issue to fix the problem is where I am stuck. If the microcode cannot be fixed, then I will need a replacement chip if I can find one that will be a drop-in solution.

3) The RocketChip is an EEPROM if I remember correctly that has hardware soldered onto it that contains a 6502 processor of some kind. If I can pull apart my Apple //c and take a picture of it, I will post it here, that may help quit a bit, but if memory serves correct, it's NOT a "flat" chip.

4) A newer generation 65C02 chip running at a faster clock speed MAY be a more suitable replacement as long as the pin-outs are exactly the same and I stay away from clock-based software (most games) that rely on the 1.xxx MHz processor speed for timing (it was some odd 1.xxxMHz number, not exactly 1MHz, though it was advertised that way).

Lastly, this is just a home project for me to get my old machine up and running. I'm an amateur enthusiast at this point in my life and I am doing this more-so for my own curiosity than anything else. I spent a huge sum of money on this machine way back when and when it stopped working, I didn't pay too much heed to getting it working again since I had moved on to my trusty Amiga 2000 setup (a much more superior machine in all aspects compared to my Apple //c).

Ed - you referred to a "work-in-progress accelerator" in your post, are you working on a 40-pin FPGA CPU replacement project? If so, I'd like to know more details on it if possible. Your project may be the solution to my problem and I would love to be a hardware beta tester if possible.

Garth - I wish I knew more about CPU design and engineering so I could answer you more succinctly. Unfortunately I don't, so for me, this is a stab in the dark to try and explain what's going on with my machine.

If anyone else has any input on this, I would be greatly appreciated, especially if you happen to be a former engineer at either Zip Technologies or Bits'n'Pieces or Applied Engineering in your past life.

With Dual-Quad-Multi-core CPU's and systems today that would be labeled "super computers" back in the day, I am finding my stroll through nostalgia a fresh relief knowing that even with these machines being obsolete in terms of today's computing power, somehow they can still be useful to tinker with and get working again.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Feb 04, 2010 12:41 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
Hi Rick
I've updated my post to add some links.

Our work-in-progress is a board which plugs into a 6502 socket to accelerate the host machine - not FPGA based although one day we may try to do that. Our board contains RAM which can be mapped into host memory space, whereas the Rocket Chip contains cache (built from RAM) We have 2 prototype boards made up and a 3rd nearly ready so if you're in the UK it might be interesting to see how it works in your system. As a 65C02 system it should have a chance of working.

Interesting to learn that the clocking on the Apple is a bit special, and has no crystal.

I found the Rocket Chip user guide which lists a few special keypresses you can use at boot time. It also points at a set of configuration programs on a disk. It doesn't mention this hex prompt.

It might be worth checking that every chip is nicely seated in its socket, or is still firmly soldered in. Either the apple ROMs or the ROM on the Rocket Chip might be loose. I'm guessing the '#' prompt is from the Rocket Chip's ROM - so it has failed some kind of self-test perhaps.

You can certainly find a 65C02 and put that in as a replacement - and the CPU will be capable of 10MHz+ but it won't clock at that speed unless it's fed an appropriate clock, and there's no means for the rest of the system to know that it has a faster CPU. There may be no crystal, but it won't be auto-sensing. You'd need to know more about the clocking of that system.

Good luck!
Ed


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Feb 05, 2010 5:04 am 
Offline

Joined: Sat Jan 04, 2003 10:03 pm
Posts: 1706
Rick wrote:
1) "The Nature of the Apple II design is that things are being done in ways not normal. Face it, the Apple II is a hack of the earliest kind. There is not a CPU clock in the Apple ][


There MUST be a crystal oscillator in the circuit, for how else can the computer keep sync with the NTSC refresh rates and maintain a stable display? (Note: I've gotten purely asynchronous logic to work with the VGA interface, but the display cannot be said to be completely stable. Small timing variations cause visible ripple, somewhat resembling chroma-crawl on NTSC displays, as though you were looking at the display through a water-sheeting fountain.)

The CPU's circuitry is clocked from the video refresh clock, perhaps divided down by a factor between 6 and 8, depending on the make and model of computer. This is absolutely standard fare for all computers up to the introduction IBM PC-XT series, and many beyond that, including but not limited to the entire Atari line-up, the entire Commodore 8-bit lineup, and the Commodore-Amiga (at first; the Amiga 2000 used this approach by default, but the 68K's asynchronous bus enabled relatively easy CPU speed upgrades via the CPU slot. After the Amiga 2000, it was fully decoupled.).

If you can phase-lock the buses, you can certainly have any speed CPU talk to the Apple II bus hardware. I refer you to the Apple IIgs as a case in point, coming with a 2.8MHz CPU stock, and with available CPU expansions into the 20MHz realm. CMD, Inc. even managed to get a 65816 to work on the Commodore 64 cartridge slot!

Quote:
2) The system DOES boots, albeit to a "#" HEX prompt and not the traditional "]" DOS prompt for the machine. So apparently the chip must be working and something in it's microcode is screwed up (a lot of RocketChip


Another possibility is you might have a bad ROM chip. If the ROM chip has a few bad memory cells, you may find that the ROM debugger works fine, but BASIC has illegal instructions which trigger the debugger. It's a rare occurrence, but it has happened before.

Quote:
1.xxx MHz processor speed for timing (it was some odd 1.xxxMHz number, not exactly 1MHz, though it was advertised that way).


I seem to recall 1.024MHz.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Feb 05, 2010 6:30 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8514
Location: Midwestern USA
GARTHWILSON wrote:
WDC's 65c02 DIP pin 1 in a VP (vector-pull) output instead of ground, so you might have to just bend that pin out so it doesn't go into the corresponding hole in the socket. Maybe someone else here knows if it's ok to short it to ground or if you need to bend it out.

The WDC 65C02 will work fine in the Apple IIc. Just bend out pin 1 so it doesn't go into the socket and you will be okay.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Feb 05, 2010 7:09 am 
Offline

Joined: Sun Sep 15, 2002 10:42 pm
Posts: 214
Rick wrote:
Thanks guys for your input. I have been doing a bit of research myself into the accelerator cards for the Apple // line and have come up with some interesting notes.

1) "The Nature of the Apple II design is that things are being done in ways not normal. Face it, the Apple II is a hack of the earliest kind. There is not a CPU clock in the Apple ][, it is generated by logic.


Arrrghhh...who makes up this crap!!!

If you're curious about how the clock is generated on the Apple II, look here:

http://victa.jamtronix.com/display/page/4118
http://victa.jamtronix.com/display/page/4119

Rick wrote:
3) The RocketChip is an EEPROM if I remember correctly that has hardware soldered onto it that contains a 6502 processor of some kind. If I can pull apart my Apple //c and take a picture of it, I will post it here, that may help quit a bit, but if memory serves correct, it's NOT a "flat" chip.


No, it is an accelerator which contains a 65C02 and cache RAM, as mentioned previously in this thread.

If I reemember correctly, it was kind of a "tall chip", kinda like built into a 40 pin DIP header. I also vaguely recall that it was compatible with the Transwarp convention of using the high bit of $C036 to enable and disable the acceleration.

Toshi


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Feb 05, 2010 9:30 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
TMorita wrote:
If you're curious about how the clock is generated on the Apple II, look here:

http://victa.jamtronix.com/display/page/4118
http://victa.jamtronix.com/display/page/4119


Great stuff - thanks!

The Rocket Chip user manual doesn't mention any connection other than the CPU socket, so I think this device must have an onboard oscillator. (Previous designs perhaps used the 7MHz clock available to expansion cards.)


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Feb 05, 2010 9:34 pm 
Offline
User avatar

Joined: Thu Mar 11, 2004 7:42 am
Posts: 362
Some peripheral cards had their own crystal. For example, the Super Serial Card had a 1.8432 MHz crystal, so it could easily generate standard baud rates like 9600, 1200, 300, etc. I'm not all that familiar with the Rocket Chip, but I wouldn't be surprised if there was some sort of built-in oscillator for the faster clock speed.

If you're interested in a vintage 65C02 (so you can at least run at 1 MHz), some of the arcade restoration types who hang out here might be able to provide links to sources for old/used 65C02s. There is one list of suppliers here (although it's oriented more toward hobbyists trying to build their own 6502-based projects, rather than arcade game restoration):

http://6502org.wikidot.com/suppliers


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sun Feb 07, 2010 4:23 am 
Offline

Joined: Fri Jun 27, 2003 8:12 am
Posts: 618
Location: Meadowbrook
and from the arcade type here, you can buy socketed pulls, www.eldoradogames.com for 6502 and 65c02.

_________________
"My biggest dream in life? Building black plywood Habitrails"


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 16 posts ]  Go to page 1, 2  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 18 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: