Yes but all these chips should be 20268 compatible, with the EEPROM integrated in the PDC chip.I noticed you have the chip showing as a 20269, my chip is a 20268
The board seems to be having login issues from the main forum list page, but if I go to one of the sub-forum pages login seems to work.
The 268-269-270 cards have a custom lock / unlock sequence. Eons ago I had the code from Promise and of course was able to unlock all of them. Than, just before the COVID I tried it again - and it did not work anymore.@Ataman Honcho Honchev , Can you offer any insight into how to get around the seeming 16k lock on PC PDC20268/269/270 cards eeproms?
Flashing the Mac ROM to the card with a hacked Sonnet flasher always seems to result into changing the Device IS to that of the 20268 and we have to use our hacked 16k ROM.
Even the TX 100 Fasttrak card that came with a 66k PC Bios won't take the full Mac ROM.
Also OS9Lives is having some issue with login from the main forum list:
Hopefully DieHard can get that fixed, I sent him a message.
I think you just need to zip the disk image to upload it.Is it OK to upload disk images with binaries?
Is a SIM the same as a NDRV?The fourth "beta" of the Silicon Image 3112 SIM for MacOS 9 is ready to be tested.
There is no flashing, it's just a system extension to be dropped into the System:Extensions folder and re-boot.
SIM = "SCSI Interface Module". It is normally distributed either as a stand-alone extension (a special kind of NDRV) or that NDRV is embedded in the OF ROM.I think you just need to zip the disk image to upload it.
Is a SIM the same as a NDRV?
How is your SIM different than the NDRV included in the sil3112 Mac firmware that @dosdude1 recently modified?
I think dosdude1 did binary modifications (change some bytes) but I didn't try a compare to see what changed. You are compiling the entire SIM from source code?
If firmware contains an NDRV, and macOS 9 contains an NDRV, which gets used?
I think that 'NDRV's contain a production date, so if you have one in ROM and one one disk, the one with the later production date will be used.If firmware contains an NDRV, and macOS 9 contains an NDRV, which gets used?
They have nothing to do with each other. The one in the ROM applies to the OF. The one in KEXT applies to the macOS X / whatever new numbering scheme is. The one in the SIM applies to macOS 9. These could be different and the newer one will have the priority. But: if the source of the driver is different, that may not apply.I think that 'NDRV's contain a production date, so if you have one in ROM and one one disk, the one with the later production date will be used.
The one I patched was part of the FirmTek SeriTek/1S2 ROM, which I believe you wrote or at least had part in, if I'm not mistaken. Of course I don't have the source, so I simply used a disassembler to analyze the binary, and patched it to remove that worthless EEPROM ID check. I of course did the same with the OS X driver (kext), and also wrote and added an LZSS decompression routine into the FCode ROM, allowing me to store the now-patched OS 9 NDRV ("SIM") in a compressed form, which allows the entire ROM to fit onto a 128K EEPROM.SIM = "SCSI Interface Module". It is normally distributed either as a stand-alone extension (a special kind of NDRV) or that NDRV is embedded in the OF ROM.
In "Beta" phase (and prior) it is foolish to embed in the ROM because it means running the flash utility (what I obviously have) many times a day. It is also slower to make a fix. The ultimate form is of course as a part of flash utility.
----
Since I made quite a few ATA and SATA "SIM"-s (most likely including the one dosdude1 patched) - this one is of course not a "patch" of any existing SIM. I don't need to do that ;-)
You are 100% correct regarding LZSS. It was a hell to make it in FCode (and I think, I have a bug there: it does not work with Sun...The one I patched was part of the FirmTek SeriTek/1S2 ROM, which I believe you wrote or at least had part in, if I'm not mistaken. Of course I don't have the source, so I simply used a disassembler to analyze the binary, and patched it to remove that worthless EEPROM ID check. I of course did the same with the OS X driver (kext), and also wrote and added an LZSS decompression routine into the FCode ROM, allowing me to store the now-patched OS 9 NDRV ("SIM") in a compressed form, which allows the entire ROM to fit onto a 128K EEPROM.
Makes it WAY easier to flash the SeriTek/1S2 ROM onto normal Sil3112 cards, though of course an updated version built and released by yourself would be even better.
I've attached my Forth implementation of the LZSS decompression algorithm. Feel free to use it if you want, it was actually not too bad to implement. (This is actually a second implementation, based off another, but broken, Forth LZSS implementation I found online).You are 100% correct regarding LZSS. It was a hell to make it in FCode (and I think, I have a bug there: it does not work with Sun...). One day I may figure it out, why is that. The LZSS is there more because the Intel / Vitesse chip has only 128KB ROM space, less for obfuscation. Still, sometimes the SeriTek/1Vxxx cards won't start on Mac (and never start on the Sun).
As for the SIM and KEXT: the 1SE2 is far more advanced than the 1S2 because it supports hot-swap.
But by today's standards both are pretty much outdated... I am looking at what I did back than - and shaking my head.
Correction: I use LZARI or whatever is it's name.
Thanks - will try that later. As far as either 1S2 or 1SE2: neither knows much about SSD-s and back than the faulty Marvell bridge chip was the norm. So I had to slow down from UDMA-133 to UDMA-100.I've attached my Forth implementation of the LZSS decompression algorithm. Feel free to use it if you want, it was actually not too bad to implement. (This is actually a second implementation, based off another, but broken, Forth LZSS implementation I found online).
I may consider patching the 1SE2 ROM as well, but I really don't see a need, as I don't think I've ever had a need to hotswap a SATA device.
Ahh, well that explains the max 100 MB/s speeds, then. Interesting about the Marvell SATA-IDE bridge, these days the 88SA8040 and 88SA8052 seem amazing compared to the horrible garbage JMicron JM20330 chipset seen on a lot of cheap Chinese SATA to IDE adapters these days.Thanks - will try that later. As far as either 1S2 or 1SE2: neither knows much about SSD-s and back than the faulty Marvell bridge chip was the norm. So I had to slow down from UDMA-133 to UDMA-100.
That's right: neither 1S2 nor 1SE2 does support UDMA-133, they set up the speed to UDMA-100.
In the theory this should not matter because SATA-150 runs always at 150MB/Sec. However these times the SATA drives were in the fact fake SATA drives, implementing that faulty Marvell bridge on the PCB.
The only exception was Seagate - but their "Avalanche" drives have a nasty habit of fail when the write transfer is 15x + 1 blocks. The Linux code for 3112 / 3152 / 3114 has a quite bad fix... mine was better (but of course such fix can't be perfect). Just google at the Seagate Errata with 3112 / 3152 / 3114 and Linux.
Interestingly, the Linux info is not perfect - we got better details from SImage back than, so I could implement a better workaround.
Regardless: the Avalanche drives and the faulty Marvell PATA <--> SATA bridge are long history, so even from that perspective the original driver set of 1S2 / 1SE2 is also a history.
That said, there are (quite) some synchronization problems with the SIM, so the rest is not perfect either.
I still think that if someone is OK with the old driver: do not fix what is not broken.
Otherwise see the beta4 and beta5 from today.
The different question: of course, no copy protection is perfect and ideally there shouldn't be any.
But how can I make living than? Asking for donations?
Recently someone wanted to get from me the license for an "amazing" $5 / ROM. No comment about this.
Unless of course the $5 / ROM driver set does not support 48-bit LBA, does not support hot-swap and has other limitations (like nagging window).
In my experience, 3112 (1S2's firmware) and 3512 (WieBeTech's firmware) both have problem (system hang) in OS X when I connect two Seagate drives or even one WD and one Seagate drives to the card. May be that is the reason?The only exception was Seagate - but their "Avalanche" drives have a nasty habit of fail when the write transfer is 15x + 1 blocks. The Linux code for 3112 / 3152 / 3114 has a quite bad fix... mine was better (but of course such fix can't be perfect). Just google at the Seagate Errata with 3112 / 3152 / 3114 and Linux.
I am talking about the Marvell 88i8030 bridge. You can find it on the Maxtor DiamondMax Plus 9.Ahh, well that explains the max 100 MB/s speeds, then. Interesting about the Marvell SATA-IDE bridge, these days the 88SA8040 and 88SA8052 seem amazing compared to the horrible garbage JMicron JM20330 chipset seen on a lot of cheap Chinese SATA to IDE adapters these days.
With regard to making a living off these cards... That just simply isn't a realistic expectation, no matter which way you put it. There is a very small market for SATA cards for vintage Macs. Adding needless copy protection only hurts hobbyists, and in the end only serves as a minor inconvenience for a determined individual. The only way I can see to actually make SOME money off a project like this is designing, building, and selling a custom card with your ROM pre-flashed. People WILL pay for that, but not some astronomical cost ($100+), as again these are for vintage machines.
These days, with these machines getting on 20+ years old, such projects should be treated more as a hobby, and not something to make large sums of money off of. This is exactly how I treat such things; for example, the IDE SSDs I've designed I do sell, but I also open-soured the entire board design, and all resources needed to build and produce them yourself. Because, like PCI SATA cards, the market for IDE SSDs is small, and it's worth more to me to have my design open and accessible for others to use and modify as they'd like, rather than keep it locked down and get on people for trying to "steal" my stuff. Again, treating it as a hobby, not a business, because as a business, it is not feasible, nor makes any sense.
I'd say somewhere around $40 or $50, maybe $60 is reasonable for a completely custom, pre-flashed card with your firmware. I REALLY would not resort to any sort of nagging or feature removal with a "free" version. Make your money with the hardware, and by having a good source where someone can simply buy a plug-and-play card to use in their Mac hassle-free. But do NOT make it an unnecessary pain for a DIY user/enthusiast. If your cards are good and reasonably-priced, anyone looking to buy a pre-flashed card will buy YOUR card, and anyone who would prefer to make one DIY-style wouldn't be purchasing your card anyways. So don't hurt the very few DIY users by adding unnecessary feature removal, nagging, or copy protection; rather, cater to the much larger user-base that would prefer to buy a card pre-flashed.I am talking about the Marvell 88i8030 bridge. You can find it on the Maxtor DiamondMax Plus 9.
My drive is from Aug. 14 2004. The later Marvell bridges are better. But back these days both WDC and Maxtor used the same 88i8030.
The JM20330 is OK, if you are lucky to find the proper manufacturer. Most sold on the fee-Bay are made at the same bad place. Ultimately I bought (quite a) few good ones. But not before got burned by some of horrible design.
The 3112 and it's siblings aren't to make much money today: the performance is quite bad.
However they are good enough to spread the word.
For now I think at least the enabler(s) (both "SIM" and KEXT) for PowerBooks will be full-featured and free.
What do you think is a reasonable amount of money people should pay extra compared to "regular" PC cards?
$100 is of course ridiculous, but IMO so is $5.
Or maybe the best solution could be a "nagging-ware"? No lock in any form, just a window appearing every "X" number of minutes politely nagging to donate "Y" amount of Bucks via PayPal? Once the money is donated, the driver is updated to a non-nagging version.
Custom cards should be made with other chips (like 3124 and similar) where performance is better.
And of course there should be a PCI-X to PCI-e bridge. On a G5 with PCIe slots I did achieve over 700 MB/Sec with an NVMe drive running Leopard.
NVMe on Tiger or earlier is a challenge - but on MacOS 9 I think NVMe is easier than on Jaguar, Panther or Tiger.
On Leopard it is pretty straightforward.
Same about SAS controllers - but without a proper PCI-X bridge we are stuck at PCIe G5 or later.
Thanks, going to look into that when the focus is on the "X" driver. For now the priority is to complete the new SIM.In my experience, 3112 (1S2's firmware) and 3512 (WieBeTech's firmware) both have problem (system hang) in OS X when I connect two Seagate drives or even one WD and one Seagate drives to the card. May be that is the reason?
To use two Seagate drives in OS X, I have to use two 3112 cards, one for each drive.
Strangely, such problem doesn't occur in OS 9.
Good point and fair price.I'd say somewhere around $40 or $50, maybe $60 is reasonable for a completely custom, pre-flashed card with your firmware. I REALLY would not resort to any sort of nagging or feature removal with a "free" version. Make your money with the hardware, and by having a good source where someone can simply buy a plug-and-play card to use in their Mac hassle-free. But do NOT make it an unnecessary pain for a DIY user/enthusiast. If your cards are good and reasonably-priced, anyone looking to buy a pre-flashed card will buy YOUR card, and anyone who would prefer to make one DIY-style wouldn't be purchasing your card anyways. So don't hurt the very few DIY users by adding unnecessary feature removal, nagging, or copy protection; rather, cater to the much larger user-base that would prefer to buy a card pre-flashed.
Well, if you do want to go this route, I can make a PCB design for you, based on the chipset of your choice. I have many of these SATA cards I can disassemble and reverse-engineer to derive a schematic from. Manufacturing-wise, many PCB manufacturing facilities, such as JLCPCB, PCBWay, etc. offer SMD assembly as well, where you can simply provide them a BOM and source for the parts, and they will assemble the boards for you using a pick-and-place machine after manufacturing them.Good point and fair price.
The only problem is to find a proper manufacturer. For now: the only manufacturer I found is willing to pay $5. And it is IMO an offense. Do not want to mention who is that manufacturer - but I am reluctant (mildly speaking!) to provide a full-featured solution (SIM + OF + KEXT) for $5 / card. If he would keep the price closer to your range than it won't be any question.
The other problem are the manufacturers of 3112, 3114 and 3512. Even if they know that in order to be compatible with "Digital Audio" and "Quicksilver" Macs these cards require a slightly more expensive 3.3V regulator. All the manufacturers (even the one who manufactured for us the SeriTek cards) resort to cheaper regulator which won't allow the involved machines to wake up from sleep.
And in order to save additional few Cents, the ROM used now in 3112 / 3114 / 3512 is merely 128KB, forcing me to be very cautious with the code size.
All this makes me wonder, maybe the VIA6421A chipset is more convenient, than Silicon Image. True, the ROM size is a mere 64KB, but I can deal with a minimal bootstrap driver and the rest is loaded from the disk. Here the "9" would be the highest priority, having a minimal KEXT in the ROM and using it just to load a full-featured one from the disk is not a problem.