-   Solaris / OpenSolaris (
-   -   Sun-1 68000 PCB MMU schematic [Where can I find]? (

Holering 05-12-2019 05:07 PM

Sun-1 68000 PCB MMU schematic [Where can I find]?
Help finding Sun-1 68000 P.C.B. M.M.U. schematic. Can only find system reference manual which is missing diagram-schematics of circuit layout and components. Help finding this would be great (most particular the M.M.U. for the M68K). I'm trying to assemble the M.M.U. and sourcing any code to use it.

Thanks and kind regards.

business_kid 05-14-2019 03:38 PM

Have you a part number for it, or is it a discrete circuit? I've never seen the sun board you mention. Through-hole parts started being obsoleted since 2000, so you can be pretty sure they're gone now.

Especially if you haven't a schematic, I wouldn't really go at a repair with the standard meter & 'scope. There's a couple of techniques
  1. Connect leads to the board, put a towel or sweater over it, turn it on and leave it for 5 minutes. TTL gets quite warm; LSTTL is usually around body temperature; CMOS is cooler. whatever is warmer than fellow family members is dud. Easiest to detect is Cmos. If you've a ttl board, use less time.
  2. There is Analogue Signature Analysis which is kind of looking up the legs of components, and finds 80-90% of faults in discrete logic It's poor for uP support chips. If you need it, I can give you details on setting this up, presuming you have some workshop & time.
  3. There is chip testing. Expensive versions do in circuit testing, cheapo versions you have to pull it. But with Motorola's 68pin 2.54mm spacing, you're on your own.

Holering 05-15-2019 01:22 PM

It's a proprietary Sun-1 part. The MMU isn't a standard part and is only for Sun-1 68K. I guess it could be discrete. Don't have a part number so... Yeah I'm pretty lost here about diagram or schematic.

There's no source of parts used or other information, usually just topology of the interface to 68K with bunch of information missing (controllers used, RAM, type of ram, wiring, pcb layers, and other engineering specs missing).

business_kid 05-16-2019 06:13 AM

From what I gather, you've probably no hope of fixing this. The parts are not out there. If you're going to give up, give up now. Otherwise, read on.

Can you see it? Is it a pcb? a sealed unit? Can you see chips and part numbers? If it's potted, is the compound soft, quite hard or toffee like? Some of these can be softened and picked away by coating with a very aggressive paint stripper. There was some one I bought in England that cut 5-6mm (1/4 inch) into the quite hard potting we were using. But once you got down to the chips, it could split the plastic :-(.

Wikipedia says this:

By using the Motorola 68000 processor tightly coupled with the Sun-1 MMU the Sun 68000 CPU board was able to support a multi-tasking operating system such as UNIX. It included an advanced Sun designed multi-process two-level memory management unit with facilities for memory protection, code sharing and demand paging of memory. The Sun-1 MMU was necessary because the Motorola 68451 MMU did not always work correctly with the 68000 and could not always restore the processor state after a page fault.
Probably, it will have the full address bus going to it. If you know the max memory(256k?), the most likely layout is that the lower address lines will address all the memory; there may be buffering as the maximum fan-out will probably be exceeded. Now find data on the memory chips; memory sizes were low then. The original IBM pcs came with 182k(?) although they quickly upped that to 512k, with the option for 640k.Once you know how big the chips are, you can start figuring on the address bus.

Let's say they're 16k ram chips; You'll need buffering (max fanout usually = 8). A0-A13 will go to the ram, A14--> might be used as a 3 to 8 decoder to drive the /CE lines. Ram will probably be 1 or 2 bit, and you need 16 bit. You can check this stuff with an ohmmeter. Then there'll be clever logic to probably throw you back to the OS on a page fault, or reset, or something. None of these parts are available, my friend. If you're reverse engineering, grab a datasheet for that 68451. It will give you a starting point. They probably have one in there driving most of it with some tweaks.

Seeing as you won't get the required parts, except perhaps glue logic, are you prepared to program an fpga to do this job?

Holering 05-18-2019 01:33 PM

Closest available information seems to be on Sun's website. But it's just vague pictures of P.C.B. without definite descriptions or schematics...


Originally Posted by business_kid (Post 5995603)
If you're reverse engineering, grab a datasheet for that 68451. It will give you a starting point. They probably have one in there driving most of it with some tweaks.

No. Sun-1 M.M.U. is a proprietary Sun part. 68451 is very different and requires at least a Motorola 68010. Even if there was a way to use the 68451, it wouldn't be software compatible and needs at least two Motorola 68000s from what I heard to recover from a page fault if it was useful.


Originally Posted by business_kid (Post 5995603)
Seeing as you won't get the required parts, except perhaps glue logic, are you prepared to program an fpga to do this job?

I've no idea how to program FPGAs. Supposedly it's possible to copy open code from software virtualization to implement custom hardware (like the Sun-1 M.M.U.). I only know there is some Sun-1 virtualization code in M.E.S.S. (same authors of Arcade game M.A.M.E.). But I don't know how to use or program fpgas... Can you forward me to some resources for FPGA programming and if it's possible to copy some custom hardware virtualization code into a FPGA? Thanks for the help and responses.


business_kid 05-19-2019 08:10 AM

I'd love to know how you worked out this MMU was gone in the first place.

Ok, if the thing is proprietary, spares stopped in the early 90s at the latest. Whoever knows about is dead, redundant, or retired. When you get it up and running, the performance will be crap and other un-replaceable components will start to die.
I would junk it after asking myself 'did I want to spend 6 months (minimum) of all my spare time possibly getting that thing up?'. Something I learnt (in cars, actually) was "don't restore without replacements." I drove a Daf 33 for a few years in the 1990s, but had a scrapyard I could call on. It went through: balljoints; several drive shafts; a windscreen and it's rubber; finally, a gearbox(1 of 3). Highly Amusing car, btw.

Presuming you have a basic designing knowledge of digital electronics? programming fpgas is basically:

1. I found it handiest to design the logic on paper first. That's going to be a big deal for you, and I imagine this project will stop there. You can use standard logic but not be bound by numbers: a 5 way latch is fine. You have i/o, crystal speed but no other spec except not the 68451. You may have to hire a logic analyser for this. You're a fool if you don't use a state machine. You can probably simulate this device from the code.
2. Source your own precompiled components. Opencores has a bundle of gpl ones. You can add these to the project.
3. Select your chip. Go for a socketed device if at all possible (see 7 below.)Nearly all do 100 pins minimum. In 2013/4, Lattice semi did the smallest fpgas; Xilinx had the easiest software. I needed source for slackware64. Many do rpms, some do debs if you can use them. All do windows versions. I ended up with a big Altera thing for speed, and because I got their software in.
4. Write your code. You're a fool if you don't use a state machine. You can probably simulate this device from the code. There are 2 principal sections you need
Entity: Basically the connections to the device.
Behavioral: The truth table.
It's 5 years since I did this stuff, so I need a refresher myself but all the companies have help stuff up and you can teach yourself quicker than any programming language.
5. In the software package, you can assign the pins of your fpga and probably import the precompiled stuff.
6. Design your pcb, (which you'll get wrong) and get someone else to find the faults.
7. Assemble which is a nightmare in the fpga isn't socketed. The basic problem is that soldering overheats the legs and fries the gates. Craft, lmp solder, a pinhead iron bit are needed if you don't have pcb assembly to hand. Never solder adjacent pins.

EDIT: I've gone and grokked some of my first year Engineering vhdl and it's very verbose and all Greek to me. When I was doing it, I had the schematic I drew all labelled and my head was in it. I seem to be taking digital buses of varying sizes about. That's because it was supposed to be done on vero, but it got impossibly huge for that so the tutor just had me plant the circuit into the fpga, chip names & all.

Huilopan1 11-20-2020 01:38 PM

Forgive me please if I revived this old topic, but I think I can help you with help of my cousin as he is better than me on this topic, so I will ask him to join the conversation here. He knows a lot about schematics and I think I saw Sun-1 68000 PCB MMU schematic in his prototype circuit board project that he is doing right now. I hope he will help you as I totally understand how hard it is to find the answer for so long. I can suppose that you already found the answer that you needed but anyway I will forward my cousin to this conversation in case if you need more info on that.

Holering 11-28-2020 06:47 PM

I've heard a lot about fpga stuff but I'm not familiar with printing pcbs and what not in relation to that. MMU should be pretty simple stuff, but it definitely isn't a standard part. According to rumor, two 68000 cpus must be used to recover from a page fault and this Sun-1 68k mmu is designed around those limitations.

business_kid 11-29-2020 05:36 AM

I was going to write a long post, but thought I'd save myself.

Are you game for anything up to 6 months work and $1000 to get this up and running? If notcheck out chip brokers, and then give up.

All times are GMT -5. The time now is 10:42 PM.