Wikipedia:Reference desk/Archives/Computing/2014 October 20

= October 20 =

i386 Windows application compatibility across platforms
Can Windows versions for other platforms, such as arm (CE/RT), axp64 (NT4), ia64 (XP/2003*/2008*), mips (CE/NT4), powerpc (CE/NT4) and superh (CE), run native i386 DOS, 16-bit Windows (Windows 3.1) and 32-bit Windows (e.g. Windows 9x/Me/2000) applications? For amd64 (XP+), I know it can't run DOS nor 16-bit Windows applications but it can run 32-bit Windows applications. 125.163.230.152 (talk) 01:45, 20 October 2014 (UTC)


 * This page makes me think that Windows for Itanium/IA-64 has bundled support for 32-bit x86 executables. As far as I know Microsoft never supported x86 emulation for other architectures, but I have no source for that. Of course, any version of Windows can run anything with third-party emulation. -- BenRG (talk) 02:57, 20 October 2014 (UTC)


 * Thanks for the information. 125.163.230.152 (talk) 04:11, 20 October 2014 (UTC)

Upon further research, I conclude that the ability to run programs for different platforms is handled by Windows "subsystems." The subsystem for running DOS and Win16 programs is called NTVDM. According to the article, it exists in all <tt>i386</tt> Windows and all platforms (<tt>i386</tt>, <tt>axp64</tt>, <tt>mips</tt> and <tt>powerpc</tt>) of Windows NT 3.51 and 4.0. The subsystem for running Win32 programs is called WOW64. According to the article, it exists in all <tt>amd64</tt> and <tt>ia64</tt> Windows though the performance is vastly inferior in <tt>ia64</tt> platform due to emulation overhead. There are also other subsystems for running other kinds of programs in Windows. I've read things like OS/2 and UNIX (Interix/SFU/SUA) subsystems but they are not enabled or installed by default. Moreover, the WOW64 subsystem is not installed (or enabled) in <tt>amd64</tt> Windows Vista/2008/7 Setup so you can't run Win32 programs there. So I am thinking a subsystem is more of a component which can be enabled or disabled, installed or uninstalled etc., and unless explicitly said to exist, it probably doesn't exist in other platforms of Windows. 125.163.230.152 (talk) 04:11, 20 October 2014 (UTC)

Place to buy old PCs?
Is there a place to buy old, outdated PCs for cheap? Like, PCs that were going to be thrown out anyway? Anything down to and including a 286 would suffice for my current project, so the cheaper the better. Horselover Frost (talk &middot; edits) 03:09, 20 October 2014 (UTC)


 * You would be surprised what you can find on eBay and Craigslist. RegistryKey(RegEdit) 03:38, 20 October 2014 (UTC)


 * There's a local store here that sells used furniture, appliances, books, CDs, etc. Even 8 track tapes.  They also have a computer section.  Maybe there's one like it in your area.  Or maybe a few Raspberry Pis will do what you want.  Dismas |(talk) 03:42, 20 October 2014 (UTC)


 * I've bought a ton of PC's and laptops at Discount Electronics over the years - they have $100 machines (with Windows XP) or $50 machines (with Linux) that are reconditioned and work great. The best deals are to be had by going to one of their stores - but very often the cheapest machines are slightly strange in some way...I bought three that came from Cinemark movie theatres that had mounting brackets to fit them under desks and no audio outputs.   I agree with Dismas that for lots of those kinds of project, a Raspberry Pi will suffice.  I actually prefer the BeagleBone - but both are fairly cheap and run Linux quite nicely.
 * SteveBaker (talk) 20:44, 20 October 2014 (UTC)

I've picked up a lot of computers from the recycle dropoff. It is free (and they often have a lot of commercial software on them). 209.149.113.162 (talk) 18:46, 24 October 2014 (UTC)

Firefox dejo de reproducir videos en vivo de globovision.com
Hola, Firefox dejo de reproducir videos en vivo de globovision.com

Todo lo que veo es una ventana negra y a pesar de que dice "playing" no se ve nada.

Alguien sabe como solucionar este problema?

Gracias, AK — Preceding unsigned comment added by A723 (talk • contribs) 11:09, 20 October 2014 (UTC)

How to find full name of my Laptop so I can order the right battery, as I need a New one?
My laptop's battery is spent. When I have put in the charger it won't recharge. I can still use the laptop though on 0% battery, so long as the charger is in. Probably not gonna last much longer. Anyway, it is clear that the battery is spent and that it needs changing...

