Re: Unknown holes in the motherboard of the CBM610

From: Mia Magnusson <mia_at_plea.se>
Date: Fri, 27 Apr 2018 23:10:01 +0200
Message-ID: <20180427231001.00001494@plea.se>
Den Fri, 27 Apr 2018 12:08:08 +0200 skrev Ruud@Baltissen.org:
> Hallo Mia,
> 
> 
> > I could send you the files if you are interested.
> 
> Thank you for the offer but I did about 50% already.
> 
> 
> > ... be a good idea to include 1MB directly on the motherboard.
> 
> That is my intention anyway. But first things first like:
> - the schematics of both the 610 and 720, busy with that.
> - the devices/symbols/packages of the boards, busy with that
> And I think this is a one man's job because I have no idea how split 
> up this job and to combine the results. Note: I use Eagle 7.7 so if 
> you want to do it in Kicad, please do.
> 
> - to find out what the various ICs do
> I have no intention to recreate the original board because I don't 
> see any gain in doing that. As said before, I want a new version 
> with 1 MB of RAM and, preferably, the 8088/8087 on the same board.
> To make things simpler I would prefer to use SRAM; no CAS/RAS issues 
> which simplifies the timing i.e. less hardware IMHO. BUT IF WE HAVE 
> NO IDEA WHAT THE ORIGINAL LOGIC DOES..... So if you, Steve or 
> anybody wants to help, please find out what all the logic does.
> READ: mainly all those bloody 74ls74 latches :)
> Just popped up when writing the above: when using a 1 MB DRAM SIM we 
> could save a lot of space. The extra refresh bits are no problem 
> IMHO. Just in case the SRAM idea doesn't work out well.

My intention is to find some kind of suitable software for timing
diagrams (I was first thinking about project management software, but
there seems to be software especially made for thins purpose).

The magic that's mostly on page 2 is a shift register which acts as a 9
stage sequencer clocked by the 18MHz dot clock. The outputs are
either used as they are or combined with either the dot clock or
inverted dot clock, to i practice create a sequencer with a total of 18
steps for each full 2MHz CPU clock cycle.

Then each 74xx gate is just fed with a set and a reset signal that goes
active in different parts of the 18-step cycle. 

The thing that needs to be put into a timing diagram is all the
min/max (and perhaps typical?) delay times for each involved IC. It's
all standard 74xx logic and all that stuff are in the data sheets so
as soon as the first threshold to actually get something done at all is
overcome, it should be a piece of cake to get everything done.

One strange thing though happens on page 1. There are two flip-flops
made of simple gates, and they are both fed by the same input signals!
I guess that it's done this way to get clean signals to the phi 1/2
inputs on the 6509 and let the other flip flop feed everything else
that needs the same signals.

This is btw something that might actually need some measuring. As an
error in the pinout of the 6509 data sheet weren't publicly known
until early this year, there might be more errors lingering that we
don't know about.

My idea is to replace most of page 2 and parts of other pages
(especially the flip flops on page 1) with programmable logic, assuming
it would be worth getting rid of all those 74xx flipflops.

> - what ICs are we going to use?

Prio 1: Get rid of the 6509 and 6525's.

In the 6509 replacement thread I think Jim got stuck at a point where
a nmos 6502 works but a cmos 65C02 doesen't work. That needs to be
investigated. If a 65C02 could be made to work, it would be good to
check if any existing software uses illegal op codes or similar. If
not, a 65816 might be a good idea. In it's 6502 emulation mode it could
use the same kind of registers as the 6509 to access all 1MB ram, but
in the full 65816 mode it could access all ram in it's native way.

I know this is feature creep but in theory the board could hold both a
nmos 6502 and a 65816, to make it compatible with all existing software.

> The one trouble shooter that comes into my mind is the 6525. 
> Replacing the glue logic with a CPLD does save space but can it be 
> used to replace the 6525s as well? Very very wild shot: replacing 
> them with better available ICs like the 6522, 6526 or maybe even the 
> 8255?

6522 should work to emulate two of the three ports of a 6525 triport.
But to emulate the interrupt controller that's used in one of the two
6525's we would need some kind of programmable logic.

A big question is: Do we want 100% comaptibility even for
super-ill-behaved software, or would it be ok to make some
simplifications? For example the keyboard matrix is just an X/Y matrix
but the 6525's allow flipping which of the X and Y are inputs and which
are outputs. If the hardware enforce using the keyboard the way kernal
already does, we could use some simple 74xx logic to make 8-bit in
ports and 8-bit out ports

I were thinking about the 6821's but they adress port and DDR
differently from how the 6522/6525/6526's do. This is also true for
8255 which anyway won't led you control DDR for each pin individually
like the 6821/6522/6525/6526 do.

Although if we would accept changing kernal we could use 6821 or maybe
even 8255 but then it seems better to roll the I/O by hand using 74xx
that are compatible with the existing kernal.

The only thing that really needs some investigation is the interrupt
controller. It seems fairly simple but as always it would be a good
idea to actually do some testing with an existing machine to make sure
everything is understood correctly.

Maybe it would be a good idea to split the project into several
steps/parts?

I know that it would be a good idea to make a complete replacement
board - but large boards drive cost and it could easilly get a bit too
expensive if a few revisions would be needed until it works good
enough. Also it would be expensive to experiment with for example
larger ram and other modification.

Therefore I kind of suggest that in some early stage it could probably
be a good idea to split everything onto several smaller boards. Afaik
10x10cm is some kind of limit where boards are really cheap to have
manufactured. I haven't really investigated what's possible to put onto
a board of that small size though.

The stuff that needs to work from the beginning is some 6509
replacement, rom and the video circuit. It would be preferable to have
ram working as well though. Then emulation of the 6525's and all
kinds of drivers for various ports could be added on separate cards
later.

Also I'm not sure that everyone interested in a replacement board
actually wants one that fits an existing B series case. I certainly
don't want that as I haven't got any B series machine. But as long as
we don't almost run out of space on the board, it could probably be
edited to fit various physical form factors if that would be wanted.

Btw, are the 6551 compatible enough with a 6850? If not, what differs?

Which software uses the 6551?

One thing I would really like to have is hardware that can remap
various stuff so it could emulate a PET too.

Sorry for feature creeping ;)



-- 
(\_/) Copy the bunny to your mails to help
(O.o) him achieve world domination.
(> <) Come join the dark side.
/_|_\ We have cookies.
Received on 2018-04-28 00:00:02

Archive generated by hypermail 2.2.0.