Jump to content
pcamen

SE/30 Xceed greyscale adapter cloning thread

Recommended Posts

My question, with regards to the card destruction, is there any way of telling ahead of time whether the reverse engineering process would be successful in terms of being able to replicate the card fully after going through it?  I certainly wouldn't want to see a card destroyed unnecessarily if there's no guarantee of success.

Share this post


Link to post
Share on other sites
1 hour ago, pcamen said:

Can anyone clarify whether the analysis of the greyscale card to understand it well enough to reproduce some or all of it will be a destructive one or not? 

That's a good question. Consensus here appears to be that doing an internal grayscale only card is step one., So no rare Color30 card needs to be put at risk. It's not nearly well documented enough for a clone attempt at present. The notion of doing an internal only version of the 306 modified for internal grayscale has been kicking around since April. So a more common, far less valuable 306-48 might meed to be sacrificed, but only if that should become absolutely necessary, at this point that's uncertain.

 

Replication the Color30 external output is not worth the attempt. Implementing a far better resolution should be the second step IMO.

Edited by Trash80toHP_Mini

Share this post


Link to post
Share on other sites

Modifying a 306-xx as far as I see it would need:

 

-altering the ROM to tell the correct resolution to the OS/driver - hopefully that will be enough and the driver is smart enough to do the rest

-altering the line and pixel counters in the GALs to values that make sense for the new resolution - this needs some calculation to be done as they seem to count front-/backporch as well to allow for proper blanking

-calculate the pixel clock matching what is implemented in the counters to get the correct refresh rate

 

The thing with having an output only card that does not sync to the logicboard sync signals can kill the analogboard as there is no protection present for out of range signals.

Standard Micron CRT neckboard can be used wired up to the DB15 output. Signal levels should be ok as the Color30 just dumps the RAMDAC outputs in there as well.

Video ROM probably has to be pulled from the logicboard to get the internal ghost screen to go away.

 

As far as I know schematics for the 306-xx are not out there. Making them would be non-destructive if I can get one into my hands.

 

 

 

Slightly OT: I just got my Color30 to kind of work with the Turbo 040. The card itself works well with the 040. The only problem it has is that the mode setup of the RAMDAC registers does not seem to work properly.

That way most of the time the card will fail to initialize screen output correctly but once every few resets I could get it to display at least something that would let me see enough to navigate to the monitors CP and change color modes a few times until I get a useful picture on an external screen:

https://imgur.com/a/CxY1nCk

Edited by Bolle

Share this post


Link to post
Share on other sites
27 minutes ago, Bolle said:

Slightly OT: I just got my Color30 to kind of work with the Turbo 040. The card itself works well with the 040. The only problem it has is that the mode setup of the RAMDAC registers does not seem to work properly.

That way most of the time the card will fail to initialize screen output correctly but once every few resets I could get it to display at least something that would let me see enough to navigate to the monitors CP and change color modes a few times until I get a useful picture on an external screen:

https://imgur.com/a/CxY1nCk

@Bolle Interesting. I’d love to try the same thing. Did you make any modifications to either of the cards?

Share this post


Link to post
Share on other sites
4 hours ago, Bolle said:

The thing with having an output only card that does not sync to the logicboard sync signals can kill the analogboard as there is no protection present for out of range signals.

Standard Micron CRT neckboard can be used wired up to the DB15 output. Signal levels should be ok as the Color30 just dumps the RAMDAC outputs in there as well.

Video ROM probably has to be pulled from the logicboard to get the internal ghost screen to go away.

The way I read the Color30/Gray-Scale neck board setup doesn't quite jibe with yours. The harness connecting Color30 to the A/B appears to be pulling the dot clock frequency, interrupts, timing of signals with the CPU off the A/B from J2 and supplying those signals to the Color30. Color thirty processes the 8-bit version of the ghost image from there and sends some signals back to A/B J3 while sending the grayscale image to J5 on the Neck boardwhile four signals are supplied to it from A/B J3.

 