Problem is I don't know what laptop I have so I can't really go about ordering a new one.. All I know is that I have a Toshiba. Where do I see the whole name or model or whatever of the laptop? Is it on the underside of the laptop? There are lots of rows of digits and letters, like a serial-number and other stuff I don't know what is. I don't know what to look for, so any help would be appreciated :) Maybe serial-number is all I need?

Also, new battery is probably expensive, right? Will I get more for the money if I buy a brand new laptop? Considering that the laptop is only 2 years old it's disappointing that the battery is spent already.

84.211.153.120 (talk) 12:26, 20 October 2014 (UTC)
 * Enter the serial number here http://www.toshiba.eu/innovation/generic/SUPPORT_PORTAL/ It might help you identify the laptop --TrogWoolley (talk) 14:23, 20 October 2014 (UTC)


 * Or try here: http://www.toshiba.com/us/laptops/battery-finder The second part of your question will depend on too many things to speculate. 196.213.35.146 (talk) 14:26, 20 October 2014 (UTC)
 * If the straightforward approachs (see above) fail, this Toshiba support page contains some helpful guidance about using the "device ID" (all IDs "should" be noted on a label on the laptop's back) and device manager (under Windows). GermanJoe (talk) 14:35, 20 October 2014 (UTC)

Thanks goes to all of you. You truly are a helpful bunch ;D 84.211.153.120 (talk) 15:15, 20 October 2014 (UTC)


 * Your battery should not be showing 0% after only two years of use. The laptop on which I am typing this is more than 7 years old and the battery is showing 100% with the charger plugged in.  Admittedly, this quickly falls to zero when the power supply is unplugged, but the battery has not failed completely after seven years of constant use.  This makes me wonder if it is the charging circuitry or the battery connection that is faulty.  I should get advice from Toshiba before buying a new battery.    D b f i r s   16:16, 20 October 2014 (UTC)

Microsoft Word Security Notice
In a Word doc (Word 2010) I've posted online, and also sent as an email attachment, when I click any link I get a "Microsoft Word Security Notice" saying, "Hyperlinks can be harmful to your security and data. It is important that this file is from a trustworthy source." Then it gives a file name such as "https://en.wikipedia.org/wiki/Museum_of_Anatolian_Civilizations" and continues, "Clicking yes will enable all the hyperlinks in this file, for this session. Do you want to continue?"

All the files it shows are legitimate.

What should I make of this? --Halcatalyst (talk) 15:47, 20 October 2014 (UTC)
 * This is a security feature of Office. Microsoft has an article on how to disable this. --  Gadget850talk 17:35, 20 October 2014 (UTC)

Microsoft Office 2013 installation
My father's computer recently crashed so badly it required resetting its entire Windows 7 system to its factory settings. My father keeps all his personal files on a separate USB hard disk, but this resetting wiped out all his installed programs. After the reset, the system has Microsoft Office 2010 installed, but it is not activated yet. My father bought Microsoft Office 2013 separately, and he still has the activation code, but neither of us could find any installation medium. The activation code for Office 2013 won't work with Office 2010. Where can I find the actual installation medium for Office 2013 so I could install it on my father's computer and activate it with the code? J I P &#124; Talk 17:15, 20 October 2014 (UTC)
 * You can download it from Microsoft. You probably want the option "My copy of Office came with a disk." --  Gadget850talk 17:19, 20 October 2014 (UTC)

Commodore 64 demos
I've watched a few Commodore 64 demos on YouTube recently, and was genuinely impressed. I know some 6510 assembler programming, and have even made a semblance of a BASIC extension purely in assembler, but these demos are currently far beyond my Commodore 64 programming skills. I'd just like to first ask one question. Pretty much every demo I have seen routinely features 160×200 pixel, or even full 320×200 pixel, pixel-by-pixel graphics in all 16 colours. As far as I know, the Commodore 64 can only natively display two graphics modes: 320×200 with a single uniform background colour and a single unique foreground colour in each 8×8 block, or 160×200 with three common colours (background and two others), and again a single unique foreground colour in each 4×8 block. Attempting more colours results in attribute clash. But the demos I've seen on YouTube don't seem to have this problem, but instead can colour individual pixels in all 16 colours freely. How did they do this? J I P &#124; Talk 18:14, 20 October 2014 (UTC)
 * Commodore 64 demos and links may help. --  Gadget850talk 18:19, 20 October 2014 (UTC)
 * The article talks about many custom graphics modes but does not mention how they are used. I suppose all these can be accessed simply in 6510 assembler, by  with some value and   it at some location. But I'd like to know the details. Is there any documentation on how one accesses these custom graphics modes?  J I P  &#124; Talk 18:26, 20 October 2014 (UTC)


 * A great deal of the fancier tricks one could do on a C=64 involved manipulating the registers of the VIC-II chip dynamically, in real time, and sometimes exploiting bugs in the chip. The chief mechanism is using multiple raster interrupts. A raster interrupt is set (using the VIC-II register mapped at $D012) to occur at a specific scan line. The initial intention of this was for programs to set this to a point in or near the vertical blanking interval; programs could set the VIC's scroll registers, and manipulate the memory mapped into the VIC's 16K window (which, subject to more register settings, corresponded to the character mode screen, screen bitmap, and colour map). So this was how vsync was to be implemented. But as there's no driver and no API, the registers are exposed straight to a program; and because there's no dedicated video ram (the VIC simply saw part of the system memory space, be that ROM or RAM) a program could manipulate that in real time too, with no (additional) lag.  [Note incidentally that here when I say "vertical border" I mean the horizontal strip and the top and bottom of the screen, and "horizontal border" I mean the vertical strips at the left and right; this nomenclature makes sense when you think about the screen from the perspective of the raster and the PEL generator inside the VIC chip]. Real time really is the essential thing here.  With skilled use of raster interrupts, programs could:
 * Set an interrupt for scan line Y=a, do stuff then, set another interrupt for Y=b, do different stuff, and so on. It was certainly possible to set up 20 or more horizontal zones this way (handling the interrupts takes time, and "do stuff" takes more time too, so one couldn't get an interrupt per scan line). So one zone could scroll and another be fixed; one could be multicolour mode and the other hires mode, etc. Programs like Boulder Dash used this to have a static area (to display scores) and a scrolling playfield below it.
 * Then people realised that a raster interrupt could manipulate sprites. the C=64 had only 8 sprites, all rather small. If you changed the sprite x and y locations in each raster interrupt, you could have 8 sprites per zone; if you also manipulated the data pointed to by each sprite, each zone's version of a sprite could look different. This is fun for demos, but not so much for games - having 8 zones with 8 sprites in each doesn't mean you have 64 independent sprites - your game can't have 64 individual spaceships flying arbitrarily around, as each has to stay in its slot (or you need a pretty clever scheme to allocate them, and make sure you're not every trying to have more than 8 at a time).
 * People used the above strategy to make "megasprites", where big boss monsters were composed of layers of sprites which all moved around in a block. So you might have a megasprite that was 6 sprites wide (leaving 2 for the player and his missile), and the megasprite might be 6 layers high (meaning 6 dynamically repositioned raster interrupts).
 * You'll notice the C=64, like other machines of its era, had a pretty large horizontal and vertical border. This was because they rendered to analog TVs, which were very variable in what they could display. The VIC-II had essentially an internal operation that operated when the scan line was at the top of the bottom border, where it set itself to "border" mode (it would push only the border colour register out to the pixel generator, not video memory), and another operation when the scan line was at the bottom of the top border, where it would go back to normal operation.  Then someone discovered the VIC-II has a bug.  If you set a raster interrupt for just the right scan line (I think it's either the top of the bottom border, or a line before it), and you positioned the Y coordinate of a sprite just so (I forget exactly how, but it was to start on that scan line or so) the VIC-II failed to turn the "border" on; it rendered the background colour instead. This wasn't all that useful, but it did allow one to position sprites in what had been the top and bottom border, and they'd display.  With more interrupts, and more deft positioning of sprites, one could kinda display in this overscan area, all the way to the top and bottom of the screen.  But the VIC-II wouldn't display characters or bitmapped (non sprite) data, so there was only so much you could do with that.  Again demo authors had more use of it than games did - there were lots of demos that put bouncy scrollers down into that area.  If you've seen them, you'll see that the same scroller is often at the top and the bottom - this is because TVs would often display the sprite in this no-go area in both the top and the bottom (that's why the C=64 had the borders in the first place).
 * You'll have seen lots of demos and games that do this, but that have the telltale "raster flicker" - where the code running in the raster interrupt runs when the raster itself is in the middle of the screen (so a given scan line is in the "before" domain up until a given X location, and in the "after" domain right of that); and because the timing isn't very stable (and the CPU is so slow that only a few instructions run per horizontal pixel) that update point would typically wobble back and forward slightly. It was possible to poll the horizontal position of the raster, but not to interrupt on it. People eventually found ways to work around this, which required thinking about what has happening down to the cycle; an example is here - note all the NOP waiting to get things just right.
 * Now we've (kinda) turned off the top and bottom border, can't we turn off the horizontal border too? That's much harder.  People tried effectively bit banging the border colour register when the raster was in the border area, but this again isn't fully time-stable, and the CPU is so slow that you couldn't do it per-pixel. So again it was more useful to demo authors showing off than to games trying to render useful things.  I think someone eventually found a mechanism for sort-of displaying sprites in the horizontal borders too, but it was still fully CPU intensive (so if you wanted to render chunky sprites over the whole screen, it effectively look almost 100% of the CPU).
 * Next is vertical resolution. These home computers mostly output onto 625 line PAL or 525 line NTSC TVs (of which about 576ish and 4?? scan lines were actually visible). But these were interlaced displays, when only every other line was rastered each "frame"; the raster then retraced to the top and did the other lines on the second. So the actual rate at which the raster illuminated the phosphor dot (don't think pixel, yet) on a PAL screen was 25Hz, and 30Hz on NTSC. That's slow enough for the human eye to see the change; makers of TV programs had to make sure that they didn't have sharp vertical transitions (particularly on on-screen graphics like sports scores or logos) from black to white, as this would cause a very visible flicker when the apparent transition seemed to bounce up and down (at 25Hz). To avoid this, 8-bit console and home computers just doubled down, rendering the same pixel value in both frames - this effectively halves the vertical resolution (which is why the C64, spectrum, etc. all have a vertical resolution that's about 200 pixels). Plus memory was expensive back then, and doubling the RAM needed to store a screen was a real cost item. Now the VIC-II doesn't expose which of the two interlaced frames it was rendering, but if you kept track yourself, you could alter the screen registers yet again and try to send different data in the A frame and the B frame. So you've sorta doubled the vertical resolution, but at the expense of turning it into a very visible interlace mode; you either have utterly hideous interlace flickering or you have to only display an image that (like those TV scores and graphics) has been expertly smoothed to minimise the raster effects).  And we've doubled the amount of memory we're using, and crucially we're using a great proportion of the CPU to manipulate that (the CPU really isn't fast enough already).  So yet again, it's useful for demos, not so much for general purposes like games.  It's noteworthy that later machines like the Amiga, which still (in part) had to display on PAL and NTSC TVs, did allow full interlaced modes - they could do this because a) they had more memory b) they had much faster CPUs and busses, and c) some (like the Amiga) had a real-time coprocessor which could manipulate the pixel stream in real time without saturating the CPU.
 * I've heard of there being means of manipulating the colours that the pixel generator is emitting to sneak in more colours than the standard 16 colour palette, but I don't know what those were. That might be as "simple" (ahem) as displaying one colour in interlace frame A and a different one in B, and claiming that the interlace flicker effectively "blends" them together (which it really doesn't, except perhaps for the C=64's comparatively rich gray ramp).
 * Some additional reading here and here may get you started, but you'll end up reading discussions of modern c=64 emulators, which have to reproduce all this hairy, analog real-time behaviour and hardware bugs in order to make ancient demos and games run just-so. Anyway, TL;DR: the C=64 doesn't have any fancy graphics modes, but it allows direct access to the ongoing process of generating the screen signal, and by sheer bloodyminded brute force and buggy happenstance it was possible to wrench additional things the hardware designers hadn't thought of (or didn't want), mostly at the expense of all of the machine's useful CPU cycles. -- Finlay McWalterᚠTalk 20:33, 20 October 2014 (UTC)
 * Just wanted to shoot a quick "Thank you," Finlay, for the detailed and interesting answer, especially for a layperson Justin15w (talk) 20:42, 20 October 2014 (UTC)
 * You're welcome. Even though it's decades old, and architecturally has little similarity to modern desktop computers, the c64 is an instructive environment to learn about hardware. The nice thing is that all the hardware chips are right there in the CPU's address space, so you can write code and directly change anything that you want. In a modern computer, even if you're writing your own OS and bootloader and working in assembly from scratch, all the hardware is on the far side of a bus, and most peripherals (USB, hard disks, video, even audio) have a microcontroller (or better) in the device - and it's that (not the CPU) which does the low-level work. As most of those microcontrollers are proprietary, closed environments, you mostly don't get direct access to what's going on any more. -- Finlay McWalterᚠTalk 13:54, 31 October 2014 (UTC)


 * This talk, which I found on Reddit today, discusses the graphics hacks, and expands a bit. In particular:
 * it reminded me what the hack is to turn off the side borders: one has to toggle the screen width bit at a cycle-exact point (just as the raster gets to the edge) on every line.
 * it confirms my suggestion that some of the colour blending is due to interlace-blending.
 * but some of it is that badlines bug (which I didn't talk about, because I don't know enough about it - it's discussed a bit here) which allows a line of colour data to be effectively read twice, meaning (if one changes the colour data between the first and second) it performs a de-facto blend - the demo community calls this "FLI mode", although it's not really a mode in the proper sense.
 * That leads me to this summary of the different "modes" used by graphic demos, which combine all these tricks. Given that all of this is, as I said in my original post, very hungry for CPU cycles just to display static graphics on the screen, I'm personally really impressed at the two games the presenter showed, which do manage to combine these demanding effects with actual gameplay. -- Finlay McWalterᚠTalk 13:54, 31 October 2014 (UTC)

Can I sign up for a hosting plan and have my own VPN?
Can I create my own VPN to get a geo-local address in the US to watch movies (legally?) Is it difficult to install a VPN in a service meant for hosting web-pages? — Preceding unsigned comment added by 81.37.136.167 (talk) 18:43, 20 October 2014 (UTC)


 * If the terms and conditions of the streaming site only permit you to watch the movies in the USA - then routing through a US VPN doesn't affect the legality of you watching them.  It might make it easier to watch them illegally...but that's another matter. SteveBaker (talk) 20:35, 20 October 2014 (UTC)


 * (EC) How difficult it is will depend significantly on what the hosting plan is actually offering. If it's simply offering a webserver (Apache or something) with a few extras installed and all you're really allowed to do is put your files and some other customisations options, it's likely to be rather difficult. If the service offers access to a VM where you can basically install whatever you want, it's likely to be a fair amount easier. However, however easy it is, if you're violating the TOS you agreed to when signing up for the hosting plan, you may find your service revoked at any time. Also, the service may not offer the downstream bandwidth (and may be even the upstream bandwidth) necessary for this, or may charge a fair amount for data usage or something else may mean it won't work very well even if you aren't cut off and can do it. I'm also unsure why you want to do this, instead of using one of the many services which offer this for $3-$10 or so a month (and a few even free). Don't be sure that your home brew service will be better than the service run specifically for that purpose, with hopefully competent technical staff working to ensure it works for their paying customers, just because you're not such an obvious target. Particular since this question suggestions you're perhaps not that competent in such matters. (I've never used such services myself but some of them seem to get decent reviews. And although many of them do offer discounts for yearly subscriptions, there are likely many customers paying month by month who will simply leave if the service no longer lives up to their requirements.)  Nil Einne (talk) 20:46, 20 October 2014 (UTC)

ProBoards page numbers
http://displacedcwloungefan.proboards.com/thread/48/paying-gas

Watch what happens to the page numbers when you scroll down.

What makes that happen?— Vchimpanzee  •  talk  •  contributions  •  20:51, 20 October 2014 (UTC)
 * It is using absolute positioning. Look at the bottom left of Help desk.
 * I've actually disabled that feature, but I remember it. Did you notice the page numbers are in the middle of the page until you scroll down, and then they stay at the top?— Vchimpanzee  •  talk  •  contributions  •  21:27, 20 October 2014 (UTC)
 * I haven't looked at the markup, and it is likely buried in CSS rules. The masthead likely has markup making it the top boundary. --  Gadget850talk 10:16, 21 October 2014 (UTC)
 * Though it's not the top boundary until you scroll down. I'll ask them.— Vchimpanzee  •  talk  •  contributions  •  22:45, 21 October 2014 (UTC)
 * It's probably using some jQuery code (or a jQ plugin0 - see here for an example. AndrewWTaylor (talk) 13:31, 22 October 2014 (UTC)
 * I found this which is similar. The information at the top of the screen disappears briefly and then reappears as you scroll down.— Vchimpanzee  •  talk  •  contributions  •  15:51, 24 October 2014 (UTC)