Say Weeeeeee!

Tuesday, July 16


Daily News Stuff 16 July 2019

But Then What Isn't These Days Edition

Tech News

Video of the Day

Little bastards had it coming.

Disclaimer: I meant to do that.

Posted by: Pixy Misa at 07:19 PM | No Comments | Add Comment | Trackbacks (Suck)
Post contains 151 words, total size 2 kb.

Monday, July 15


Daily News Stuff 15 July 2019

Props Vs Jets Edition

Tech News

  • Parallax's Propeller 2 Rev B eval board is due next month.  (Parallax)

    The Propeller is a 32-bit CPU divided into 8 slices for hard real time tasks.  Rather than struggling to use interrupts to service low-latency I/O, you dedicate a slice to handle each specific task.

    The Propeller 2 is about twice as fast as version 1, and more significantly it upgrades the internal RAM from 32KB to 512KB.  It has all sorts of built-in hardware, so, for example, each I/O pin can be configured to handle either digital or analog signals. It even has built-in VGA and HDMI output.

  • The EU's Galileo GPS satellite network has been down for four days - not one of the 26 satellites is currently working correctly.  (ZDNet)

    Hey, it's July, they're French, what do you expect?

  • It's Prime Day.  Look at all the bargains...  Um, somewhere?

  • Don't blame San Francisco for the rot of New York and Washington DC.  (Bay Area Apologist)

Social Media News

  • So, an Antifa nut grabbed an AR-15, published his manifesto, and attempted to firebomb an immigration detention facility, because, yeah, that totally makes sense to burn down a building with the people you want to save still locked inside.

    The response from social media has been swift and definitive and consisted entirely of crickets chirping.

Anime News

  • Danmachi the movie and zeroth and first episodes of season two are out.  Guess that means it's summer, if we couldn't already tell from the crickets.

Video of the Day

"A fascinating mess, in the best way possible."

Bonus Video of the Day

"Cats and dogs, living together."

Disclaimer: That is a very silly question.

Posted by: Pixy Misa at 08:24 PM | Comments (3) | Add Comment | Trackbacks (Suck)
Post contains 286 words, total size 3 kb.

Sunday, July 14


Daily News Stuff 14 July 2019

Doublesoft VGA Edition

Free Stuff