You'd need to have internal Video ROM and Slot E "VidCard" doing their thing to sync production that ghost image in 8-bit with the Color30 feeding those signals in putting together and substituting GS input for the B&W image, but at 8-bit depth on the PDS interface with the CPU. The card then substitutes the grayscale feed to the GS neck board in perfect sync with the ghost image.

 

Can you tell from the schematics available for the Color30 if there is input from a crystal on board for the GS section? My thinking would be no, it syncs with the the two A/B connections. In that case the 603-48 clone might need no oscillator at all on board?

Share this post


Link to post
Share on other sites

Ouch! Couldn't have said that less clearly it would seem.

 

diagram.JPG

 

Lets try that again:

 

SE/30 Video is interacting with CPU, A/B and MIA standard Neck Board, doing its 1-bit VidCard thing in PseudoSlot $E memory space as always.

Color30 is building exactly the same image in parallel on the PDS in Slot $whatever memory space, but in 8-bit depth.

Color30 is monitoring/shadowing memory activity between built in video system and main memory/CPU as it fills its VRAM buffer with the 8-bit version of the SE/30.

 

It's a symbiotic relationship between the two video systems until the Color30 cuts the standard neck board feed off at its knees on the A/B, letting what looks like five lines interact with the Grayscale Neck Board while substituting its modulated grayscale feed over what looks like a pair of lines from the Color30 connector to paint the grayscale image on the CRT in perfect sync with what would have been a B&W stream of same.

 

Not sure which is a ghost or shadow image, but it looks to me like you can't really have one without the other, at least not without possible damage the A/B Bolle has been talking about.

 

On another note: I see two versions of the Grayscale cards, one with a pair of crystal cans as on the 306-48  .  .  .

xcmain1.JPG

 

 

.  .  .  and one with apparently none?

IMG_2568.JPG

 

I wonder which is which and if 1024x768 is easier to couple with the standard video dot clock than is 640x480? Have we got definitive info on what model is 640x480 out and which is 1024x768 out?

 

Is there a crystal somewhere in the lower picture I haven't found? Maybe in the black box on the lower left corner? If not, this version of the card appears to be working off the SE/30's internal video clocking, etc. that I've put my head on the chopping block about in the jibberish laden WAG above? :blink:

 

 

 

 

edit: @Cory5412 why are crosslinks working from content posted here, but not links from 'fritter content or elsewhere? Also, why do I keep getting that -200 error every time I try to upload an image. ISTR trag couldn't upload PDFs a day or two ago as well.

 

Just tried to upload that 139kb wiring harness file I snagged off 'fritter and got the same error.

 

 

 

Edited by Trash80toHP_Mini

Share this post


Link to post
Share on other sites
1 hour ago, Trash80toHP_Mini said:

Is there a crystal somewhere in the lower picture I haven't found? Maybe in the black box on the lower left corner?

The silkscreen for that black box is marked Y5- quick searching seems to reveal Y is most commonly used to denote a crystal oscillator (and it looks to have the right pin footprint.)

 

https://electronics.stackexchange.com/questions/16795/silkscreen-labels-for-components-what-could-y-be

Share this post


Link to post
Share on other sites

The crystal vs. no obvious metal can crystal is just different revisions of the Color30.

The later ones had a video timing generator while earlier ones had the two crystals.

Share this post


Link to post
Share on other sites

Interesting, this was what got me thinking about the inter-connections on the harness:

 

For external vertical sync Maverick will wait for an
external sync pulse at each vertical front porch period. The falling edge of the
active low external sync will force the vertical timing state machine to go into the
internal vertical sync state.

 

Probably wrong, but sounds to me like the card is using the SE/30 internal video's sync pulse as the primary input for timings?

Edited by Trash80toHP_Mini

Share this post


Link to post
Share on other sites

Found an interesting thread wally started in 2007:

Precursor to your neck board build ten years later, my friend:

It'll be a fun ride trying to get a revamped 603-48 hooked up to that harness and neck board.

Share this post


Link to post
Share on other sites

This is a known issue:

 

 

My instinct says we are having a disk space issue, but I don't have admin access to the server itself to check or remedy the issues.

 

As to why cross-posted images work, my guess is because those are already uploaded to the site.

 

