LinuxQuestions.org
Visit Jeremy's Blog.
Go Back   LinuxQuestions.org > Forums > Other *NIX Forums > Solaris / OpenSolaris
User Name
Password
Solaris / OpenSolaris This forum is for the discussion of Solaris, OpenSolaris, OpenIndiana, and illumos.
General Sun, SunOS and Sparc related questions also go here. Any Solaris fork or distribution is welcome.

Notices


Reply
  Search this Thread
Old 05-12-2019, 04:07 PM   #1
Holering
Member
 
Registered: Feb 2010
Distribution: Slackware - Gentoo - Debian
Posts: 187

Rep: Reputation: 22
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.
 
Old 05-14-2019, 02:38 PM   #2
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware & Android
Posts: 10,049

Rep: Reputation: 1104Reputation: 1104Reputation: 1104Reputation: 1104Reputation: 1104Reputation: 1104Reputation: 1104Reputation: 1104Reputation: 1104
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.
 
Old 05-15-2019, 12:22 PM   #3
Holering
Member
 
Registered: Feb 2010
Distribution: Slackware - Gentoo - Debian
Posts: 187

Original Poster
Rep: Reputation: 22
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).
 
Old 05-16-2019, 05:13 AM   #4
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware & Android
Posts: 10,049

Rep: Reputation: 1104Reputation: 1104Reputation: 1104Reputation: 1104Reputation: 1104Reputation: 1104Reputation: 1104Reputation: 1104Reputation: 1104
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:
Quote:
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?
 
1 members found this post helpful.
Old 05-18-2019, 12:33 PM   #5
Holering
Member
 
Registered: Feb 2010
Distribution: Slackware - Gentoo - Debian
Posts: 187

Original Poster
Rep: Reputation: 22
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...

Quote:
Originally Posted by business_kid View Post
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.

Quote:
Originally Posted by business_kid View Post
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.


Regards.

Last edited by Holering; 05-18-2019 at 12:38 PM.
 
Old Yesterday, 07:10 AM   #6
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware & Android
Posts: 10,049

Rep: Reputation: 1104Reputation: 1104Reputation: 1104Reputation: 1104Reputation: 1104Reputation: 1104Reputation: 1104Reputation: 1104Reputation: 1104
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.

Last edited by business_kid; Yesterday at 11:20 AM.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Motorola 68000 ram-memory mapper-decoder schematic help please Holering General 3 05-10-2019 03:58 AM
LXer: Design PCB and Generate Schematic Drawings with Fritzing on Linux LXer Syndicated Linux News 0 09-07-2015 04:51 PM
I can't install sun-java6-jdk sun-java6-bin sun-java6-jre citye Linux - Newbie 2 10-18-2009 04:54 AM
Motorola 68000 assembly text strings sadarax Programming 0 06-13-2008 06:46 PM

LinuxQuestions.org > Forums > Other *NIX Forums > Solaris / OpenSolaris

All times are GMT -5. The time now is 05:39 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration