Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

LightBulbFun

macrumors 68030
Nov 17, 2013
2,788
3,101
London UK
very awesome to see the progress your making on your Firmware/Drivers to get more SATA chipsets working with Vintage PPC Macs, its really quite awesome! (and also the re-implementation of even already done chipsets)

keep up the good work!

I am really looking forward to see what comes next and so forth :)

(as side note I like the play on words, card names those are all good)
 

Ataman Honcho Honchev

macrumors regular
Feb 11, 2023
169
158
Thanks - and here is the performance of the VIA6421A.
It nicely beats the SeriTek/1S2 and / or Silicon Image 3112.

Look at the peak read / write and at the number of transactions.

ViaDuct3Perf.jpg
 

Ataman Honcho Honchev

macrumors regular
Feb 11, 2023
169
158
(as side note I like the play on words, card names those are all good)
This time no names like SupraDupraTek/2SH5-MGperX/3FK9.

BTW: the MGperX, more precisely the "MG/X" is something what the Simpsons were copied from.
But it's not a well-known fact. One day I may name a card something like "MG/X", it could be a PCI-X based Marvell.
Than, I would have to explain the name. LOL.

"Vitamin4" would be the re-born SeriTek/1V4, where even the internal ports are hot-swap capable.
I will try to optimize it as far as in 2023 it is possible: that was one of the nicest chips to support back than. It had only few problems with inadequate SATA drives from IBM/Hitachi back than.

However, the Frodo chip is better and has the maximum of 8 SATA channels.

Sadly, both Frodo and Vitesse 7174 are SATA-I controllers.

We need the SATA-III controller (say, Marvell AHCI) with a PCIe <---> PCI-X bridge.
Probably never will happen. The Chinese manufacturers crank out that controller only in PCIe 2-lane version and compete with each other. I am unsure, why not add extra few Dollars and create a PCI-X version to support legacy servers on the Intel side and legacy Sun and Apple iron on the UltraSparc and PowerPC side.
Dumb world.
 
Last edited:
  • Like
Reactions: LightBulbFun

Ataman Honcho Honchev

macrumors regular
Feb 11, 2023
169
158
As for VIADuct3, there are some problems with hot-swap and the PATA port wasn't tested yet.
In addition, I would like to resolve (forever!) the sound stuttering problem of fast transfers.

Anyone remembers that the Promise PATA cards needed a special AV setting on "beige" Macs?
Without that there was sound problem. That AV setting basically set the read transfer into a monstrous, ATA-unofficial setting, somewhere between DMA1 and DMA2. It did slow down the transfer that there was no stuttering.

But on SATA there is no way to do that: all SATA transfers between the controller and the drive are done at 150, 300 or 600 MB/Sec speeds, depending how the controller and the drive negotiate.

The earlier SATA drives (converted PATA drives) could be set to lower speeds - but than the PATA <--> SATA converter chip would absorb the difference.

That "stuttering" could be due some other factors as well, it is very poorly researched. I hope that doing a batter SIM or using a card with only memory space (versus I/O space) could resolve it.

The easier way of course is to re-think how the SIM synchronization is done internally. You see the result on the VIADuct3: the number of transactions is drastically higher than before.
 
  • Like
Reactions: LightBulbFun

kahunalx

macrumors newbie
Dec 2, 2022
17
7
Alberta, Canada
very awesome to see the progress your making on your Firmware/Drivers to get more SATA chipsets working with Vintage PPC Macs, its really quite awesome! (and also the re-implementation of even already done chipsets)

keep up the good work!

I am really looking forward to see what comes next and so forth :)

(as side note I like the play on words, card names those are all good)

This is great indeed, Ataman!
Do you happen to have a Patreon or "buy me a coffee" or something like that?
I understand you do all this work for the community, but happy to contribute if I can!

Thank you!
 

Ataman Honcho Honchev

macrumors regular
Feb 11, 2023
169
158
This is great indeed, Ataman!
Do you happen to have a Patreon or "buy me a coffee" or something like that?
I understand you do all this work for the community, but happy to contribute if I can!

Thank you!
I did not finalize how the business should look like yet.

But so far:

- There will be definitely a free version for everyone of everything.

- That version will have all the features of the SeriTek/1S2 plus one more: if someone by accident removes the SATA cable, the involved drive will "disappear" and the computer won't stall.

- It will have roughly the same performance as SeriTek/1S2.

- That version will involve as many "common" controllers as possible.
(So far the candidates: Silicon Image 3112, 3512, 3114, VIA 6421A. Also some Promise, SImage, Aralion PATA cards. The earliest HighPoint will be - if ever - the 370, but that card has some funny "features". As for PATA, Promise and Silicon Image 680 are the cleanest).

- That version will be called "Non-Commercial" or "Demo version". I prefer "Demo" because it's a shorter word, the "Non-Commercial" does not fit into controller description if you use a common formatter utility (Silverlining, ATTO, FWB, etc.)

Compared with the SeriTek/1S2 there won't be any "demo-like" limitations, castrations or annoyances.
The free version will be not for re-sale and it will be clearly stated everywhere in the usual Apple ecosystem places (registry, ASP).

Selling few cards once in a while as a private person will be fine.

But if one has a company and puts the cards flashed with the said "Demo" or, maybe better to call it "Non-Commercial" driver on sale - that won't be appreciated. It will result of being admitted to the "Hall of Shame" (and probably even more unpleasant things).
 
Last edited:
  • Like
Reactions: ojfd and kahunalx
I did not finalize how the business should look like yet.

But so far:

- There will be definitely a free version for everyone of everything.

- That version will have all the features of the SeriTek/1S2 plus one more: if someone by accident removes the SATA cable, the involved drive will "disappear" and the computer won't stall.

- It will have roughly the same performance as SeriTek/1S2.

- That version will involve as many "common" controllers as possible.
(So far the candidates: Silicon Image 3112, 3512, 3114, VIA 6421A. Also some Promise, SImage, Aralion PATA cards. The earliest HighPoint will be - if ever - the 370, but that card has some funny "features". As for PATA, Promise and Silicon Image 680 are the cleanest).

- That version will be called "Non-Commercial" or "Demo version". I prefer "Demo" because it's a shorter word, the "Non-Commercial" does not fit into controller description if you use a common formatter utility (Silverlining, ATTO, FWB, etc.)

Compared with the SeriTek/1S2 there won't be any "demo-like" limitations, castrations or annoyances.
The free version will be not for re-sale and it will be clearly stated everywhere in the usual Apple ecosystem places (registry, ASP).

Selling few cards once in a while as a private person will be fine.

But if one has a company and puts the cards flashed with the said "Demo" or, maybe better to call it "Non-Commercial" driver on sale - that won't be appreciated. It will result of being admitted to the "Hall of Shame" (and probably even more unpleasant things).

Sorry to bother (and pardon my general clulessness on the mechanics of these controller chips):

If your updated firmware is to impact the 1V4, would there be particular benefits to updating that firmware? Cheers.
 

Ataman Honcho Honchev

macrumors regular
Feb 11, 2023
169
158
Sorry to bother (and pardon my general clulessness on the mechanics of these controller chips):

If your updated firmware is to impact the 1V4, would there be particular benefits to updating that firmware? Cheers.
But: if you are using macOS-X, there is not much benefit of flashing: you can install the newer KEXT I will make for that purpose. I.e. instead of "flashing" you can copy that KEXT into Extensions folder. If you like it, you keep it.
If not, you can remove it. But that will be a KEXT corresponding to the "commercial version".

Except that there is no pirated SeriTek/1SE2 and SeriTek/1V4 (SeriTek/1VE4, etc.). So that upgrade - once it is safe - will be free. And selling upgraded 1SE2 or 1V4 cards commercially is OK, too.
 
  • Like
Reactions: B S Magnet
But: if you are using macOS-X, there is not much benefit of flashing: you can install the newer KEXT I will make for that purpose. I.e. instead of "flashing" you can copy that KEXT into Extensions folder. If you like it, you keep it.
If not, you can remove it. But that will be a KEXT corresponding to the "commercial version".

Except that there is no pirated SeriTek/1SE2 and SeriTek/1V4 (SeriTek/1VE4, etc.). So that upgrade - once it is safe - will be free. And selling upgraded 1SE2 or 1V4 cards commercially is OK, too.

It appears I ought to leave things as-is, as things with the 1V4 work fine.

Namely, drives on the 1V4 SATA channels are bootable, which in select circumstances is preferable than relying on Apple’s finicky SATA I bus on the PCI-X G5, which throws a fit and won’t boot properly, 4 times of 5, with some SATA III HDDs/SSDs — especially those with controllers which don’t step down to SATA II or SATA I.

The only past issue, as noted some time earlier in this discussion, was the conflict between a 1V4 and 2SE4 running in the same G5, which I resolved by selling the latter and abandoning my plans. This is why I was asking about your firmware work in relation to the 1V4, in the slim chance I add another SeriTek card to that G5. :)
 

Ataman Honcho Honchev

macrumors regular
Feb 11, 2023
169
158
It appears I ought to leave things as-is, as things with the 1V4 work fine.