I've notified wthww but, well, there's only so many hours and he's got a job and has been away from his desk recently as well, so I'm not surprised by the lag time.

 

EDIT:

Tagging @Trash80toHP_Mini for clarity.

Share this post


Link to post
Share on other sites

Still can't upload an image error-200

 

w3wP0S.jpg

 

Dunno what the three GRID Signals are as yet, but all head from the A/B on the J3 connector to J5 on the GS Neck Board. Can't make heads or tails out of the Color30 Harness Schematic, so I combined its pinout data with the loopy harness illustration with its spatial relationship viewpoint.  Illustration's all kinds of wonky as documented in a picture of a warped page at an angle.I guess you can't have everything, LOL! So I cleaned up in terms of which wire plugs more exactly where according to the schematic. Proofreading would be much appreciated.

 

Looks to me like the Color30 GS section is riding the MoBo's HSYNC as well as VSYNC mentioned in the docs. It passes the signals straight over to J2 on the AB.

 

Maverick may not need more than VSYNC as mentioned, but it pulls in and passes on HSYNC as well.

_____________________________________________________________________________________

Video Timing Generator:


Video timing signals are generated by counting through a series of mode
registers associated with the vertical and horizontal video waveforms. Please
refer to the attached drawing for a pictorial description of the timing elements.
The horizontal state machine cycles through each element twice per line to
allow for equalization pulse generation.


Most of the timing elements will be self-explanatory to those familiar with video
timing signals; however, there are some timing elements that are unique to the
Maverick design. The FS1 period is used to fill any pipeline that may exist
between the VRAM and the DAC. The FS2 period is used to empty the pipeline.
NS defines the period where bus access to the DAC will not interfere with the
generation of video. HS22 is used for the generation of equalization pulses
only.


Interlaced and noninterlaced video formats are supported. Vertical state
transitions may be made at half-line or whole- line boundaries. Equalization
pulses in the vertical blanking signal may be enabled or disabled. Display
sizes up to 2K x 2K are supported. Vertical sync and field ID may be generated
externally or internally. For external vertical sync Maverick will wait for an
external sync pulse at each vertical front porch period. The falling edge of the
active low external sync will force the vertical timing state machine to go into the
internal vertical sync state. NTSC timing waveforms are generated by putting
the video timing in interlaced mode, selecting the proper horizontal and vertical
resolutions, using half line counts in the vertical state machine, and turning on
the equalization pulses.

_____________________________________________________________________________________

 

Gut call (Ludicrous WAG) is that much of the 306-48 schematic will need to be excised and adapted for VSYNC and HSYNC driving the timings. I wonder if the 306-GS clone (or the Color30) really needs an oscillator while operating in GS mode? Every clock in the book is available for reference on the PDS with VSYNC and HSYNC available on the MoBo's A/B connector. Video goes straight through to the A/B unmolested and exits the other side where it's picked up by the Color30 for passing on to the Neck Board when in external monitor detected mode.

 

Dunno, I just make pretty pictures. [:)]

 

Share this post


Link to post
Share on other sites
6 minutes ago, Cory5412 said:

My instinct says we are having a disk space issue, but I don't have admin access to the server itself to check or remedy the issues.

 

As to why cross-posted images work, my guess is because those are already uploaded to the site.

Thanks, I hadn't seen that thread pop up with recent entries. FWIW, it's only been the last week or so that I've been affected. Appreciate all you guys do very much and not complaining. Just reporting informally at the scene of the crime, as it were for specific examples. iFrog image showed up really nicely in the reply window as did all the other workarounds. Hit submit and the images revert to links in the forum and in the edit window. Strange stuff. Thanks again.

Share this post


Link to post
Share on other sites
On 10/24/2019 at 8:12 AM, Trash80toHP_Mini said:

Probably wrong, but sounds to me like the card is using the SE/30 internal video's sync pulse as the primary input for timings?

In internal GS mode the VSNC signal coming from the logicboard is fed into Maverick. The video statemachine is synced to that signal.

Maverick will still get a pixel clock signal from the clock generator that matches the resolution and framerate. HSYNC for internal GS mode is generated by a separate counter GAL which is clocked by the pixel clock.

In non-GS mode with an external display connected the incoming logicboard HSYNC is just passed through by one of the GALs.

Share this post


Link to post
Share on other sites

HRMMM, so you're saying it runs from the clock generator and only syncs up with MoBo's VSYNC output? What's the pixel clock rate, don't recall offhand? I figured it's in whatever Hz, looped down from the 16MHz System Clock as it must be for MoBo Video?

 

Since we're not cloning Maverick and its clock generator, we've gotta figure out how to pull the crystal cans for 640x480 output off the 306-48 schematic and substitute something for Compact Res. GS timings. Those can be generated from PDS clocks, no?

 

What the heck are the three GRID lines? Looks like something the A/B cooks up from VIDEO, VSYNC and HSYNC inputs that's needed to run any Neck Board, The GS Neck Board uses 'em right off the shelf in either mode.

 

Whatever, not thinking straight, too tired from AI playtime today. Spotted a booboo and went back to fix it, then I added the GRID lines and whited out all extraneous information for the JPG. My harness illustration is 100% complete, for signal lines, less all power and ground lines for crystal clarity.i

 

FhlrKC.jpg

 

If we follow the Color30 Harness model as is, we'll be set up for phase whatever when the time comes for adding video out of some sort.

Edited by Trash80toHP_Mini

Share this post


Link to post
Share on other sites
9 minutes ago, Trash80toHP_Mini said:

What the heck are the three GRID lines?

They supply a voltage to each of the three grids inside the tube for things like brightness, focus and cutoff. Those go straight through from the A/B and carry a high voltage (up to ~500V on one of them AFAIR)

Share this post


Link to post
Share on other sites

Just had a silly notion, but thought I'd float it anyway. Every SE/30 VidCard I've seen is in the maximum or close to the maximum expansion SE/30 card form factor in Apple's specs. Having a board even close to that size sitting atop an accelerator/adapter or one of your low profile adapters on top of an Asante NIC defeats the purpose of putting a clear case on an SE/30. Was thinking that implementing the 603-48 based Color30 doppelganger within the form factor of the socketed PowerCache might be worth looking into. The GS harness could be hard wired to the VidCard or on a thinner, horizontal plug. Either way, you'd feed the harness up through the rectangular opening of the chassis during installation of the MoBo/Socketed GS VidCard. Haven't looked at it yet, but there might be room on an edge to put PDS connector thruholes allowing standard installation for those who have the Socketed PowerCache. might score one in the future or don't wish to have a stock board modified?

 

A Socketed GS card also gets around that pesky 2 TTL line driving limitation of PDS buffering, which might allow for a three expansion card setup by having the third on the floor?

 

Either way, you'd obviously have to have a 68030 Socket on board, which can be used as a small footprint PDS interface. [}:)]

Share this post


Link to post
Share on other sites
56 minutes ago, Trash80toHP_Mini said:

pesky 2 TTL line driving limitation of PDS buffering

Not sure where you got that from, but the PDS on the SE/30 is not buffered. It's the raw CPU signals that go to the slot.

 

Also slot interrupts and that kind of stuff is not present at the CPU socket so it really only is useful for CPU upgrades or expansions that don't use the slot manager.

Share this post


Link to post
Share on other sites

It's in the 030 PDS slot specifications in DCaDftMF. The lines on the IIsi/SE/30 PDS are spec'd as being able to drive only two TTL inputs by Apple. Remember we went through that in ProtoCache development? Adding buffering to better support three cards and accelerator was something you thought would add too much latency as I recall?

Share this post


Link to post
Share on other sites

Here it is, it's about the line driving limitations of PDS signals.  But you got me on the buffering bit, properly designed cards need to provide it right above the PDS connector.

 

DCaDftMF3e-1992 p.323

Some of the expansion connector signals are specified to drive one 74LS input (a
standard 74LS input load is 20 JlA high, 0.2 rnA low); other signals can drive two 74LS
inputs. These strict limitations are imposed to protect the noise and timing margins of
the main logic board. All signals needed by an expansion card should be buffered at the
expansion connector. The use of newer logic families with very low input loading allows
you more margin and flexibility in your expansion card designs.

 

