Anybody fancy coding this?

2»

Comments

  • edited March 2007
    One of my fave's...

    Every OS Sucks by Three Dead Trolls in a Baggie


    Well, way back in the olden times,
    my computer worked for me.
    I'd laugh and play, all night and day,
    on Zork I, II and III.

    The Amiga, VIC-20 and the Sinclair too,
    The TRS 80 and the Apple II,
    they did what they were supposed to do,
    wasn't much... but it was enough.

    But then Xerox made a prototype,
    Steve Jobs came on the scene,
    read "Of Mice and Menus," Windows, Icons
    a trash, and a bitmap screen.

    Well Stevie said to Xerox,
    "Boys, turn your heads and cough."
    And when no-one was looking,
    he ripped their interfaces off.

    Stole every feature that he had seen,
    put it in a cute box with a tiny little screen,
    Mac OS 1 ran that machine,
    only cost five thousand bucks.

    But it was slow, it was buggy,
    so they wrote it again,
    And now they're up to OS 10,
    they'll charge you for the Beta, then charge you again,
    but the Mac OS still sucks.

    Every OS wastes your time,
    from the desktop to the lap,
    Everything since Apple Dos,
    Just a bunch of crap.

    From Microsoft, to Macintosh,
    to Lih-- lie-- lih-- lie... nux,
    Every computer crashes,
    'cause every OS sucks.

    Well then Microsoft jumped in the game,
    copied Apple's interface, with an OS named,
    "Windows 3.1" - it was twice as lame,
    but the stock price rose and rose.

    Then Windows 95, then 98,
    man solitaire never ran so great,
    and every single version came out late,
    but I guess that's the way it goes.

    But that bloatware'll crash and delete your work,
    NT, ME, man, none of 'em work.
    Bill Gates may be richer than Captain Kirk,
    but the Windows OS blows!
    And sucks!
    At the same time!

    I'd trade it in, yeah right... for what?
    It's top of the line from the Compuhut.
    The fridge, stove and toaster, never crash on me,
    I should be able to get online, without a PHD.

    My phone doesn't take a week to boot it,
    my TV doesn't crash when I mute it,
    I miss ASCII text, and my floppy drive,
    I wish VIC-20 was still alive...

    But it ain't the hardware, man.

    It's just that every OS sucks... and blows.

    Now there's lih-nux or lie-nux,
    I don't know how you say it,
    or how you install it, or use it, or play it,
    or where you download it, or what programs run,
    but lih-nux, or lie-nux, don't look like much fun.

    However you say it, it's getting great press,
    though how it survives is anyone's guess,
    If you ask me, it's a great big mess,
    for elitist, nerdy shmucks.

    "It's free!" they say, if you can get it to run,
    the Geeks say, "Hey, that's half the fun!"
    Yeah, but I got a girlfriend, and things to get done,
    the Linux OS SUCKS.
    (I'm sorry to say it, but it does.)

    Every OS wastes your time,
    from the desktop to the lap,
    Everything since the abacus,
    Just a bunch of crap.

    From Microsoft, to Macintosh,
    to lih-lie-lih-lie... nux.
    Every computer crashes,
    'cause every OS sucks.

    Every computer crashes... 'cause every OS sucks!
  • edited April 2007
    Bringing this thread harshly back on topic, while making my Spectrum Diagnostics board, I've run into three different real-world memory failures with 4116 RAM.

    One thing to be remembered is Spectrum memory (on a 48K machine) has 1-bit wide chips. This means if you:

    LD A, %10101010
    LD (HL), A

    thinking you're writing an alternate pattern to memory, you aren't actually doing that - for example, in the lower 16K you'll write all 0s to IC6, all 1s to IC7, all 0s to IC8 and so on. What you have to do to write alternate patterns to memory is (very simply put):

    Set 16384 to hex FF (binary 11111111)
    Set 16385 to 00
    Set 16386 to FF
    ...and so on

    This is because when you select a memory address, say, 16384, all eight 4116 chips are selected, each one yielding one bit. IC6 yields the least significant bit, IC7 yields bit 1, IC8 bit 2 and so on.

    Anyway, enough rambling - but there is a point. I have in my posession three failed 4116 memory chips from two Spectrums that I have repaired. Only one of these chips can be detected by the routine in the start of this thread - when read, this chip always yeilds a 1 whatever you tried to set it with. (My memory tester's first test is a simple set/reset check on each bit in memory).

    The second failed 4116 that I have flips adjacent bits when you set memory. So it gets detected by an inversion test (i.e. clearing down all memory, then setting alternate bits to 1, and checking the memory we haven't yet touched is still set to 0).

    The third failed 4116 isn't even detected by the inversions test (and my ROM code currently tests four inversion patterns - all mem set to 0, then 1s set on even addresses, all mem set to 0, then 1s set on odd addresses, all mem set to 1 and then 0s written to even addresses, and all mem set to 1 and then 0s written to odd addresses.).

    In this final faulty 4116, the influence error is setting a bit more distant than one bit away (this could be caused by faulty row/column address selection in the chip - if the right part of the chip's logic has failed, the memory address being influenced when you set a bit can easily be several kilobytes away, although it's likely to be a whole raft of memory locations getting influenced). My final memory test is a pseudo-random fill test - the entire memory bank is filled with a pseudo random pattern, then the PRNG is restarted with the same seed and its output is compared with the contents of memory. Probably to be thorough, I ought to run this test multiple times with different starting seeds.
  • edited April 2007
    Very clever Mr Winston, and very well put too. :)
    Oh bugger!<br>
  • edited April 2007
    Winston wrote: »
    In this final faulty 4116, the influence error is setting a bit more distant than one bit away (this could be caused by faulty row/column address selection in the chip - if the right part of the chip's logic has failed, the memory address being influenced when you set a bit can easily be several kilobytes away, although it's likely to be a whole raft of memory locations getting influenced). My final memory test is a pseudo-random fill test - the entire memory bank is filled with a pseudo random pattern, then the PRNG is restarted with the same seed and its output is compared with the contents of memory. Probably to be thorough, I ought to run this test multiple times with different starting seeds.

    Don't forget to prefill memory with 0 then run and then repeat after 1 prefill.
Sign In or Register to comment.