30Video: New video board for SE/30 / IIsi / more?

zigzagjoe

Well-known member
I think it's a GAL. Image attached:

View attachment 75390

hard to say. You'd have to remove the sticker to say for certain. Interesting that it has even more bodges than the usual ones MacCons seem to have.

investigating further... putting an ATF on reduced clock loading a little, but not as much as expected. still bad. Removing the PLD outright did improve things somewhat, but there's still .6v drop coming from somewhere. Apparently the bodge wires on the board are superfluous? The one I'm investigating has the usual bodges from PDS CPUCLK to PT CPUCLK, and PDS cpuclk to a via just under U14. However, with the bodges disconnected, I still have continuity on the clock lines? What?

Perhaps MacCons are just cursed.
 
Last edited:

zigzagjoe

Well-known member
Looks like it is a GAL--S9118AF, GAL16V8A-15LVC.
Appreciate you checking! Both my MacCon boards do weird things to the clock, even with the PLD removed and bodges disconnected, so I'm just going to say MacCons are weird and probably are best avoided if installing more than 2 add-in boards (socket or PDS).

In the end, the solution is to buffer the clocks for any cards on the passthrough slot. This seems to sufficiently mitigate the issue with MacCons wrecking the system clock signal. The 30Video card should be the first in any stack of cards, unless an accelerator is present, if so, 30Video should be second. This is a similar approach to what Bolle does with his combo cards, and I do the same with Booster PDS cards.

I didn't find any major compatibility issues in my testing. In general, I think any combination of two cards (pds or socket accelerators, video cards, ethernet, etc) should work, with the usual caution that we are exceeding what Apple designed for so there's a possibility that additional cards beyond two may not work. Bolle's combo cards are an exception to that rule and should co-exist just fine with a single 30Video.

Should have a couple of cards going to beta testers shortly!
 

zigzagjoe

Well-known member
These have been posted up in the trading post.

With more than one card, good quality recapped & adjusted PSU is absolutely essential along with recapped rest of the system.

Outcome of compatibility testing is good; I tested Asante MacCon, Radius FPD, Shiva Etherport, Fallaron TP594, SEthernet/30, Micron Xceed Color 30HR, Interware GrandVimage, Carrera 040, Interware Booster 30-SE50F, DiimoCache 030, and various ROM SIMMs across multiple different SE/30s.
I have a beta tester working on the combo card; it works with the ethernet section but it's looking like his PSU may be heavily loaded with the accelerator too.
 

Andy

Well-known member
Biggest congratulations on completing this project. It's been really fun to follow along. Hopefully the video controller remains available for a while.

If I'm understanding the video you posted if you plug in an external monitor it switches the internal CRT back to the built in video as a secondary monitor? That's incredibly slick!
 

zigzagjoe

Well-known member
Biggest congratulations on completing this project. It's been really fun to follow along. Hopefully the video controller remains available for a while.

If I'm understanding the video you posted if you plug in an external monitor it switches the internal CRT back to the built in video as a secondary monitor? That's incredibly slick!

It's been intense, that's for sure. Not done yet; I'm sure there will be some hardware revisions over time, and I have additional functionality I wish to implement in the driver.

No concerns about keeping track of the controllers, happily - the RAM is actually harder to get a line on, as I use the fastest chips possible in order to maximize memory bandwidth.

Yep, that's exactly the case wrt the external monitor. I actually neglected to show that off in the video. The Micron Xceed cards could do that originally, and I found it one of the neatest things ever. While grayscale is cool and worthy, you're still limited by the small internal screen. But hook up an external monitor and be able to dual head with SVGA? Now we're talking.

1720806391859.jpeg
 

zigzagjoe

Well-known member
While I wait for more parts to build harnesses, here's the next feature for the driver.


This is a virtual desktop mode that doubles the height of the screen (logically), and scrolls as you near the top or the bottom. Nothing revolutionary, most cards of the era implemented it, but it's convenient if the builtin screen is too small for some programs. The logical resolution seen by Mac OS becomes 512 x 684 instead of 512 x 342. Technically, it could be up to 512 x 4000 pixels, but that would be a little much :)

Due to technical restrictions, on the internal screen it is currently limited to vertical scrolling only. It could be implemented for VGA output in both dimensions, but as it's of much reduced use there I likely will not prioritize that. Activation is the same as resolution switching in VGA mode: go into the Monitors control panel, and pick the new resolution, then reboot.
 

Jockelill