We've got far newer logic families available for 030 PDS projects today.

 

9 hours ago, Bolle said:

Also slot interrupts and that kind of stuff is not present at the CPU socket so it really only is useful for CPU upgrades or expansions that don't use the slot manager. 

I didn't put in the bit about using a PDS Cap/Terminator type setup to pull those signals from the PDS on a cable to a socketed version. Any required signals could be hotwired from the solder side of any connector in a stack of PDS cards or a header on any new Accelerator adapter design to support both 030 and the 040 card you mentioned on a side note. [;)]

 

9 hours ago, pcamen said:

And not to mention it would limit the usability of the card to only those with socketed CPU's, right? 

Nope, you missed a bit of my post: there might be room on an edge to put PDS connector thruholes allowing standard installation for those who have the Socketed PowerCache. might score one in the future or don't wish to have a stock board modified?

 

So everything about the notion depends upon the limits of the form factor, if it can't have provision for a standard, if funky lookin' PDS card, it's not really worth pursuing. A cable connector adjacent to the EuroDIN120 thruholes could pull the required signals off that PDS feed or RA headers could be installed at each pin location for breadboard jumpers or the like. If that's not electrically feasible that dead ends th notion as well.

 

 

Note that right up front I did say it was a silly notion that I'd had this morning. :lol:

 

 

Share this post


Link to post
Share on other sites

That particular graphics card may not have an ASIC as in a single chip, but it might as well be just as complex. 

 

Sadly, in the photos, I see multiple registered PAL/GAL devices which basically form up an ASIC in a logical sense. They would have to be decapped/reverse engineered unless you study timing diagrams and can build new logic based off of that... Not easy IMHO. 

 

They serve a pretty powerful purpose, such as refreshing the RAM as needed (Not sure if its dual port VRAM or standard DRAM, i have seen both used). As well as controlling DTACK to insert wait states if the memory is single-port, doing a read cycle via the rasterization timing circuit, while the CPU is trying to read/write the RAM at the same time. So DRAM access requests are interleaved between the CPU and the RAMDAC. 

 

Its easy to probe and brute force combinational PALs back into logic verilog code, I have done this many many times. 

 

But registered devices, Nope.... 

Edited by techknight

Share this post


Link to post
Share on other sites

Hello all,  I have a thought: would it be possible to base this project off of another SE/30 video Card?  Myself have have several of them, including a RasterOps 264/SE30, a RasterOps ClearVue GS30,  and my newest addition straight from eBay, an Interware VDR-2a.   Would it be possible to somehow split the signal coming off of the output of the video so that it could run both the internal monitor and an external one?

 

Here's a project that I'm sure some of you have seen that got me thinking about some possibilities:  http://spritesmods.com/?art=macsearm&page=5

 

@Bolle- I have a dumb question:  I have a Diimo 030 acclerator, and stacked on top of that a VDR-2a video card.  If the PDS on the SE/30 uses the raw signals coming from the onboard 16mhz 68030, what happens when you have an accelerator attached to it?  Does it still allow the stock 16mhz clock to pass through it?

 

Also, don't know if this helps, but someone in Japan is seller the Xceed greyscale harness:

https://buyee.jp/item/yahoo/auction/j600329379

 

If anybody is interested, I will happily post high resolution scans of all of the cards that I've just mentioned.  Who knows....maybe it might spark some more ideas!

 

And I freely admit that at the end of the day, I'm not much more than a basic bench tech...and not really a good one!

Share this post


Link to post
Share on other sites
1 hour ago, techknight said:

Sadly, in the photos, I see multiple registered PAL/GAL devices

The equations for all of them are available, no reverse engineering needed. (if we are talking about the Micron 306 cards)

 

29 minutes ago, JT737 said:

If the PDS on the SE/30 uses the raw signals coming from the onboard 16mhz 68030, what happens when you have an accelerator attached to it?

All CPU signals will be coming from the latches and buffers on the accelerator.

Clock signals and other logicboard signals that are not related to the processor itself will still come from the logicboard.

Actually having an accelerator does help with multiple cards as at least data and address lines are buffered on (most) accelerators.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×