Tech News

  • The world's worst video card is complete!

    This was part one that sent me down this retrocomputing thought-experiment path.

    And now part two: Life's a finch.

    I love the minimalist DAC he builds.  It's not technically correct but it gets the job done.

  • Watching that video I realised that you can do something really sneaky with software-generated 64 colour video.  You're only using six of your eight bits (assuming one byte per pixel) so the two extra bits can be used to encode HSYNC and VSYNC.

    You don't need to output those on separate pins from a timer; you just need to consistently output one pixel every clock at the correct rate.  Where HSYNC is needed you output a byte with only that but high, and the same for VSYNC.

    Which would be a recipe for disaster if you were directly transmitting the bytes from the frame buffer, but my plan is to use software to create a line buffer first, and put the HSYNC/VSYNC codes in at that stage.

    Which makes my PIC32MX design that much simpler if I can solve the problem those Cornell students ran into with DMA priorities.  Though I can't simultaneously use those bits for Z-channel and H/VSYNC.

    Or...  Can I?


  • That Amiga-on-a-chip from yesterday has couple of little brothers, or possibly sisters - I can mostly decode STMicro part numbers now but I'm not sure which is the gender bit - the STM32F730 and STMF750.  (

    The former is the part used in that Black Ice MX developer board; the latter is sort of half-way between the low-end and the high-end.

    These are also Cortex M7 parts, but slower (216MHZ vs. 400MHz) and with a lot less RAM (256KB and 320KB vs about 1060KB when you add up all the banks).

    The F730 is about A$7.50 locally (qty 1).  I got the description wrong when talking about the Black Ice - it has 64KB of flash and 256KB of RAM.  These parts are designed to be used with external NOR flash, which as I mentioned costs $2.28 for 16MB qty 1, but is slower than internal flash and not great for directly executing code even though the chips can do that.

    The F730 doesn't have the video controller and blitter; but the F750 does, and comes in at A$9.74.  Unless you add external RAM though you're blitting at most 240KB of data so it won't take very long.

    16MB of 200MHz SDRAM costs a whole A$2.53 though.  If that's too steep, 8MB is A$1.81.  Or 69¢ on AliExpress as long as you buy at least 10.

    AliExpress is something of a trip.  What's this chip for $1.23?  Oh, it's a gigabit GDDR3 video RAM?  Cool.  And this one for $15?  It's a Radeon HD 4570 GPU?  And this - wait, that's a 6116, it's a 2KB static RAM chip from about 1982.  Okay, look, that's a 6502.  What did you pull that out of?

  • Speaking of the Black Ice card, the Lattice Ice40 FPGA it uses costs as little as A$2.17, again in qty 1.  It includes 14 256-byte RAM blocks, which doesn't sound like a lot because it isn't, but if you need some FIFOs or dual-ported RAM because you can't get your video timing exactly right in software, that's plenty for both a colour lookup table and a line buffer.

    I was looking at some of Lattice's other parts and it looked like Intel offered better value, because the cheapest Ice40 LP has no RAM blocks at all.  For some reason the even cheaper Ice40 UltraLite does.  The problem is it only has 26 I/Os, which is absurdly constrained.  I need 11 inputs and 12 outputs to do anything with it at all, which leaves 3 for real-world design constraints.

    So the cheapest Lattice part has too few I/Os, and the next cheapest part has no RAM at all.  It's a whole A$5.51 for a part that has enough RAM to be useful (64Kbits) and enough I/Os as well (67).

    I noticed that Intel / Altera also had some amazingly cheap FPGAs - starting about that same price - but didn't check the I/Os column.  Yep, 27 I/O pins.

    The solution if I want a simple 8-bit-style design and not an entire 16-bit Amiga-alike might be that middle chip.  If I make things sufficiently weird in software no-one will care that I'm abusing a hardware video controller to do it.

  • I also looked at free / opensource tiny real-time operating systems.  

    ChibiOS/RT caught my eye, because of the name, and because it has hardware drivers for most of the built-in devices in STMicro Arm chips.  They have a long thread on STM32H7 support - which is the Amiga-on-a-chip - and basically everything works now except Ethernet and then three months ago STMicro released updated hardware.  The two smaller chips use older, well-supported devices and work just fine with ChibiOS.  They have an updated Cortex M7 CPU, but that's basically 100% compatible; it's the I/O devices that cause the difficulties.

    Anyway, it handles stuff like providing a driver for SPI-connected NOR flash so that you can then load a FAT filesystem on top without having to spend every weekend for six months getting that stuff working yourself.

    It looks like the STM32F746VGT7 might be easiest to work with.  It has 1MB flash (so I don't need to worry about external flash) and a video controller (so I just need some resistor ladders, no external FIFOs, LUTs, or DACs).  It has 320KB of RAM (enough for an 8/32 bit system), which is broken into separate blocks but not as many as the H750.  And all the I/O devices are supported by ChibiOS.

    For that convenience though it costs $20.  But I don't need an FPGA or external flash to make it work.  Just the chip, and an oscillator to get the video frequency, and a bunch of resistors and capacitors, and a VRM, and an Ethernet PHY, and an RS-232 line driver, and whatever it is you use for USB.  And is there something that needs to go between the CPU and an SD card?  Probably not since those are passive.  NB: If this ever comes into existence and you blow it up by putting the wrong thing into the SD card slot it's not my fault.

    Update: Wait, if I'm going to build the simpler 8/32 bit version first, I don't need Ethernet anyway.  So the fact that it doesn't work in ChibiOS yet is kind of irrelevant.  I can use the cheaper H750 to do the 8/32 version (just masking off most of the RAM), and then use the exact same hardware for the 16/32 version.

    So one $40 developer board and I'm set!  Where's that Arm Thumb-2 manual?

  • I read the manual on the display controller first.  It doesn't have any way to configure it for line doubling.  As far as I can see, the only way around that is to have an interrupt on HSYNC that subtracts (for example) 320 from the address of the frame buffer for lines 1 through 5 out of each 6 so that the controller keeps trucking along not knowing it's repeating lines.  Only... Not sure if that will work at all.

    Update: Oh, the AAH register might be the key.  Stupid thing only goes up to 768 anyway.  If I decrement that on HSYNC it should send the same line again.  And it is writable just as if they are inviting people to do bizarre horrible things to it.  But...  Ugh.

  • In other retro-nonsense news RetroArch is coming to Steam.  (Ars Technica)

    Of course you can download it for free right now, and it will still be free on - AARGH.


    You have another 24 hours to grab it.

  • A single Atari 2600 cartridge just sold for the price of a four-bedroom house in Bozeman, Montana  (Ars Technica)

    Or...  Wait.  No, it didn't sell.  Faith in humanity restored just a tiny bit.

    You can download the damn thing for free if you really have to.

  • Vaio has a new laptop out.  It seems that the engineers looked at the recently deceased Macbook with its solitary USB-C connector and decided to do the exact opposite.  (The Verge)

  • I haven't read In the Pipeline for a while.  It's a terrific blog that's been going for over fifteen years now, by Derek Lowe, a research chemist working in the pharmaceutical industry.

    The most entertaining section is probably Things I Won't Work With, stories about chemical reagents whose properties are not so much hair-raising as entirely hair-removing.

    A fine example I saw linked on Hacker News is Sand Won't Save You This Time about chlorine trifluoride, a chemical so reactive it will set asbestos on fire.

  • The Epyc 7702P - a single-socket only 64-core server CPU - has snuck out from behind locked doors to post the highest score ever on the SiSoft benchmark.  (SiSoft)

    It posts just shy of 1 TFLOPs double precision, putting it in video card territory.

  • The Radeon VII - which launched at CES in January - has been stamped EXPIRED by AMD.  (VideoCardz)

    It was based on a Radeon Pro card that is still in production (that is, for example, what the new Mac Pro uses).  It was just too expensive to make much sense as a gaming card.

    It will presumably be replaced by a Navi card - at some point.

  • Microsoft has hit one billion installs...  For one single app on one single platform and it's not Windows.  (

    That's not the same as a billion users.  Though they have that too.

  • Dear people who create stuff, stop listening to the people who like your work and pay for it, and pay attention to worthless whining mouth-breathers us journalists instead.  (One Angry Gamer, commenting on a perhaps overly honest piece by VG247)

Anime News

Social Media News

  • How to be Totally Not the Enemy of the People.

  • MSNBC are, as the kids like to say, complete and unmitigated lolcows.

Video of the Day

Well, that was certainly a thing.

But wait there's more.

Music Video of the Day

Bonus Music Video of the Day

No, I couldn't find Dirty Deeds and you can bet that I looked.

Disclaimer: In the future all hardware will be software for 15 minutes.

Posted by: Pixy Misa at 08:04 PM | Comments (2) | Add Comment | Trackbacks (Suck)
Post contains 1795 words, total size 15 kb.

Saturday, July 13


Daily News Stuff 13 July 2019

One Man's Trash Is Another Man's Wait Is That New In Box I Just Paid $300 For One Used On eBay And I Had To Replace All The Capacitors In The Power Supply Edition

Tech News

  • Facebook's $5 billion FTC fine is an embarrassing joke. (The Verge)

  • You know what else is an embarrassing joke? The Verge. (The Verge)

    Mastodon's Nazi problem is that Mastodon is run by Nazis.

  • Apple shut down their Walkie-Talki Apple Watch app because it was more of a walkie-talkie-anyone-can-listenie app.  (Ars Technica)


  • PCIe 4 might actually work on X470 after all wait no it won't.  (AnandTech)

    It's still unreliable and is supposed to be disabled, but some BIOS updates out there do enable it.  That will be fixed.

    Not unreasonable to consider reliability over a questionable performance benefit.

  • Get started in quantum programming with Q#.

    Then wait 30 years for a quantum computer you can actually buy.

  • Want to port Deluxe Paint to your Amiga-like but not Amiga-compatible system? The source is now up on GitHub.

  • Want to build an Amiga-like but not Amiga-compatible system?


    STMicroelectronics' STM32H750VBT6 is just the thing. It has:

    • A 400MHz Arm Cortex M7 CPU core
    • 16KB each instruction and data cache
    • FPU with single and double precision
    • DSP extensions
    • MPU (memory protection unit - not the same as a demand-paged MMU)

    • 128KB flash* on bus D1******
    • 512KB user RAM** on bus D1 (with 64-bit access)
    • Two 128KB RAM banks on bus D2  perfect for double-buffered or dual-playfield video at resolutions like 640x200 or 470x270
    • 64KB fast instruction RAM
    • 128KB fast data RAM (these are wired directly to the CPU)
    • 32KB additional RAM on bus D2
    • 64KB additional RAM on bus D3
    • 4KB of battery-backed RAM also on bus D3
    • All internal RAM has SECDED ECC

    • QSPI for easily attaching cheap external flash
    • Memory controller for SRAM, SDRAM, PSRAM, and NAND and NOR flash
    • 4x 12C
    • 4x UART
    • 6x SPI
    • 2x SD card controllers
    • 2x CANbus controllers
    • 2x USB controllers - one USB 1.0, one USB 2.0, no super-speed here
    • 10/100 Ethernet MAC
    • HDMI-CEC which is not HDM video, just the control signal
    • S/PDIF
    • MDMIO

    • 3x 16-bit ADC with up to 36 input channels
    • 2x 12-bit DAC
    • 2x handy built-in op amps
    • Quad 8-channel digital signal filter
    • Temperature sensor

    • Display controller with dual playfields, alpha blending, and dual 256-colour palettes
    • JPEG hardware codec (no, not MPEG)
    • A blitter (they call it DMA2D but it's a blitter) with its own colour palette for pixel operations
    • A camera interface

    • 22 timers across three timer units
    • Real-time clock
    • Two complex interrupt procesors handling over 250 possible interrupt channels
    • 4 DMA controllers - not 4 DMA channels, but four separate DMA controllers

    • CRC generate / check unit
    • AES and TDES encryption
    • MD5, SHA-1, SHA-2 and HMAC
    • Random number generator

    I'm exhausted just thinking about it.

    It costs A$10.91 qty 1, in stock for immediate delivery.  I checked and in 10K quantity it's just US$3.37.

    It's basically an Amiga 1000 on a chip except running about 400 times faster.  The 7.16MHz 68000 in the Amiga could generally execute one instruction per 8 cycles; the Cortex M7 can do up to two per cycle, and is clocked more than 50 times higher.

    I completely overlooked the existence of this part because the memory configuration is unusual for an MCU.  The PIC32MX has 256KB flash and 64KB RAM (for A$6.65); this has half as much flash but 16 times the total RAM.

    There's a version with 2MB flash but at $19.61 it costs nearly twice as much and I was looking for parts below $15.  But that QPI interface will wire straight into a 16MB NOR flash chip costing A$2.28, or if you need even more, a 128MB SLC NAND chip for A$3.37.

    There's also a developer board for the version with 2MB flash available for A$40.45 (US$27).  The one I found available doesn't have the crypto module probably so that they don't have to deal with export restrictions to naughty bad countries, but it seems to have everything else, including a working Ethernet port.

    The "problem" with this is that it seems to solve all the hardware problems.  There's no longer any clever use of the CPU to handle sprites or DMA to stream the video from a line buffer - which as it turned out wouldn't have worked anyway due to priority conflicts, so maybe that's a good thing.

    Having two independent USB controllers is nice, because it means you can have one connected to a PC for debugging and the other running local peripherals like the keyboard and mouse.  If that doesn't sound important, consider trying to develop keyboard and mouse drivers without it.

    * The original Amiga had 256KB of ROM.***

    ** The original Amiga had 256KB of RAM*****

    *** Actually, the original original Amiga - the one I had**** - had 64KB of ROM and a tiny daughter board with 256KB of RAM. You had to boot a ROM disk first before booting the computer.

    **** I still have it, but it's been upgraded twice. First I put in a full set of ROMs, which gave me an extra 256KB of RAM; then later I replaced the motherboard with a clone with gave me new ROMs and an updated chipset and a full 2MB of chip RAM.

    ***** Actually, the original Amiga had 512KB total RAM because the ROMs weren't ready when it shipped (see above), and most units were shipped with a 256KB RAM expansion cartridge so it had a total of 768KB of which you could only use 512KB until you bought a set of ROMs and installed them.

    ****** D1, D2, and D3 are power domains.  D1 is the CPU itself, D2 is communications, and D2 is reset, clock, and power.  So if you're running on batteries you can put the whole of domain D1 to sleep and have it get woken up again on a keypress or a timer signal.

  • The Black Ice MX has another STMicro Cortex M7 MCU - the F730 as opposed to the H750 - and a Lattice Ice40 FPGA.  (Tindie)

    Just 256KB flash and 64KB RAM on the MCU, but there's another 2MB each of external RAM and flash.  $59.  I was looking at that FPGA to go with the H750 last night, but I think Intel (Altera) would be better for my purposes.

  • If you'd rather not build your own Phoronix has been benchmarking the Raspberry Pi 4 and comparing it to other boards.

  • If either of those options are too fast for you maybe this Z80 system is more your speed.  (Tindie)

    Like an S100 that shrank in the wash, it has a passive backplane into which you plug the CPU board, memory board, serial board, clock board, and so on.  8 and 12 slot backplanes are available.

    Like real S100 systems it gets expensive fast.

Video of the Day

It looks like a typical run-down old second-hand computer store on the outskirts of town.  It is a run-down old second-hand computer-store on the outskirts of town, but it's not exactly typical: It occupies the entire building, including the shop front, several rooms of office space above, and a 38,000 square foot warehouse behind, filled 20 feet deep with stacks of old computers.

Disclaimer: Insert Tab Thingy in Slot Whatever.  Or don't.  I'm outta here.  (Instructions Written on a Friday.)

Posted by: Pixy Misa at 09:02 PM | Comments (2) | Add Comment | Trackbacks (Suck)
Post contains 1236 words, total size 10 kb.

Friday, July 12


Daily News Stuff 12 July 2019

Using Undergrads As Mine Detectors Edition

Tech News

  • So it turns out that someone has already tried to implement my DMA-driven video idea on a PIC32MX.  Two of the students of the Cornell University course I linked to previously did it for their final project.

    Only ICs they needed to add were two 74LS quad AND gates.

    Except they ran into a serious issue, specifically that the CPU always has priority for memory access over the DMA controller.  So they couldn't take their original approach, which was a full-colour display, because the timing wasn't reliable enough.

    Instead they used the SPI to drive a high-speed 640x480 monochrome signal - which is not something I'd thought of - and used the DMA for a low-resolution colour and ANDed the two signals together.  SPI is a neat hack because it that parallel-to-serial conversion is very costly in software but the chip has two SPI interfaces that handle it for free, and at the necessary 25MHz clock.

    It's not perfect, but it's very impressive for a student project.  Remember, this chip has no video hardware at all.  They created VGA graphics out of thin air.

  • The PIC32MX is the only chip available that you can use on a breadboard that can pull this off, and it can't pull it off perfectly.  To get any further you'd need to go to surface mount and either go to all the time and trouble and cost of assembling the boards yourself or ship the designs and parts off to...  Ten boards for $5 plus assembly?  And the assembly is as little as a dollar a board?  Oh, plus $25 setup.

    Well, that explains why no-one does it the old way anymore.  If you plan to produce more than one, maybe two boards, it's cheaper to outsource it all.  Cheaper and much, much easier.

  • I might go back and take another look at Arm chips like the SAM4C32 I mentioned before.  (Microchip)

    Where previously I had exactly four options (plus two variants of the dsPIC audio chip), Mouser has 4,709 different models of Arm microcontrollers in stock.  (Mouser)

    Time for some parametric mining.  I saw that STM had some parts with built-in DACs, which would avoid the need for a separate audio chip.  Although if I'm using surface mount, I can find any number of I2C audio codecs or multi-channel DACs to use.

    If I exclude all parts with less than 128KB of RAM (previously I was planning to use two parts with 64KB) or slower than 100MHz (previously two 50MHz parts) I get down to 1104 choices, ranging from A$5.41 for a basic 120MHz M4F part from Microchip (who also make the PIC) with 256KB flash and 128KB RAM, all the way up to A$178.52 for a Texas Instruments safety-critical microcontroller with ECC parity throughout and dual CPUs running in lockstep like the Tandem Nonstop or the Shuttle flight computers.

    Should be something in there...

    Update: So, two relatively inexpensive options are the STMicro STM32F413RGT6 and the Microchip ATSAME53J20A.  Both are Arm Cortex M4F parts.  The STMicro part has 1MB flash, 320KB RAM, and runs at 100MHz, price $13; the Microchip part has 1MB flash, 256KB RAM, and runs at 120MHz, price $8.  So it's 20% faster but has 20% less RAM, and a fair bit cheaper.

    The STMicro part has a built-in dual 12-bit DAC, which would otherwise cost me $5, making up the price difference.

    The Microchip part has an Ethernet MAC (though not a PHY, so it still needs an external part).  Wait, the Microchip part also has a built-in dual 12-bit DAC.  Hmm.

    The Microchip ATSAME70J20 has 1MB flash, 384KB RAM - so 20% more again - and, um, is Cortex M7 running at 300MHz, putting it in an entirely different performance class.  Three, probably four times faster.  Still a tiny 64-pin package, price $14.  Also available with 2MB flash for another $3, which is about 2000x the going rate for SSD storage but whatever.

  • Update: I've figured out an, um, interesting way to make my original idea work by adding one more part - a 32Kx8 12ns static RAM chip.  I can attach it to the CPLD system controller and use it as the line buffer in place of internal memory.  That can hold 50 output lines, which would make it pretty much immune to glitches.

    The RAM and CPLD are both fast enough to run double the pixel clock if I need them to, but I can probably run at pixel clock and refill during retrace.  If I use the larger size CPLD I can feed the spare output pins of the CPU in as well and have it generate sprites and do 8-bit hardware RGBZ - 64 colours with 4 graphics layers.

    Also, the RAM a 28-pin narrow DIP just like the PIC32MX, the dsPIC33, and the headphone amp.  So it's one row of matching 28-pin parts, one PLCC CPLD, and maybe an 8-pin flash chip if I can source it.

  • I see the good Mike Masnick has the keyboard today: Alexandria Ocasio-Cortez is being sued for blocking people on Twitter.  (TechDirt)

    Mike points out that the arguments trying to differentiate this case from President Trump are pure partisan bias.

  • Why is the Washingon Post publishing blatantly false propaganda?  (TechDirt)

    "Democracy Dies in Darkness" isn't a warning, it's a mission statement.

  • YouTube got something right.  (TechDirt)

    If you file a manual copyright complaint, you now have to specify exactly what parts of the video infringe on exactly what content.  This is good for everyone but the automated DMCA takedown robots.

  • Deuglifying Java.  (GitHub)

    You missed a golden opportunity to name it PyJeon.

  • Twitter fell over.  (Bleeping Computer)

    How could anyone tell?

    "Twitter is broken."
    "Well, yes."

  • An article on consciousness that isn't garbage.  (Quanta)

    Because they interviewed a robotics engineer rather than a philosopher.

  • Creative Assembly, the Total War people, have been busy banning user mods not because there's anything wrong with them but because they upset one of their community managers.  (One Angry Gamer)

    The solution to this problem is to fire your community managers, because they are not just incompetent, but actively and wilfully harmful.


Posted by: Pixy Misa at 06:57 PM | Comments (5) | Add Comment | Trackbacks (Suck)
Post contains 1035 words, total size 8 kb.

Thursday, July 11


Daily News Stuff 11 July 2019

Slow News Day Edition

Tech News

  • Pale Moon's archive server got breached.  (Bleeping Computer)

    The regular downloads were reportedly fine, but if you specifically downloaded an older version any time in the last 18 months, well, time to burn down your house and move to another continent.

  • Apple says no Zoom for your, erases that pesky local web server.  (Six Colors)

    Good riddance.

  • Magecart has infected another 17,000 online stores.  (ZDNet)

    Frigging plague rats.

  • Telstra had an outage that took down ATMs and Eftpos across Australia so if you went to a brick-and-mortar store to get away from Magecart you were in for a bad time.  (ZDNet)

  • You can get serial or parallel-interface 480x320 LCDs right from Amazon.  And they're pretty cheap.  Here's one for $28 for the Raspberry Pi, or if you have an Arduino because apparently Arduino users are perpetually broke you can get one for about one third as much.

    Thinking this might make a good intermediate step to getting video out of my imaginary 8/32-bit computer.

  • Foxtel - originally a joint venture between Fox and Telstra, though I don't know what they ownership is these days - has filed papers to force ISPs - such as Telstra - to block proxy sites.  (ZDNet)

    Fortunately - for the moment - the blocks are completely ineffective.  And exactly how that would change without draconian Chinese-level firewalls is unclear.  I have SSH.  Screw you guys.

  • You know who else liked Battle Angel Alita?  Hitler.  (One Angry Gamer)

    Our layers of fact checkers are at it again - in this case at The Independent.

  • Some reviewers have noted that cooling on the 5700XT is not great.

    Gamers Nexus spent 4¢ fixing it.  AMD is using a thermal pad that will work indefinitely; the problem is it doesn't work very well.

  • Amazon has filed to launch 3,236 broadband internet satellites.  (TechDirt)

    Many years ago I wrote a little computer game called Cosmic Junkman in which you had to fly around and de-orbit old, broken satellites.  Well, I say wrote; I don't think I ever got it working because it was before I had a computer of my own and I could only tinker with it after school.

    Now Jeff Bezos and Elon Musk are making it real.

  • Rubymine is getting support for Crystal.  (Reddit)

    A feature request from 2016 has just been tagged under "new features" by the Rubymine team.

  • That problem with running the Raspberry Pi 4 on some spec-compliant USB-C cables comes down to a single resistor.  (Ars Technica)

    A fixed version should be along in a few months.

Video of the Day

Get your pets bright and sparkling clean by scrubbing them with baking soda.  Safe and environmentally friendly.  You may also need to to touch up the carbon contacts and give it a poke in the backside with a small screwdriver.

Disclaimer: You might believe it's butter.  Somebody likes Sara Lee.

Posted by: Pixy Misa at 09:33 PM | No Comments | Add Comment | Trackbacks (Suck)
Post contains 490 words, total size 5 kb.

Wednesday, July 10


Daily News Stuff 10 July 2019

Fuck I Did It Again Edition

Tech News

  • I was looking for the best option to add sound to my design for an 8/32-bit computer.  My restrictions are that whatever I use for the job has to be cheap - certainly less than A$10; readily available; and hobbyist friendly.  I need something that can drop into a breadboard, or at worst drop into a socket that can drop into a breadboard.  That means either a DIP or PLCC part.

    The usual way to deliver audio these days is to attach a codec to a high-speed serial port such as I2C or SPI, both of which I have available.  Out of more than seven hundred codec chips available, how many support one of those interfaces and come in DIP or PLCC?

    Zero.  Not a single one.

    It turns out that if you want to add audio to a PIC in a hobbyist-friendly way, the simplest - no, the only practical approach - is to use another PIC.

    The PIC16F177x range includes up to four DACs, but you have to be careful because two of them will only be 5 bits and not terribly useful for audio, but one or two will be ten bits.  By comparison, the original Amiga had 8-bit DACs and didn't sound completely terrible.  PIC16 is an 8-bit part (despite the name) but runs at 32MHz so it's quite capable of handling simple audio generation.

    PIC24 is a 16-bit range (despite the name) and also offers internal DACs, but I can't find any parts in a DIP package with DACs.  It's possible they're just hiding, but there is a better alternative.

    And that's the dsPIC33FJ128GP802-I/SP.  It's a 16-bit part too - yeah, Microchip are not good at this - running at 40MHz.  It has up to 128KB flash and 16KB RAM, dual 16-bit DACs (or really, dual 14-bit DACs that take 16-bit input).

    The CPU has DSP enhancements including separate X and Y memory and buses so that it can read two data values per clock cycle, and a single-cycle multiply/accumulate with 40 bit output, saturation and rounding control, and fractional values (though not true floating point).

    And it all comes in a 28-pin narrow DIP just like the PIC32MX270F256B-50I/SP I hope to use as my CPU and GPU.  Cost is actually slightly higher - A$8.19 vs. A$6.65, both qty 1 - which I put down to the DACs.

  • I found a source for RAMDACs.  PLCC-44, which is acceptable.  256x24 lookup table, so 16,777,216 colours instead of 64.  US$3.17.  It's an old Brooktree chip, so it requires a 5V power supply an a 1.2V reference, which is annoying.  They claim to have 152,000 of them in stock, which I guess is possible considering these used to be on every graphics card in the world and the remaining parts had to end up somewhere.

  • Any law you can pass I can pass worser.  I can pass any law worser than you.

    No you can't.

    Yes I can.

    No you can't.

    Yes I can.

    No you can't.

    Oui je peux! Oui je peux!  (TechDirt)

  • Looking for an underpowered laptop with a good screen?  Now's your chance!  (NotebookCheck)

    That said, this is rather Chuwi's stock in trade - they previously had a Microsoft Surface clone with a beautiful 3000x2000 display - and a cheap Atom CPU.

  • Facebook's updated community standards permit users to post death threats but only if they're really annoyed about something.  (One Angry Gamer)

  • Meanwhile Twitter will ban you if you say mean things.  (Twitter)

    Why do these idiots get this wrong every single time?

    Oh.  Answered my own question there.

  • A gigabit of flash costs the same as a megabit of SRAM.  (

    The flash is also faster.  Well, for sequential reads anyway.

Disclaimer: Buggrit.  Buggrem.  Millennial hand and shrimp.

Posted by: Pixy Misa at 08:04 PM | Comments (4) | Add Comment | Trackbacks (Suck)
Post contains 639 words, total size 5 kb.


Daily News Stuff 9 July 2019

Oh No She Didn't Edition

Tech News

  • A roundup of about a third of the announced X570 motherboards.  (AnandTech)

    Not a review - that would be quite the undertaking - but at least all the specs are in one place.

  • Britain doesn't have free speech but is working hard to make things even worse. (TechDirt)

    New legislation would issue fines to internet companies for legal content.

  • What kind of idiots build high-end 1U servers with 3.5" drives in 2019? (Serve the Home)

    It also has a SATA M.2 slot. It's an Epyc platform so it has 128 PCIe lanes, and it has a SATA-only M.2 slot.

    Oh, those kinds of idiots.

  • Now if you want to take a picture of fascinating witches who put the scintillating stitches in the britches of the boys who put the powder on the noses of the faces of the ladies of the harem of the court of King Macbookticus YOU'RE TOO LATE because they just passed by. (Six Colors)

    The 12" Macbook has passed by.

    The so-called Macbook Escape - the cheapest version of the Macbook Pro, the only one that still had a row of physical function keys and thus an escape key - has passed by too.

    The Macbook Air meanwhile got a $100 price cut and version 3 of the Garbage Keyboard.

  • The Raspberry Pi 4 is a powerful single-board computer that identifies as an attack helicopter or possibly as a pair of headphones. (ZDNet)

    Some compliant USB-C chargers and cables (like all the ones sold by Apple) will refuse to power the Pi 4 because it identifies on the cable as an audio device. I expect this will get fixed pretty quickly.

  • Senran Kagura: Peach Ball is a pinball game. (Niche Gamer)

    I kept seeing references to it, but never with the word pinball associated.  Seriously, this is the announcement trailer.  Unless you watched it to the end you'd never guess what kind of game it was. 

    Well, it does say in the description below, but who reads those?

    The launch trailer is just a tiny bit more accurate.

    It actually looks kind of fun, though there are only two tables so replay value is meh until the inevitable DLC shows up.

  • Webpack crushes when tries to print a message about donating in Windows 8.1 (GitHub)
    What is the current behavior?

      Webpack-cli crushes:

        if (!e && fileOwnerId === process.getuid()) utimesSync(openCollectivePath, now, now);

        TypeError: process.getuid is not a function

    To Reproduce

      Steps to reproduce the behavior:

        run npx webpack --config webpack.config.js --mode development on Monday

    Expected behavior

      It should not to stop a webpack process
    They asked the poor guy to send a pull request.

  • Instagram now asks users: Are you sure you want to post that you horrible screaming garbage baby? (BBC News)

    To which Instagram users reply: Have you seen Instagram?

  • Zoom videoconferencing app turns out to be complete and utter garbage on every possible level. (Medium)

    I've used it. Duh.

  • These look like a good way to jump into Pic32.

    The Pic32MX version (currently $20) only has 16KB of RAM so it's not much good for what I want to do, but the Pic32MZ version (currently $23.20) has 512KB RAM and runs at 200MHz.

    Oh, and here's a complete lecture series on using the Pic32 from Cornell University.

Video of the Day

Cat Video of the Day

Disclaimer: Never send to know for whom the pull request tolls, your code fucking breaks if it's a Monday.

Posted by: Pixy Misa at 12:12 AM | Comments (11) | Add Comment | Trackbacks (Suck)
Post contains 583 words, total size 6 kb.

Monday, July 08


Daily News Stuff 8 July 2019

What's That Lassie Edition

Tech News

  • Having a back button on your mouse is really handy right up until you click it in the middly of typing a long post and find that while the backspace key no longer erases everything, the back button sure does.

  • So, I have this great idea for - 

    Available right now starting at €19.95 for the Duinomite Mini(As a side note, the original designer of the Maximite is not entirely happy with Olimex.)

    It uses an 80MHz Pic32MX795 - somewhat faster than the model I chose, but not available in DIP package, and slower and more expensive than the newer Pic32MX4 or Pic32MK that I considered as upgrades.

    I think my video design is neater.  The Maximite has the advantage, though, of actually existing.

  • My video design is more flexible and capable (on paper) than the Maximite, but it does require two separate - what's that Lassie?  Timmy Microchip has a dual-core microcontroller that puts everything I could want in a single package?

    The Microchip SAM4C has two Arm cores running at 120MHz.  CPU0 is an integer-only Cortex M4 with 2MB flash and 256KB RAM, and CPU1 is a floating-point Cortex M4F with 32KB code RAM and 16KB data RAM.

    It's A$13.20 qty 1, so almost exactly twice the price of the 28-pin Pic32 I started this idea with.  But it's more than twice the clock speed, and has two cores, and has eight times the flash and four-and-three-quarters times the RAM.  It's surface mount, but you only have to deal with one of it.

    Now, the 16KB data RAM on CPU1 is not remotely big enough for our frame buffer, but CPU1 can read and write CPU0's 256KB RAM.  (It can't directly access the flash memory, which is why it has its own 32KB of code RAM.)

    So, if we up our base resolution to 480x270 - which is what I wanted all along, and which fits in pretty well with a 120MHz clock - the frame buffer in 256-colour mode will use about half our 256KB. 

    CPU0 can draw merrily away in the frame buffer (rather than sending draw commands over a serial bus) and CPU1 will read from there, perform pixel transforms, and write to the line buffer, which it can then push out over its own DMA channel.

    If we also up the colour depth to 15/16 bits, we'll need a 2KB lookup table and two 1920-byte line buffers (for 960x270 high-resolution mode, 2 bytes per pixel).  Which is no problem even for our limited 16KB.  We're pushing 2.25x the number of pixels of the original design, but wih 2.25x the clock speed, so we're good.

  • Or you can do it the hard way.

    On the other hand, this thing is plotting the Mandelbrot set using nothing but TTL.  It has eight instructions.

    Update: Now with a Basic interpreter.  Running on TTL chips.  With 8 instructions.

    You save your programs by writing them to the buffer on the keboard controller, and load them by telling it to type them back in.

    This one does have 64 colours, which is more than some of the retro models with fancy video hardware manage.  It's amazing what they've managed to get out of this thing.

  • Or you could do it the easy way.

  • Or the crazy way.

    This is an Apple I clone.  Yes, Apple One.

    The video controller is, um, it's a Parallax Propeller.  It's not actually a video controller, not as such, it's more of a, well, more of an 8 core 80MHz RISC microcontroller and a several hundred times faster than the 6502 it's attached to.  And it's pretending to be a serial terminal.

  • What about news, you ask?  What news?  It's Monday in Australia after a long weekend in the US and there isn't any oh wait.

  • AMD's Navi looks to be pretty competitive.  (AnandTech)

    Nvidia countered with their RTX Super but then AMD counter-countered with a price cut.

    As a result, the 5700XT now lines up with the RTX 2060 Super, which it consistently beats.  The 5700 is the same price as the original RTX 2060, and it's both faster and has more memory.

    Pretty solid cards unless you're planning to use them for compute tasks in which case you might want to wait for a driver update or two first.

    The RTX 2070 Super is faster than the 5700XT - but not by much, and it costs 25% more.

  • On the CPU side of things, things are more clear-cut: Intel is toast.  (AnandTech)

    AMD's 3700X is competitive with Intel's i9-9900K, while costing 35% less and using 40% less power.

    The 12-core 3900X simply runs away with the ball any time you fire up a multi-threaded task, and actually uses 15% less power than the 9900K despite having four more cores and a 10% higher rated TDP.

    Did AMD deliver?  They delivered.

    A note on memory and the Infinity Fabric: Ryzen 3000 CPUs support DDR4-3200 at stock, and up to 3733 clocked 1:1 with the Infinity Fabric controller.  Above that it drops down to 2:1 and latency jumps up; AMD recommends DDR4-3600 as the best price/performance compromise.

    As for latency, yes, it's up a little with the new I/O die.  But in benchmarks and real-world tests the huge L3 cache - 32MB on the 3700X, 64MB on the 3900X - means that it simply doesn't matter.

  • Motherboards?  ASRock's X570 Taichi is a solid entry if not exactly inexpensive.  (Tom's Hardware)

    It only has gigabit Ethernet, and the reviewer was not enamoured of the chipset fan, but otherwise it's pretty solid.

    The review mentions a Thunderbolt adaptor, but it is not included in the box.  Some other models do have Thunderbolt either on board or via an adaptor - a first for the AMD platform - just not this one.

  • iBrick, new from Apple!  (Discontinued.)  (

    A carefully formatted text message or email could soft-brick your iPhone.  You could recover by wiping and reinstalling... At least until the next message arrived five minutes later.

    It's fixed now.

  • Time to update the firmware in your...  Keyboard?!  (


  • An introduction to Dockerfile best practices.

    1. Don't do that.  Bad devops team!  Bad!  No biscuit!

  • A Ruby library for checking password strength...  You think you know where this is going, don't you?  (ZDNet)

    Actually, it's worse than that: It didn't just send off all your passwords to a remote server, it scanned your network to see if the password worked anywhere and downloaded and installed a bcakdoor in your own software.

    This is not a flaw in Ruby at all, but in the way we distribute software modules.  What the fix for this is, I don't know.

  • Except that if your server is down, no-one can hack you.  (One Angry Gamer)

  • On fifth thoughts:

    If I did add a third Pic32MX2 as a sound chip, mostly doing polyphonic waveform synthesis in software, maybe a little PCM, it would have enough RAM and CPU resources left over to act as a sprite generator.  If sprites are 16x16 in 256, they'll be 256 bytes each, so you could have 128 of them at once and still have half the memory free for sound. 

    It would use the same LUT and line buffer approach as the video controller, and pre-order the sprites for efficient output to the line buffer.  There would probably need to be a limit to the number of sprites that can coexist on one line.  I might be able to smoosh them all together within the time limit (our software horizontal scan rate is only 5.5kHz), but it could get fiddly.

    A $2.97 44-pin CPLD could act as the video output buffer and system controller.  It's a surface-mount part, but it's PLCC, and sockets for those are cheap and easy to find.  And it's in-system programmable so no worries about getting it wrong the first 97 times.

    Of the 36 I/Os, most would be used right away merging the graphics and sprite data and sending it all out again, but there should be enough left for various control lines.

  • Oh look it's a what the heck.

    Shantae and Studio Trigger?

Video of the Day

You'll need to watch this one on YouTube I'm afraid because the entire channel has been deleted from BitChute and no I didn't get that the wrong way 'round.

Disclaimer: Back button, back button, wherefore art thou, back button?

Posted by: Pixy Misa at 08:50 PM | Comments (9) | Add Comment | Trackbacks (Suck)
Post contains 1409 words, total size 11 kb.

Sunday, July 07


Daily News Stuff 7 July 2019

Seven Of Seven Edition

Tech Thoughts

It's the Sunday of an extra-long weekend in the US and tech news is rather thin on the ground right now.  So here are some random thoughts about bit-banging video cards.

Those videos yesterday about building the world's worst video card made me wonder if there was something in the middle - between breadboarding an entire circuit from 74LS chips and just soldering resistors to a development kit and doing everything in software.

And, it turns out, there is one - exactly one - chip right in the middle.

The Pic32MX2 (PDF) is available in a old-fashined 28-pin DIP (.3 inch, rather than the fat .6 inch type) so you can drop it into your breadboard right beside your quad J/K flip flops and your 8-input NAND gates and it won't look out of place.

But inside is a different story: It's a 50MHz 32-bit MIPS M4K with up 256K of flash and 64K of RAM.  It has SPI and I2C and USB and DMA and counters and timers and analog/digital converters and all that stuff.  Though in the 28-pin package, which is the only one that you can plop into a breadboard, you have a total of 19 selectable I/O pins so all those features are multiplexed to hell.

It's $6.65 in Australia, quantity 1, for the exact version we want: The full 256KB of flash and 64KB RAM, 50MHz (there's a 40MHz version that is slightly cheaper, but that would screw up our video clocks), 28-pin DIP, and USB 2.0 support.

The way I'd probably approach this would be to design it to drive a standard 1080p monitor, but over VGA.  Monitors to support that are everywhere, and dirt cheap.

Unfortunately the 1080p60 pixel clock is 150MHz, which is far higher than we can reasonably drive with this except maybe in a monochrome character-cell mode.

But if we scale back to a retro-level 320x180 (1/6th the resolution horizontally and vertically) an 8-bit frame buffer takes 57600 bytes, neatly fitting in our 64K RAM.  And the pixel clock is 25MHz, half our CPU clock.  (Well, not exactly.  We might need to find a more precise crystal, like the guy in the second video.)

And if we drop to 1080p30 for our timings, the pixel clock is 12.5MHz, which is the sort of speed you can mess about with as a hobbyist and have a chance of getting something working.

What I would do (if I were to do this, which, since it requires next to no soldering, I just might) is this:
  • A 57,600-byte framebuffer - or maybe slightly larger so we can scroll it around using "hardware" registers.

  • Once every six output lines, the CPU reads the next input line from the frame buffer.

  • Each byte is referenced in a 512-byte lookup table that converts it to a 16-bit value.

  • The 16-bit value is written to a 640-byte line buffer.

  • DMA streams the 640 byte line buffer a byte at a time to an 8-bit I/O port connected to a set of resistor ladders, at 25MHz, double our pixel clock.

    That's a lot, but if the internal memory is 32 bits and the DMA can buffer it appropriately, it will only be using 1/8th of the available bandwidth.

  • The resistor ladders convert six bits into 64 main colours with the extra two bits common across the LSB of each channel.  So you have 64 real colours, 16 grey levels, and some other inbetween colours.

    Though I'm sure if I look this up there's probably someone who can show that with two extra resistors and a diode you can have logarithmic output that looks 97% better.

  • Here's the clever bit (well, I think it's clever): Normally the 512 byte lookup table simply converts an 8-bit logical colour into an 8-bit physical colour, and we send the same pixel value twice.

    But we can also treat part or all of the lookup space as a lookup table for a pair of 4-bit pixels instead of one 8-bit pixel, and return two different output values - and get up to 16 colours at 640x180, with the display mode switchable at any even-numbered column (that is, any standard-resolution column).

    You can switch back and forth between resolutions in the middle of a line as often as you want.  Even the Amiga needed a couple of blank scan lines to pull off that trick.

You could use 720p30 instead, but the table on Wikipedia shows it as having the same pixel clock as 1080p30.  I have no idea why, but unless that's wrong it would actually make things a lot harder.

Doing all this stuff would use almost all the RAM and an unknown percentage of CPU, DMA, and timer resources on our $6 chip, so the idea would be to add a second $6 chip to be our "actual" CPU, and connect them over SPI, which is serial but plenty fast for this.

Of our 19 programmable I/O pins on our GPU, we need 8 for pixel data, two for sync, and four for SPI, leaving a whole 5 for whatever we want!

We could construct ourselves a fancy audio chip in the same way, though that might be possible using the CPU alone.  Each chip has two SPI interfaces so the CPU can control two other chips, and you could potentially daisy-chain them.  Although I'm not sure if you can use dual SPI and USB.

Anyway, at the end of all that you have a rather nice little retro-computer: 64KB main RAM and 64KB graphics RAM is adequate, you have an 80 column mode (though only 22 lines, oh well...)  And it plugs into any cheap 1080p LCD that supports VGA.

You have 256KB of flash storage directly in the CPU to hold the kernel, Basic interpreter, and your code, and another 256KB sitting in the graphics chip that we can turn into virtual floppy drive.

And very much unlike computers of the 80s, it runs at 50 goddam megaHertz.

And for all that it's just two chips on a breadboard (plus a bunch of resistors, oscillators, VRMs, capacitors, and all that little annoying stuff, including probably a CPLD for something that it turned out no we couldn't do in software).

