6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Fri Nov 22, 2024 11:18 pm

All times are UTC




Post new topic Reply to topic  [ 10 posts ] 
Author Message
PostPosted: Sun Feb 10, 2013 8:10 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
Over here in a thread about the 65816 WhiteFlame mentioned the SuperCPU and this board photo:
Attachment:
3dWH5EM.jpg
3dWH5EM.jpg [ 54.75 KiB | Viewed 6121 times ]


(There's some general product info here)

BDD pointed out
Quote:
... a 40 MHz clock generator can be seen (a flop somewhere is dividing that to produce a Ø2 clock), but the 65C816 itself is a -14, meaning 14 MHz. I'm not familiar with the SuperCPU's design but do know that it did run reliably at 20 MHz


I note that the above board and other boards on nearby pages have GALs on them, and the more complex boards also use CPLDs.

Here are the related pages nearby:
CMD SUPER CPU - Tools
CMD SUPER CPU - Games
SUPER CPU's - History
HOW TO: Fix Games to work on SUPER CPU
SUPER CPU 64 - Look Inside (the page behind the photo above)
SUPER CPU 128- Look Inside

There's a long thread on lemon64 which mentions that the GALs have been dumped and the schematics reversed.

There's a pdf here about a RAM expansion which goes into a little detail about clock-stretching on the SuperCPU (it's a 20MHz CPU on a 1MHz machine, so something must be done for off-board devices!)

There's a user guide here for the RAM expansion which tells us that the two connectors near the North edge are for that purpose.

The V2 board (user guide) had 5 microclips which connect to the host machine's CPU - a bit more invasive.

Cheers
Ed

Found a clearer picture (of a different board...) on the lemon64 thread:
Image


Last edited by BigEd on Fri Dec 13, 2013 8:55 pm, edited 3 times in total.

Top
 Profile  
Reply with quote  
PostPosted: Mon Feb 11, 2013 11:43 am 
Offline

Joined: Tue Jul 24, 2012 2:27 am
Posts: 679
From what I recall, all SCPU 65816s are overclocked 14MHz parts.

The pins in the upper left go to an optional memory expansion board which takes SIMM sticks. Luckily, those were still (barely) available for cheap when I got mine, and have 16MB in there.

The memory interface to the C64's bus buffers 1 memory write at a time, so you're not that bandwidth limited for controlling the original hardware. Since it's a stock 816 and that uses an 8-bit data bus, I'd suspect the buffer is only 8 bits and that a 16-bit write to the main system would always block waiting for the second byte to buffer.

Reads from the C64's memory space of course must wait for a round trip through the 1MHz bus.

_________________
WFDis Interactive 6502 Disassembler
AcheronVM: A Reconfigurable 16-bit Virtual CPU for the 6502 Microprocessor


Top
 Profile  
Reply with quote  
PostPosted: Mon Feb 11, 2013 5:16 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8507
Location: Midwestern USA
White Flame wrote:
From what I recall, all SCPU 65816s are overclocked 14MHz parts.

