[HN Gopher] With PowerPC, Windows CE and the WiiN-Pad Slate, Eve...
___________________________________________________________________
With PowerPC, Windows CE and the WiiN-Pad Slate, Everyone's a WiiN-
Er
Author : goldenskye
Score : 92 points
Date : 2024-05-05 05:42 UTC (1 days ago)
(HTM) web link (oldvcr.blogspot.com)
(TXT) w3m dump (oldvcr.blogspot.com)
| nubinetwork wrote:
| The shape of that battery looks like it's got a pair of 18650s in
| them.
|
| > This machine came from the Atlanta, Georgia area (snip), and
| certain identifiers left on it trace it back to Patient Care
| Technologies, a home-care, hospice and telehealth software
| provider. It's not clear if this machine was actually in the
| field or only used internally for testing. PtCT was bought by
| Meditech in 2007.
|
| I'm sort of not surprised, the ancient winCE UI is about as
| ancient as meditech's UI.
| WillAdams wrote:
| As a person who really wanted the Sharp Mobilon TriPad PV-6000,
| this sort of thing makes me sad for what might have been.
|
| I almost returned my Samsung Galaxy Book 12 to Best Buy back when
| the stylus was crippled to scrolling by Fall Creator's Update ---
| even now, I constantly have to toggle its compatibility state in
| Windows 11 to use it with different programs.
|
| That said, my next tech purchase is a Raspberry Pi 5 and a Wacom
| One 13 w/ Touch --- hopefully it will work as well as the first
| gen. unit did w/ an rPi 4 and I can get off this software
| treadmill and just focus on using the machine as opposed to re-
| learning whatever UI update MS is inflicting this quarter.
| fock wrote:
| hmmm, Surface works fine with Linux here, so that might be a
| sleeker alternative.
| WillAdams wrote:
| Yes, for folks who can stand NTrig, that works --- Wacom EMR
| or bust here.
| ukuina wrote:
| Why would you prefer one over the other?
| tcmart14 wrote:
| I really wish my wife wouldn't have given her mom the surface
| I bought for her. I was really curious how well Linux would
| work on it while she had it for school.
| mlhpdx wrote:
| Wow. Maybe if WinCE had this kind of thorough documentation back
| then it would have done better. Excellent article and history
| lesson.
| classichasclass wrote:
| (author) Hey, thanks!
| sumtechguy wrote:
| WinCE was an interesting beast. The ones we made were MIPS
| (picked over an ARM system). Running a wildly patched 2.12.
| Also your PCMCIA issues? Trust nothing. It could be anything.
| But my guess is it is the driver, as getting that type of
| flash card to work consistently and correctly takes a steady
| hand. Your flash could also be slightly corrupt. We had
| almost that exact same chipset and found it would randomly
| stop taking commands after awhile and the flash leveling
| would cause writes to time out leaving half written pages.
| You also discovered Visual C++ for wince has a _lot_ of
| interesting bugs. I think it got so bad we were about to
| start breaking each method into one cpp file as things could
| 'smear' between methods before the whole thing went EoL.
| There are newer versions of the compiler that may help some
| (maybe you already have it). If you got into the right
| program (or the right company) you could get the ODM build
| set. Which would compile the whole OS (based on a very
| bespoke version of visual studio 6 and a crazy mixture of
| using mklink and crazy batch files). But it would also let
| you debug the drivers. As for my 'trust nothing' I mean it.
| The API calls that should 'just work' may randomly crash or
| leak. Good luck!
| JoeAltmaier wrote:
| We had the ODM. Had to rewrite critical pieces of it to
| make it work at all. The timer service had races - we fixed
| it and offered the fixes back, but arrogant Microsoft
| wouldn't take them, they were smarter than us and didn't
| need our help. So we had to repatch every release as they
| shipped the same broken code again and again.
|
| Had to rewrite the DHCP code, theirs was one run-on
| procedure written by some intern. Didn't handle half the
| cases, took forever to conclude if it ever did at all. We
| needed to roam across subnets on the order of 100's of ms.
| Theirs took seconds to maybe complete. Junk. They of course
| rejected that too.
|
| Best if WinCE were buried and forgotten?
| sumtechguy wrote:
| I think MS didnt really 'own' the code. There was another
| company (b squared?) that owned large portions of it. We
| had the same DHCP issue. Also fixed _many_ bugs in the
| ATL code taking up precious flash space for our bespoke
| version as we were 2 vendors removed from getting to talk
| directly to MS.
|
| > Best if WinCE were buried and forgotten?
|
| I am going to say yes. If someone ever finds one of the
| ones I worked on, my advice is to set it on fire then
| once it is done smoldering bin the thing and just get
| something better.
| garaetjjte wrote:
| From my experience (though it was with CE 7) I got the
| impression that core kernel code is decent, but the rest
| of stack is haphazard collection of barely working hacks.
| APIs look like their NT equivalents, but not really,
| often missing crucial functionality. Documentation is
| often wrong or outdated, especially in BSP area, where it
| frequently mixes up how OAL interacts with the kernel
| with details of the optional PQOAL library. Same thing
| with driver documentation, where it confuses driver
| interface with describing MDD libraries. Finer semantics
| of the interfaces are mostly guesswork. Multiple barely
| documented touch device stacked on top of each other,
| with various ways of loading the driver and sending
| events to GWES. And the build system... that thing is
| just hideous.
| JoeAltmaier wrote:
| If I remember right, Bill set several teams to writing an
| os for devices. The one that finished first, shipped. The
| 'winners' weren't even OS programmers. Thus, the naive
| implementations of so many critical OS functions
| (drivers, timers, interrupt handling, flash)
| classichasclass wrote:
| Wow, I had no idea it was that iffy under the hood. I might
| do more messing with the flash if it gets goofier. Yes, the
| issues with VC++ got annoying in a hurry.
| sumtechguy wrote:
| Had one bug where we had a stray tab between methods.
| Would cause it to crash out the compiler. Putting us
| squarely in the no tabs camp.
| dfox wrote:
| It is somehow weird to see MPC821 in this kind of device. The
| point of (Power)QUICC line is that the Communications Processor
| is some kind of RISC/VLIW core, that offloads various
| communications tasks and has firmware support for various serial
| telco protocols. I would not be too surprised if MPC821 and
| MPC860 are in fact the same hardware only with different firmware
| that somehow bitbangs the LCD interface by (ab)using the SCC
| channels (original m68k QUICC datasheet mentions that there is a
| way to make one of the channels behave like Centronics parallel
| port).
|
| In any case PowerQUICC with LCD interface is a device that is
| quite obviously meant for something like dektop phone with large
| LCD, not for tablets.
|
| Quite large usage of PowerQUICC were Cisco 17xx/26xx series
| routers (with 16xx using m68k QUICC) that were used by many
| telcos in early 2000's as "SHDSL modems". If you squint enough
| the m68k QUICC is an entire Cisco 2500 on a single chip (with the
| added benefit that the QUICC SCC can more or less do scatter
| gather DMA directly into IOS's particle buffer datastructure,
| which IIRC was not the case with the Z8530-derived USARTs in
| 2500).
| Aloha wrote:
| We're still shipping hardware with PowerQUICC stuff in it, its
| used in a TDM/IP intelligent channel bank.
| sedatk wrote:
| Wow, the author's gone above and beyond. Pages and pages of
| useful information, and this statement is just in the middle of a
| sentence:
|
| "turn this into a phony ELF binary"
|
| That would alone take me days to tackle (convert a PowerPC PE
| into a PowerPC ELF). He mentions it like it's similar to copying
| a line on a text editor.
|
| Totally amazed at the level of detail and amount of work went
| into this article. Thanks!
| classichasclass wrote:
| (author) Thank you! But this was actually not very difficult.
| The PE format is well-documented, so I just extracted the code
| segment addresses, then generated an ELF by emitting code like
| this with a hacky Perl script: .globl main
| main: trap .byte 0xfc .byte 0xff
| ...
|
| etc. Assemble, run that in gdb, it traps immediately, and just
| disassemble from PC.
___________________________________________________________________
(page generated 2024-05-06 23:01 UTC)