Now, if we didn't need to stick to the breadboard - if we were going to actually make a hundred of these and put them up on eBay - if we happened to have a brother (hi K!) who had an entire frickin' warehouse (okay, it's a small warehouse) full of surface-mount parts and the parts for making use of surface-mount parts - we could do a couple of things differently:
  • The 44-pin SMD version of the PIC32MX2 gives us a total of 31 programmable I/Os, so we could do 15-bit colour output.  (We might - just - be able to squeeze 12-bit colour out of the 28-pin version, but I'm betting there's something I've forgotten that will already eat the 5 pins we have left.)

    Still 256 colours maximum at 320x180, but out of 32,768.

    We could also do 160x180 half-resolution mode at full 15-bit colour.

  • Since we're doing SMD anyway, there's a couple of more powerful options available.

    If we are willing to break our budget and go up to $9.96 (again A$ qty 1) we can get a PIC32MX4 part with twice the flash (nice), twice the RAM (nicer), and running up to 120MHz.

    If we push our pixel clock up to 37.5MHz (running the CPU at 3x that) we can do 480x270 low-resolution and 960x270 high-resolution.  Well, actually, no.  480x270 leaves us with just 1472 bytes of RAM.  If we don't want to go insane we'll need to leave ourselves a small margin and add some black bars top and bottom - let's say 480x250.

  • But for another 36¢ we can switch parts to the PIC32MK family - still MIPS architecture, though a different core - and get 1MB flash and 256KB RAM, 120MHz, for $10.32.

    Now we can tackle 640x360!  And it has six SPI ports, and they're twice as fast as the original version.

  • The next step up is the PIC32MZ.  At $14.56 we get 200MHz operation, 1MB flash, and 512KB of RAM, enough (maybe) to hit 960x540.  There are even 250MHz options with 2MB flash if we need that.

  • And then Microchip laughs at our endeavours, because the next step beyond that isn't a sweet 80s retro-computer, it's a sweet 80s Unix workstation.

    At $25.62 the PIC32MZ2025DAH169-I/6J - let's call him Ted - Ted runs at 200MHz, has 2MB flash, 256KB of SRAM, a built-in graphics controller including video timing and multi-mode blitter, and 32MB of DRAM.

    Basically they're saying: Yes, very cute, now here's a real processor.

Update: Speaking of character cell mode, which I was at some point, turns out it's a lot harder than I thought.  It's not that complicated, but it's not a very efficient task to perform on a CPU.  It is easy and efficient to do in hardware, which is why we had character cell video cards before we had pixel-addressable ones.

I wanted to add a 640x360 16-colour character cell text mode, but it looks like just refilling the line buffer would use about 50% of the CPU.  (I'm doing MIPS instruction times in my head so I could be off by a factor of two, but it's still a lot.)

But what I did figure out how to do is a 640x360 16 colour graphics text mode.  It requires an extra 512 bytes for the lookup table but is otherwise just as efficient as 360x180 graphics mode, because that is generating double the number of pixels it needs to (so it can dynamically switch to high resolution) and this is generating twice as many pixels per clock.

Basically, each byte in the frame buffer in this mode specifies a palette (one of 16) and four pixels (each 0 or 1).  Each pixel can be one of two colours, but for each group of four pixels you can choose which two colours.  It's not the same freedom as character cell mode would be, but it works well enough.  (And our GPU can update the available palettes on the fly just like the Amiga did, if you really want to.)

The same trick can give us 320x360 medium-resolution and 640x180 high-resolution modes with 16, 32, 64, or 128 colours.

I'm still working out how to do dual playfields (320x180 only) and sprites.  Amiga-style blitter objects are easy enough as long as you have enough free RAM...  Which we kind of don't since our frame buffer uses 88% of our RAM before we do anything.

I stuck with MIPS throughout this thought experiment because I can get started with those 28-pin DIP packages, but Microchip also sell a broad range of low-cost Arm micronconrollers.  A 120MHz Cortex M4 with 1MB flash and 256KB RAM, a more capable DMA controller, built-in SDHC and Ethernet, and floating point (!) should handle this just as well as the Pic32MK and costs...

Wait, I lost my Mouser tab...  Cheeky bastards, is NOT the same as  

A$7.49 qty 1.  So 84¢ more than our starting point for around twice the performance, four times the memory, Ethernet support, a small non-volatile RAM, a 4KB CPU cache, an FPU, and, well, stuff.  The datasheet is 2100 pages.

Tech News

Video of the Day

Seeing Antifa's difficulty getting their flag-burning on, I put forward my own modest proposal: A bill that requires all America flags to be made out of 100% natural nitrocellulose.

Disclaimer: Love laughs at locksmiths.  Component pricing laughs at hardware hackers.

Posted by: Pixy Misa at 09:14 PM | No Comments | Add Comment | Trackbacks (Suck)
Post contains 1983 words, total size 14 kb.

<< Page 1 of 453 >>
153kb generated in CPU 0.09, elapsed 0.4654 seconds.
55 queries taking 0.3897 seconds, 335 records returned.
Powered by Minx 1.1.6c-pink.
Using https / / 333