The funny thing is that long ago, 20 MHz '816s were officially available. The entire WDC CMOS line came in various speed grades, probably determined through production testing. As the '816 (and the 'C02) is a static design, I suspect it could be pushed pretty hard.

Quote:
Reads from the C64's memory space of course must wait for a round trip through the 1MHz bus.

Despite all that, the compute-bound performance was excellent. I recall assisting someone in rewriting a C-128 game developed in BASIC to work with the SuperCPU. The problem was that various delay and timing loops were implemented in FOR-NEXT statements, which were sped up so much the game became unplayable unless one had the reflexes of Superman. :lol: Sprites would careen across the screen at about Mach 13, making them almost invisible.

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


Top
 Profile  
Reply with quote  
PostPosted: Mon Feb 11, 2013 5:28 pm 
Offline

Joined: Tue Jul 24, 2012 2:27 am
Posts: 679
Yeah, none of the bandwidth issues come into play for much of the CPU-bound coding, as the host C64 basically becomes nothing more than an I/O device.

_________________
WFDis Interactive 6502 Disassembler
AcheronVM: A Reconfigurable 16-bit Virtual CPU for the 6502 Microprocessor


Top
 Profile  
Reply with quote  
PostPosted: Mon Apr 15, 2013 5:59 am 
Offline

Joined: Tue May 05, 2009 2:49 pm
Posts: 113
I wasn't sure if there was a request for information in this thread, but I was around during the development of this unit and remember some about it, if there's a question. I also have a unit or so here.

The internal board with the clips was only needed for C128 use. C64 use did not require the board. The board was to make up for a lack of knowledge of the internal C128 MMU from the expansion port.

The 4 RAMs (128kB) there held 64kB of RAM and a shadow copy of the ROMs, since the ROM did not run fast enough. As others have noted, the 6510 was tristated and the system just used the bus in reverse. You could configure how much of the RAM space to "mirror" inside the 64. As noted, a single write to IO would not slow it down, but a second in 20 cycles would stretch the clock out to allow the previous write to complete.

I was not aware WSG sold -20 parts. Doug Cotton of CMD always noted that they were told by Bill that the -14 was the fastest marking, but that they would do 20 with no issues, so -14's were purchased for the units.

Jim


Top
 Profile  
Reply with quote  
PostPosted: Mon Apr 15, 2013 10:51 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
Thanks for the offer of info Jim. My aim with this thread was to collect and concentrate knowledge about this successful 816 product.

(Datasheet for the RAM chips at http://www.alliancememory.com/pdf/sram/ ... av.1.2.pdf, although it's not especially useful)

Cheers
Ed


Top
 Profile  
Reply with quote  
PostPosted: Fri Sep 16, 2016 7:24 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
Here are two illustrations from the PDF I linked to in the head post:

Attachment:
File comment: SuperCPU RAM Speed
from Commodore World Issue 19

suprtime.pdf-SuperCPU-RAM-Speed.png
suprtime.pdf-SuperCPU-RAM-Speed.png [ 50.88 KiB | Viewed 5465 times ]


Attachment:
File comment: SuperCPU Clock Stretching
from Commodore World Issue 19

suprtime.pdf-SuperCPU-Clock-Stretching.png
suprtime.pdf-SuperCPU-Clock-Stretching.png [ 111.99 KiB | Viewed 5465 times ]


Top
 Profile  
Reply with quote  
PostPosted: Sat Nov 20, 2021 7:59 am 
Offline

Joined: Sun Jul 11, 2021 9:12 am
Posts: 155
Been having a look at this recently. It has me wondering, how did they manage to get this working entirely through the cartridge port? Because the ports P0 to P5 (on the 6510) aren't accessible through the cartridge port.

Port 0 to 2 being of high importance.

P0 - LORAM
P1 - HIRAM
P2 - CHAREN

Attachment:
6510.gif
6510.gif [ 15.1 KiB | Viewed 1856 times ]


Attachment:
C64_Cartridge_port-1.png
C64_Cartridge_port-1.png [ 15.55 KiB | Viewed 1856 times ]


Pretty much everything else required is on the cartridge port to run a CPU externally except for the ports.

Any idea how they got around this, without having to modify the innards of the C64?

It has me intrigued!


Top
 Profile  
Reply with quote  
PostPosted: Fri Dec 31, 2021 9:38 pm 
Offline

Joined: Fri Dec 31, 2021 9:36 pm
Posts: 1
Locations 0 and 1 are virtual on the CPU (mapping to P0 to P5), so these would just write to the 65816, and it would just set the lines as required.

I also guess worst case, they could have the CPLD page in the CPU "just" to set those lines...


Top
 Profile  
Reply with quote  
PostPosted: Wed Jan 19, 2022 1:37 am 
Offline

Joined: Sun Jul 11, 2021 9:12 am
Posts: 155
mdf200 wrote:
Locations 0 and 1 are virtual on the CPU (mapping to P0 to P5), so these would just write to the 65816, and it would just set the lines as required.

I also guess worst case, they could have the CPLD page in the CPU "just" to set those lines...


Hi Mike,

Thanks for the reply. :)

That's the thing, the 65816 can't set he port lines from the expansion port side. I have since found out that all of the kernal and and control logic are replicated on the SuperCPU board, so the PLA (where the 6510 ports normally direct to) is sitting in its default state. So this pretty much answers my own question really.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 10 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 40 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: