Hello world!

Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!

Posted in Uncategorized | 2 Comments

P/SATA compatiblity/native mode

There are actually 3 modes that SATA controllers can operate in:

  • Native mode where no IDE emulation is done and OS uses the SATA controller’s native interface (usually AHCI) as the interface to the hard disk.
  • Native IDE emulation mode where IDE emulation is done and it’s IRQ and base I/O addresses are dynamically assigned by PCI.
  • Compatiblity IDE emulation mode where IDE emulation is done and it’s IRQ and base I/O addresses are fixed at the values dating back to the original IBM PC/AT’s WD1003.

Problem is, these modes are frequently confused, especially because of poor naming.
Most newer motherboard built-in PCI PATA controllers can run in compatiblity or native mode, which is the last two modes above.
Most PCI ATA add-in cards can only run in the first two modes above, as the PCI connector do not support the fixed IRQs needed to run the last mode above without a ISA paddle board.
Older motherboard built-in PCI PATA controllers and all ISA PATA controllers can only run in the last mode above.
On OS support, Win9x, NT 4, and most other older OSes only has built-in support for the last mode above, Win2000 and later and most other newer OSes have built-in support for the last 2 modes above, and Vista and most even newer OSes has built-in support for all three modes.
More on the last two modes above at:
http://www.microsoft.com/whdc/device/storage/Native-modeATA.mspx
http://suif.stanford.edu/~csapuntz/specs/pciide.ps

Posted in Uncategorized | Leave a comment

My opinion on the Apple vs Psystar lawsuit

On the matter of the anti-trust part, I feel it is quite complicated. Here are some facts:

  • In the home computer world, each vendor had it’s own hardware/software stack.
  • The standard language in the home computer world was BASIC.
  • Even in the CP/M world, you did not clone hardware, instead you license
    CP/M from Digital Research and customized it for your own hardware.
  • The IBM PC had BASIC in ROM, with support for cassette tapes.
  • Or you could optionally purchase a floppy drive and run MS-DOS
    or CP/M-86.
  • MS-DOS ended up being the dominant OS for the IBM PC because it was less expensive and available earlier.
  • For several reasons, programs began doing direct hardware access and BIOS calls on the IBM PC.
  • There were several MS-DOS computers that was only compatible at the DOS level, and they unfortunately failed due to the above.
  • This forced more fully PC compatible clones.
  • As a result of that need, Compaq and Phoenix
    Technologies reverse engineered the IBM PC’s BIOS after people tried to
    directly copy it, which was ruled as disallowed in the Apple vs
    Franklin lawsuit. BTW, the BIOS cloners did not copy BASIC, which led
    to the "No ROM BASIC" message.
  • This resulted in IBM PC clones being the de facto standard.
  • Even
    before the IBM PC clones, there was the Apple II clones, one of which
    led to the Apple vs Franklin lawsuit, but these did not become standard
    like the IBM PC clones did, though the Apple II clones did clone BASIC
    unlike the IBM PC clones.
  • In the home computers, major
    parts of the aforementioned software stack was often in ROM, to save
    space as well as taking advantage of the results of the Apple vs
    Franklin lawsuit. The Mac was no exception and in fact a major part of all versions of classic Mac OS is ROM patches.
  • IBM and Apple
    during it’s Mac clone days, as well as a few other vendors developed a
    standard for PowerPC systems called CHRP that was intended to compete
    with the IBM PC clones. As part of porting the Mac OS to support CHRP,
    Apple moved the parts of Mac OS that was in ROM onto the disk.
  • That kind of failed, but after Apple killed the Mac clones, CHRP was eventually developed into NewWorld used in the iMac and later.
  • So
    Apple just after killing Mac clones in 1997, developed NewWorld which
    makes it theoretically easier to create Mac clones (look at the Mac
    emulators for example), but no one did.
  • Then Apple moved to
    Intel, which means that the current Intel Macs are internally almost no
    different from those of a generic PC clone conforming to the
    aforementioned de facto standard.
  • Then people started hacking Intel Mac OS X to run on generic PC clones, and that led to Psystar.

BTW, what if the IBM PC compatible de facto standard did not exist? I
think that each home computer vendor would have it’s own
hardware/software stack, similar to the game consoles of today. And
extracting ROM images from computers for use on emulators would have
become common.

Posted in Uncategorized | Leave a comment

Viruses and user accounts

User accounts do not replace anti-virus software, because user accounts isolates viruses, while anti-virus software eliminates them.
Posted in Uncategorized | Leave a comment

My Opinion on the 2001 MS anti-trust settlement

On the matter of the 2001 MS anti-trust settlement, it did do some good, such as finally inspiring MS to add missing APIs, such as GetProcessId.
Posted in Uncategorized | Leave a comment

iPhone and GPLv3 problems

From http://forum.roughlydrafted.com/forum/comments.php?DiscussionID=1085 relating to the anti-Tivoization in GPLv3 and how that affects the iPhone:
"Well,
there is a paradox here. Remember back in WWDC 2008, they talked about
how the "task manager" is bad. Another reason is that it is too
technical for the average user. The average user will most likely blame
the phone instead. And add the fact that the average user don’t care
about "openness", but FOSS does, and get the issue?"
And believe me, that actually has been happened. Remember Palm?

Posted in Uncategorized | Leave a comment

Architecture astronauts

On the matter of architecture astronauts:
http://www.joelonsoftware.com/articles/fog0000000018.html
Posted in Uncategorized | Leave a comment

Possible HAL combinations in x86 versions of Windows 2000 and later

  ACPI Non-ACPI
APIC ACPI Uni/Multiprocessor PC (pre-Vista)
ACPI x86-based PC (Vista and later)
MPS Uni/Multiprocessor PC
Non-APIC ACPI PC Standard PC

On NT 4.0 and earlier, the ACPI column does not apply as NT 4 and earlier does not support ACPI.

On Vista and later, the non-ACPI column does not apply as Vista and later only support systems that have ACPI.

Posted in Uncategorized | Leave a comment

Virtualization Sprawl

Another cause of virtualization sprawl that is not much talked about is average users trying to run Windows on a Mac. Thanks to Parallels, using virtualization to do this is very common.
Posted in Virtualization | Leave a comment

Important thing about EFI

I talked with Linus on the EFI issue, and the most important things are that it is more complex than the BIOS. In fact I think it is more of an DOS-like OS than a BIOS.
Posted in Uncategorized | Leave a comment