Well-known member
This is a super cool thread. I have several SE/30 with multiple cards, Mac/Con, Pivot IIsi, Micron XCeed, as well as Bolle Ethernet Riser. On one machine it can drive three displays (two external and one internal) but there are artifacts on the internal display. I’m guessing it’s because of all the power draw.
Just one thing on artifacts, I had the same issue on one of my SE/30 when using bolle riser/ethernet, Carrera 040 and Radius card for external video, artifacts on internal video. But it turned out that my SE/30 was a very early revision 1 board that has a missing connection compared to later revision boards. You can read about the details it in the SE/30 logic board revival thread. So check if your logic board is an early rev A board and try testing with a later board/rebuilt board of latest revision (or you can modify the board by cutting a line and adding a wire).
 

croissantking

Well-known member
Just one thing on artifacts, I had the same issue on one of my SE/30 when using bolle riser/ethernet, Carrera 040 and Radius card for external video, artifacts on internal video. But it turned out that my SE/30 was a very early revision 1 board that has a missing connection compared to later revision boards. You can read about the details it in the SE/30 logic board revival thread. So check if your logic board is an early rev A board and try testing with a later board/rebuilt board of latest revision (or you can modify the board by cutting a line and adding a wire).
Do you mean you have an early Reloaded board, or an early Apple board?

The bodge wire is needed for Reloaded Rev 01 to 03, it was fixed in Rev 04. I’ve never seen or heard about an early Apple board that didn’t already have the cut trace and bodge wire fitted.
 

Jockelill

Well-known member
Do you mean you have an early Reloaded board, or an early Apple board?

The bodge wire is needed for Reloaded Rev 01 to 03, it was fixed in Rev 04. I’ve never seen or heard about an early Apple board that didn’t already have the cut trace and bodge wire fitted.
I have an early apple board without the bodge! And it does indeed give artifacts same as the reloaded ones did.
 

croissantking

Well-known member
I have an early apple board without the bodge! And it does indeed give artifacts same as the reloaded ones did.
Wow! So they actually shipped a few before they realised the problem. Can I see how your board looks? It must be a super duper early one.
 

zigzagjoe

Well-known member
I think it's going to depend a lot of the particular combo of cards. With the short maccon-esq formfactor I tend to use both here and on my booster clones, you could for sure get a booster, maccon, and 30video card stacked no problem. Beyond that, might need to be either a short card or something with an angled connector (I think it may run into the CRT).

With an adapter like bolle's... I'm not quite sure, I don't have one or anything similar to measure with. Given that people manage to get video boards on top of it, I would think you could at least get two on top as they are *short*.

I mainly wanted the passthrough slot so *anyone* can use this, even if you already have a card without a passthrough slot. Also, in the IIsi.

This is a super cool thread. I have several SE/30 with multiple cards, Mac/Con, Pivot IIsi, Micron XCeed, as well as Bolle Ethernet Riser. On one machine it can drive three displays (two external and one internal) but there are artifacts on the internal display. I’m guessing it’s because of all the power draw.

To close the loop on this topic - while testing, I found various combinations are mechanically possible but not electrically cromulent. Setting aside the requirement for +5v voltage to be reasonable, I think we're approaching the limitations of the bus.

Any combination of two cards (counting a socketed accelerator as a card) worked without issue.

Three cards mostly worked, with some placement restrictions. The 30Video card buffers the clock for stacked cards which helps to keep the clock from becoming too weak for itself and any stacked cards. The two types of ST-NIC cards I have to test with (MacCon, TP594) were both sensitive to clock as well as detrimental to it.

Four cards mostly didn't work. The failure mode was often a complete failure to chime, despite voltages and system clock being fine.

Cards tested with were: Asante MacCon, Radius FPD, Shiva Etherport, Fallaron TP594, SEthernet/30, Micron Xceed Color 30HR, Interware GrandVimage, socketed Carrera 040, Interware Booster 30-SE50F, socketed DiimoCache 030, and both versions of my Booster clones.

General placement rule being accelerator, if any, goes first in the slot, then 30video, then any IO cards.

Interestingly, in many failure modes, my baremetal code (complete ROM replacement) would usually run fine, but the Mac ROM would fail to do anything. Though my code only interfaces to ROM, PDS, VRAM, and the SCC, no DRAM/SCSI/VIA/ASC/RTC action, so it's only proving the CPU is able to run rather than a complete test of the system. I'm thinking the bus length is becoming unwieldy and an IO device on the LB is having issues driving it. Or something along those lines.