Namely, drives on the 1V4 SATA channels are bootable, which in select circumstances is preferable than relying on Apple’s finicky SATA I bus on the PCI-X G5, which throws a fit and won’t boot properly, 4 times of 5, with some SATA III HDDs/SSDs — especially those with controllers which don’t step down to SATA II or SATA I.

The only past issue, as noted some time earlier in this discussion, was the conflict between a 1V4 and 2SE4 running in the same G5, which I resolved by selling the latter and abandoning my plans. This is why I was asking about your firmware work in relation to the 1V4, in the slim chance I add another SeriTek card to that G5. :)
I know that bug well. I am just doing the "9" stuff first because it is far more difficult to debug than the "X".
On the "X" you had conflict between different device nubs and one was not loaded.
If the nubs are the same than there shouldn't be any conflict.

That means I have to make uniform nubs across all first gen. cards.
Unfortunately I have to name the nubs the same way, otherwise the ASP of Panther (or earlier) won't be compatible.
And even more unfortunately: abandoning anything on "X" earlier, than "Tiger" will make (quite a) few customers upset. Therefore the nubs have to be called the same name as required (and hard-wired) into Panther.
However, all these nubs will be "attached" to different controllers. That has to be solved better, than the way I made back in early 2000-s. If that is solved you can use as many different SATA cards as you like. But you will need to use new KEXT-s.
 
  • Like
Reactions: G4fanboy

Ataman Honcho Honchev

macrumors regular
Feb 11, 2023
169
158
The PATA basics seem to be OK. See the screenshot below. It is an ancient 500GB Hitachi PATA drive, made in November of 2005 and directly attached to the PATA channel of "VIADuct3" (VIA6421A) as "master".

Still, quite a lot has to be done - but if it is over, I bet, not many will need the Silicon Image 3112.
In particular that VIA6421A has no regulator problem.

There are several flavors of VIA6421A, the most useable ones tend to show up in Germany and Russia.
Most VIA6421A sold on the fee-Bay in USA are overpriced and without option ROM. :eek:

PATA-Master.jpg
 

Ataman Honcho Honchev

macrumors regular
Feb 11, 2023
169
158
There are several flavors of VIA6421A, the most useable ones tend to show up in Germany and Russia.
All are made in China, of course. Just it looks like the importers in these countries are a bit more competent - or maybe they have the right contact. The low end-user price means that their import channels are okay as well.

At the end of the day, one can import from China directly - but tbh, the end-user price is already fairly low.
With numbers below few hundred a month (and for sure, that will be the case) the price difference between buying from a good local dealer is less, than the risk and the extra costs of direct import.

If my family would not move out of the States back in 2008, things would look much worse tho: the very high overhead of re-sellers in the States would force me to buy from China directly.
 

Ataman Honcho Honchev

macrumors regular
Feb 11, 2023
169
158
Hi there,

I don't want to rush things or be that "intense person", but I was wondering what is the current status on the development of the SIL and VIA drivers/firmware.
Any update will be much appreciated :)

Thanks!
I am right now dealing with the Sawtooth + VIA combo card. Maybe more news later today / tomorrow.
The SImage 3114 is OK (but of course is not that fast).
I can say, I am working 7/24 or close to that.

What will come:

- The 128 Petabyte support is there in the driver, have to verify. Still we need a corresponding SCSI storage driver.
- Need to verify multiple drives working in the RAID. The entire driver was renewed, so I will need to validate everything concerning RAID
 
  • Like
Reactions: G4fanboy and ojfd

Ataman Honcho Honchev

macrumors regular
Feb 11, 2023
169
158
VIA combo card has both USB 2.0 (second function) and VIA 6421A (first function). There is no bridge.
The performance even in Sawtooth is acceptable. But this PCI function duality sometimes makes fatal bus errors by reading some of it's registers during interrupt. Looking at VIA documentation it became apparent that I can use PCI configuration space in lieu of PCI direct access. That is somewhat slower but safer.
 
  • Like
Reactions: G4fanboy

Ataman Honcho Honchev

macrumors regular
Feb 11, 2023
169
158
And here they are, bug fixed.

These represent one of the worst cases: Sawtooth G4 with very bad PCI bus (the bridge is slow).
And the VIA 6421A card has a second function (USB) which slows it down.

The results on G4 MDD should be much better.

The 16-byte CDB commands are passed through the SCSI manager without problem.

The FWB driver uses 12-byte CDB commands (Read10 and Write10) - but when I load the driver from the disk I use internally 16-byte CDB-s (Read16).

So hopefully any driver / installation utility can be updated and the 2TB limit is gone.

The next step is to validate all the busses working the same time (RAID0).
Than validate the parallel ATA working on the VIA card.
Than check few ATAPI drives (just few, to iron out bugs).
I am thinking IOMega Rev, ZIP and such.
Maybe one or two CD / DVD.

