Skip to search.
cone_cores · C-One cores

Group Information

  • Members: 169
  • Category: Old Computers
  • Founded: Sep 24, 2006
  • Language: English
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Real people. Real stories. See how Yahoo! Groups impacts members worldwide.

Messages

  Messages Help
Advanced
Modding FPGA64   Message List  
Reply Message #89 of 780 |
Re: [cone_cores] Re: Modding FPGA64

At 13:41 01.05.2007 +0000, sixofdloc wrote:

>Aye, that would be useful. Is it already up somewhere?

The pinout of the CPU slot is on the web page,
but that does not tell you exactly how the CPU/RAM card is wired.

Unfortunately, I lost the CAD data of the CPU/RAM
card in a harddrive crash in february 2006, so I
had to reverse-engineer my own CPU/RAM card.
Wasn't too hard, as most of the CPU pins are
identical to the onboard CPU socket. The whole
secret was how I was planning to control the memory when I made that thing.

The lines MX, VPA and VDA of the 65816 are not
available. This does not hurt at all, because
they are not doing anything important (at least
nothing that you can't do with intelligent FPGA
programming). All other CPU lines are connected like in the schematics.

VDA/VPA: This pair of lines gives information
about the type of access. Since the C-One wants
to be as C64 compatible as it's possible with the
65816, there's no need to make a difference
between program/data/opcode fetch addresses. One
thing you can't see is if the cycle is idle, but
that shouldn't hurt, as the 6502 also makes idle
read accesses without a possibility to identify them on the outside.

MX: Memory index/Select status. This is an output
line from the processor that reflects two bits of
the status register (multiplexed with Phi2). We don't need that.

The MX line is not used on the CPU/RAM card at all.

The VDA line is connected to the CE line of the
128K S-Ram (this is 1k100 pin no. 109)
The VPA line is connected to address line A16 of
the 128K S-Ram (this is 1k100 pin no. 202)
The RW line of the processor is connected to the
WE line of the 128K S-Ram (this is 1k100 pin no. 206)
The OE line of the S-Ram is grounded.

Here's the idea of how the 65816 can be embedded
into the C-One without bigger problems:

The BE line tri-states the address bus, the data
bus and the WE line. BE=1 means that the CPU has
control, BE=0 means that the FPGA has control.
The BE line is on pin 208 of the 1k100.

The big difference between the 6510 and the 65816
is that the data bus is *always* driven during
Phi2=0 - the 65816 is transferring the bank
address during this cycle, and you might want to
get the bank address as well - this will require
a slightly different (sub-cycle) timing than in
the original C64. Nothing fancy, just inserting
the VIC cycle at a slightly different position within a cycle.

In case you're worried about the OE line of the
128K S-Ram grounded, that's the perfect way of
saving an IO line. Both a read and a write cycle
can be CE-controlled. Make sure to release the CE
line slightly before the end of a PHI cycle for a
write access, and slightly later for a read
access from memory so you meet the CPU's data hold requirements.

I have drawn two full PHI cycles with interleaved
VIC (FPGA) cycles: They're 1MHz only and
interleave VIC (FPGA) cycles with CPU cycles. VIC
cycles are always read, CPU cycles can be both,
therefore one is a read, the other a write
access. Three things that you should should mind
(look for stars in the sketch):
http://c64upgra.de/c-one/pics/65816_cone.jpg
(doesn't look nice, but you'll ge the idea)

*1: Push the RW line high before you pull the
ram-CE line low for the VIC read access.
*2: Hold ram-CE low slightly longer than the
falling edge of the PHI clock (PHI clock is pin 163 of the 1k100)
*3: on a write cycle, end the enable for the ram
slightly before the end of a PHI cycle to be safe from data transitions.

My guess would be that the overloaded C-One
data/address bus can make maybe 8MHz. That would
mean reliable 7MHz operation of the 65816
(slightly less with badlines). With two VIC/FPGA
cycles, you would still have 6MHz operation
during a badline. Better than Flash8!

Remember to give the data bus drivers of the FPGA
and the CPU enough time to enable/disable. You
cannot use the inverted BA signal in your 1k100
to enable/disable the local bus drivers. You
*must* generate a completely new signal that has
no corresponding edge (negative overlap) - leave
at least 10ns turnaround time (one 100MHz cycle).

good night,
--
Jens Schönfeld




Sat May 19, 2007 10:54 pm

paradroid23
Offline Offline
Send Email Send Email

Message #89 of 780 |
Expand Messages Author Sort by Date

Moderator, if this is not appropriate for this list, please delete and direct me to the proper place for this sort of question. Now, I'm modding the current...
sixofdloc Offline Send Email May 1, 2007
1:51 am

... The 65816 is on the same address and data bus as the memory and lots of other parts of the C-One mainboard, therefore it will most probably not run at full...
Jens Schoenfeld
paradroid23 Offline Send Email
May 1, 2007
8:06 am

Hi, A little problem with the C-One is that the 65816 is sharing the bus signals with the 128K SRAM. So for enabling the 65816 it would be easier if the SDRAM...
Peter
pwsoft2005 Offline Send Email
May 1, 2007
8:13 am

... Well, once I'm done modding, the core won't have much compatibility anyway. I'll have a try at using the SDRAM then. ... Ooh, I hadn't considered that....
sixofdloc Offline Send Email May 1, 2007
1:52 pm

Dear all, isn't it possible to use some space in the upper area of the 128k RAM for the color ram? I think, the upper 64k are only used as ROM area, right? ...
majorsky78 Offline Send Email May 15, 2007
12:42 pm

Hi Andre, ... There is about 40k free in the SRAM. Putting the color ram there takes 1 extra memory cycle so the VIC-II code needs to be changed so it allowes...
Peter
pwsoft2005 Offline Send Email
May 15, 2007
1:32 pm

Hi, You may know this CF filesystem bug : when you add some files, they are not appear on the file-selector (mainly on the CPC core). I remember that Jens...
Chris [xc8/Bronx]
csynt Offline Send Email
May 15, 2007
2:04 pm

On 15.05.2007 at 15:31, Peter wrote: Hi Peter... ... This might be a new candidate for a high-end compatibility test-case in case of VIC-II tricks... ...
Philip Timmermann
p3p7o Offline Send Email
May 15, 2007
10:15 pm

... again? Aye, that would be useful. Is it already up somewhere?...
sixofdloc Offline Send Email May 1, 2007
1:53 pm

Hi, nice to hear about such a thing. The pinouts should all be in the schematics of the C-One, which you can find under www.c64upgra.de. Expanding the color...
majorsky78 Offline Send Email May 2, 2007
7:43 pm

... The pinout of the CPU slot is on the web page, but that does not tell you exactly how the CPU/RAM card is wired. Unfortunately, I lost the CAD data of the...
Jens Schoenfeld
paradroid23 Offline Send Email
May 19, 2007
10:56 pm
Advanced

Copyright © 2010 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines NEW - Help