Unsurprisingly passthrough cards do seem to come at a cost to signal integrity. I found a couple of edge cases where I could get only a prototype card (doesn't have the signals for passthru) to work at the top of the stack, where the full 30Video card would not work. Same for a MacCon (w/ passthru) vs the very similar Fallaron TP594 (no passthru). Possibly bus termination would improve this.

I wonder if this is what @nottomhanks is running into.
 

zigzagjoe

Well-known member
Well, at least on the last case described, I did some more digging, and at least in the case I found it is a case of too much aggregate capacitance on the /RESET line causing slow a rise time. This leads to the 68030 resetting itself when executing a RESET instruction. Mac ROM always executes a RESET instruction during early boot, leading to it cycling forever, where I wasn't doing that in my baremetal code. Add the RESET and it did the same.

Adding a pull-up sorts at least that particular issue out. Bolle mentions that some cards including his ethernet riser put additional pulls on /RESET for that reason.

1721081111768.jpeg
 
Last edited:

Trash80toHP_Mini

NIGHT STALKER
In unrelated news, Asante MacCons are apparently the destroyer of clocks. I'm not quite sure what is wrong (?) with the U14 GAL on them, but both examples I have drag the system clock down from a "healthy" 3.1v or so down to a sickly 2.3v.

Apparently, the MacCon jumpers select between CPUCLK and C16M. Both feed into GAL U14 and logic decides which signal leaves the GAL. Only in the case where JP2 is present and JP1 is not present (Slot E) does it use C16M, under all other cases it uses CPUCLK. I'm assuming that is for use in an IIfx??

Using my PDS booster V1.1 card, which buffers CPUCLK, I notice only a .4v drop as C16M is still unbuffered and C16M=CPUCLK on SE/30. So, the two GAL inputs on the merged CPUCLK/C16M lines correctly add up to 0.8v of drop. I may experiment with putting an ATF on the MacCon instead of a GAL to see if that reduces this nonsense.
IIfx doesn't have video, so I don't recall anything making use of Slot E or CPUCLK for it?

Appreciate you checking! Both my MacCon boards do weird things to the clock, even with the PLD removed and bodges disconnected, so I'm just going to say MacCons are weird and probably are best avoided if installing more than 2 add-in boards (socket or PDS).

In the end, the solution is to buffer the clocks for any cards on the passthrough slot. This seems to sufficiently mitigate the issue with MacCons wrecking the system clock signal. The 30Video card should be the first in any stack of cards, unless an accelerator is present, if so, 30Video should be second. This is a similar approach to what Bolle does with his combo cards, and I do the same with Booster PDS cards.
IIsi definitely uses CPUCLK for Slot E as does the Video subsystem of the IIsi, this would be apparent by their use of buffered memory in Bank A as Video Memory.

Curious as to which clock you are using, seems to me that you'd get a much cleaner input from the C16M reference clock originated on the PDS of the 8MHz SE?

I'm very likely missing something?
 

zigzagjoe

Well-known member
IIfx doesn't have video, so I don't recall anything making use of Slot E or CPUCLK for it?


IIsi definitely uses CPUCLK for Slot E as does the Video subsystem of the IIsi, this would be apparent by their use of buffered memory in Bank A as Video Memory.

Curious as to which clock you are using, seems to me that you'd get a much cleaner input from the C16M reference clock originated on the PDS of the 8MHz SE?

I'm very likely missing something?

I think you may be confused.

On IIfx, the PDS slot may be addressed as Slot E, replacing the physical nubus slot with that address. There's some other permutations surrounding the IIfx PDS, but that's the important part as it pertains to this.

Yes, Slot E is in use on IIsi so that would be an illegal setting when using the maccon in IIsi.

On IIsi, C16M is the usual 15.6672mhz where CPUCLK is 20mhz.
On SE/30, there is only one 15.6672mhz clock on PDS, same signal on both CPUCLK and C16M.
 

Trash80toHP_Mini

NIGHT STALKER
For
On SE/30, there is only one 15.6672mhz clock on PDS, same signal on both CPUCLK and C16M.
Yep, but C16M is a reference signal independent of CPUCLK, no? Else the MaCon's wouldn't be choosing between the two in it's timing (phase lock? function) or so it seems to me. As a reference point I'd think C16M would be preferable for your use case?

Forgot about the IIfx, doesn't it work on multiple clocks?
 
Top