Than make the new Open Firmware stuff.

Than make the new KEXT.

I feel that it's enormous work ahead of me.

ASP1.jpg


ASP2.jpg

devTree.jpg
 

Ataman Honcho Honchev

macrumors regular
Feb 11, 2023
169
158
As I wrote earlier on that particular G4 (maybe it's my third-party dual 500MHz processor not playing well with the original G4 firmware?) accessing SATA / ATA DMA bus masters directly when interrupt is fired sometimes end up in bus error ("fatal crash"). There is nothing what should be fatal there - it's obviously the timing of the underlying hardware.

A possible solution would be to re-route the vector pointing to bus error handler into proper part of the driver code and retry. That would be way to much work (apologies, the priority is to get it out, not to have the perfection).

After reading the manual of the chip (RTFM = "read this FINE manual") it turned out that accessing PCI Config Space is OK (no bus error) and the performance hit is not that bad.

On non-Sawtooth machines (at least on MDD and Quicksilver) there is no problem and the performance is much better.

All this applies to the USB 2.0 + PATA + SATA Viaduct3 (the brown "German" version).

When Viaduct3 is used in a single-function flavor (the green 300 Rbl "Russian" version) there is no problem even on the Sawtooth.

Maybe I should buy as many of these "brown" and "green" cards as I can.
Looked up on "Alibaba": they wanted to sell me artificial flowers, plastic forks and "Hello Kitty" stuff.
Looked up on fee-Bay: not much luck. Remember: these cards need to be completely refurbished.
Bigger ROM, better SATA connectors.
 
  • Like
Reactions: G4fanboy

LightBulbFun

macrumors 68030
Nov 17, 2013
2,788
3,101
London UK
As I wrote earlier on that particular G4 (maybe it's my third-party dual 500MHz processor not playing well with the original G4 firmware?) accessing SATA / ATA DMA bus masters directly when interrupt is fired sometimes end up in bus error ("fatal crash"). There is nothing what should be fatal there - it's obviously the timing of the underlying hardware.

just as quick Sanity check, your Sawtooth's firmware has been fully updated to 4.2.8 right? that firmware is fully compatible with all CPU's from 7400 to 7455 :) but also what revision Uninorth does your sawtooth have? you need Rev 7 or later for fully functioning multi-processor support

my Sawtooth for example is an early one with a Rev 3 Uninorth chipset, so its "only" got a single 2Ghz 7448 in it :)


I am enjoying the dev log/blog so to speak, keep up the good work :)
 

Ataman Honcho Honchev

macrumors regular
Feb 11, 2023
169
158
device-rev property of "uni-n" tells me "8".
And the boot rom version is 4.28f1
And the ROM revision is 77D.45F6.

But the multi-processor card is not the original. I don't remember who gave it to me.
I remember that in early 2000-s I got one from Sonnet as a personal gift.
Maybe that's the one.

The computer is from aftermarket, the feet and the case of my original Sawtooth broke when we moved from the States. Years ago I put the guts of my original Sawtooth in the one I got from eBay - the case and feet look better.

Currently that computer is kept for occasional testing.

I think that besides of old stuff getting a completely new life the best thing is that the theoretical drive limit for all these controllers will become 128 Petabytes.

A drive with 128 PB capacity won't appear tomorrow on Fry's or NewEgg leaflet - but 4TB SSD-s aren't novelty and the price is going down.
 
Last edited:

ojfd

macrumors 6502
Oct 20, 2020
276
199
(s)Ataman, I see from your screenshots that you're using 2GB of RAM.. Wasn't there various problems in OS9 with more than 1.5GB RAM installed?
 

Ataman Honcho Honchev

macrumors regular
Feb 11, 2023
169
158
This is great Ataman.
Please keep up the good work!
Thanks a lot!
And now it looks like with Conley SoftRAiD things are broken:
- I fixed yesterday the FlushCacheExtended / FlushCache command handling... but somehow still may get errors
- With two drives as RAID0 (on Viaduct3) all hell (and all bugs) are lose.
- On Conley SoftRAID even one drive can't finish the FWB bench test.

But if I use FWB driver things are fine.
With SeriTek/1S2 it looks like I back in 2005 just got tired of MacOS 9 and out of frustration in the main routine (SCSIAction()) I disabled all interrupts. Which is nothing, but putting thick, sticky paint over the bug.
This is why the cursor is frozen for a tiny bit of fraction of second.

The frozen cursor is easiest to observe in the SeriTek/1SE2 during hot-swap.
In 2023 there should be no frozen cursors.

Either I will (again) disable the interrupt or work harder.
It's 2023 and I am older, so the later is preferred.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.