Cowboy Who?
Shared posts
Roadkill Nintendo NES - Restored
https://www.patreon.com/8BitGuy1
Visit my website:
http://www.the8bitguy.com/
Atari Portfolio - The $400 Palmtop PC from 1989
● LGR links:
https://www.patreon.com/LazyGameReviews
https://www.twitter.com/LazyGameReviews
https://www.facebook.com/LazyGameReviews
● All background music licensed from:
https://www.epidemicsound.com
#LGR #Retro #Computers
Saturday Morning Breakfast Cereal - Mommy

Click here to go see the bonus panel!
Hovertext:
I'm just saying there's no way to prove it's NOT true.
Today's News:
Saturday Morning Breakfast Cereal - Stone
US Copyright Office says you can fix a game console (but only the optical drive)
Enlarge / Feel free to repair this PS3 disc drive. (credit: Getty Images | sydmsix)
The librarian of Congress has provided a new exemption to the Digital Millennium Copyright Act that will let people repair optical drives on video game consoles. The new rule will also allow users to perform "diagnosis, maintenance, and repair" of other types of software-enabled devices marketed to consumers.
The US Copyright Office today announced the decision, which came from a set of recommendations by Register of Copyrights Shira Perlmutter. The office simultaneously released a final rule in which Librarian of Congress Carla Hayden adopted the recommendations.
"For the reasons discussed in the Register's Recommendation, the Register recommended expanding the existing exemption for diagnosis, maintenance, and repair of certain categories of devices to cover any software-enabled device that is primarily designed for use by consumers," the final rule said. "For video game consoles, the Register concluded that an exemption is warranted solely for the repair of optical drives."
Mystery of deadly US infections solved; aromatherapy spray at Walmart to blame
Enlarge / Burkholderia pseudomallei grown on sheep blood agar for 24 hours. B. pseudomallei is a Gram-negative aerobic bacteria, and it's the causative agent of melioidosis. (credit: Getty | CDC/Larry Stauffer, Oregon State Public Health Laboratory)
The Centers for Disease Control and Prevention on Tuesday confirmed that an aromatherapy gemstone spray sold at Walmart is linked to four mysterious bacterial infections in four different states. The infections left two dead, including a child.
On Friday, the CDC announced a break in the months-long mystery: A bottle of aromatherapy room spray in the home of a Georgia patient who died was contaminated with the bacterium Burkholderia pseudomallei. The dangerous microbe is typically found in soil and water in tropical and subtropical climates, such as South Asia. When the bacterium is consumed or inhaled or enters a skin wound, it can cause a life-threatening but difficult-to-diagnose infection called melioidosis.
As soon as the CDC identified the contaminated spray, Walmart and the Consumer Product Safety Commission (CPSC) announced a recall of the product, the Better Homes & Gardens Lavender & Chamomile Essential Oil Infused Aromatherapy Room Spray with Gemstones, which is manufactured in India. Walmart is offering customers a $20 gift card for the safe return of the dangerous spray bottles.
Windows 10 Wasn’t The End Of OSes, But Is The End Of UWP
Microsoft's admission that the Universal Windows Platform has no future is a bit overdue. It is not jut because of the minimal adoption of the platform by programmers but also because it…
Squid Game creator fires back at Lebron James for criticizing the show's ending - CNET
MacBook Pro display notch obscures app menu bars: "How is this shippable?"

Apple's new MacBook Pro loses features users disliked and restores some they loved—the SD card slot and physical F-keys!— and adds the company's powerful and efficient in-house processors. One new feature, though, was not so well-received: the display now has a notch at the top, like Apple's smartphones. — Read the rest
Are You in a Haunted House or the State of Texas?
Are the lights flickering?
A. Yes, that is a special effect to create a fun spooky atmosphere.
B. Yes, the power grid is failing, and we aren’t going to fix it.
Are old, nearly transparent white beings threatening you and your family?
A. Yes, they are saying “wooooooooo.”
B. Yes, they are passing legislation allowing people to collect a cash bounty for reporting your medical procedures and disallowing your children to play sports on teams consistent with their gender identity.
Do you hear faint screams and moans that are slowly becoming louder?
A. Yes, those are the mimicked sounds of disembodied spirits.
B. Yes, those are the actual sounds of disenfranchised voters.
Did the second most powerful person there threaten to sacrifice your grandparents?
A. No, that would be too dark.
B. Yes, “there are more important things than living,” according to Lieutenant Governor Dan Patrick.
Is a deadly virus raging out of control?
A. No, that is just a zombie scenario we designed to scare you.
B. No, that is just a hoax scenario liberals designed to scare you.
Are people around you wielding deadly weapons without any training or permits?
A. No, of course not; we only use toy guns.
B. Yes, for some reason we think this makes you safer.
Does it promote a fictional alternate reality?
A. Yes, ghosts aren’t real.
B. Yes, structural racism and thus critical race theory aren’t real.
Is a tall, lanky skater dude working there?
A. Yes, he’s the owner’s nephew.
B. Yes, he’s Beto O’Rourke, and although he doesn’t currently hold elected office in the state, he is working to get people across the state registered to vote.
Will you be denied entry if you are fleeing an unsafe situation?
A. No, we welcome as many people as possible to participate in this fun, safe family experience.
B. Yes, you will be immediately sent back to the unsafe situation and/or separated from your children.
Do you have a sliding scale for payment?
A. Yes, people with lower incomes can pay less than people with higher incomes to make the admission cost proportionately equal for all.
B. Yes, people with lower incomes must pay more proportionately due to a regressive tax system.
Is Ted Cruz there?
A. Yes, he lives here.
B. No, he’s in Cancun.
Results
All A’s : You are in a haunted house, a fun Halloween entertainment experience that titillatingly simulates what it’s like to experience threats to your physical and psychological well-being for thirty to forty-five minutes.
All B’s : You are in the state of Texas, a disturbingly real nightmare hellscape that horrifyingly forces you to experience threats to your physical and psychological well-being for an indeterminate amount of time.
All A’s and All B’s : You are in a haunted house in Texas—only some of the terror will end soon.
Mix of A’s and B’s : You are probably in a haunted house in Georgia or Alabama—states with laws and policies almost as scary as those in Texas.
Saturday Morning Breakfast Cereal - Spice

Click here to go see the bonus panel!
Hovertext:
With a dab of pork-cream on top, if you please.
Today's News:
Saturday Morning Breakfast Cereal - Cat

Click here to go see the bonus panel!
Hovertext:
Fortunately, that cat is definitely dead by now, so Quantum Mechanics makes sense again.
Today's News:
Trump Given 30 Days To Have His Social Media Site Comply With Open Source License
Plenty of people have raised concerns that Donald Trump's sketchy new social media site, Truth Social, is just a lightly reskinned Mastodon, which is violating Mastodon's fairly strict AGPLv3 license. As we had previously discussed, the aggressive (and sloppy) terms of service for the site claim that the code is proprietary, and even claims that "all source code, databases, functionality, software, website designs, audio, video, text, photographs, and graphics on the Site (collectively, the “Content”) and the trademarks, service marks, and logos contained therein (the “Marks”) are owned or controlled by us or licensed to us..."
Of course, part of the reason that Mastodon uses such a license is to encourage others to take the code and build on it if they abide by the terms of the license. And the nature of Mastodon's license is that if you use it, you must make the complete source code available of what you build with it. The key bit of the license:
You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices".
c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
It's not clear that any of these conditions have been met. So, now the Software Freedom Conservancy has given Trump 30 days to bring the code into compliance -- specifically by providing the source code to Truth Social to the early users who were able to sign up -- or, under the license terms, Trump's "rights in the software are permanently terminated."
Early evidence strongly supports that Trump's Group publicly launched a so-called “test site” of their “Truth Social” product, based on the AGPLv3'd Mastodon software platform. Many users were able to create accounts and use it — briefly. However, when you put any site on the Internet licensed under AGPLv3, the AGPLv3 requires that you provide (to every user) an opportunity to receive the entire Corresponding Source for the website based on that code. These early users did not receive that source code, and Trump's Group is currently ignoring their very public requests for it. To comply with this important FOSS license, Trump's Group needs to immediately make that Corresponding Source available to all who used the site today while it was live. If they fail to do this within 30 days, their rights and permissions in the software are automatically and permanently terminated. That's how AGPLv3's cure provision works — no exceptions — even if you're a real estate mogul, reality television star, or even a former POTUS.
I and my colleagues at Software Freedom Conservancy are experts at investigating non-compliance with copyleft license and enforcing those licenses once we confirm the violations. We will be following this issue very closely and insisting that Trump's Group give the Corresponding Source to all who use the site.
I think that's called being put on notice. It will be interesting to see how Trump responds -- and what happens next.
Apple Once Threatened Facebook Ban Over Mideast Maid Abuse
Read more of this story at Slashdot.
DOS game "Cosmo Chicken" patched after 25 years
Some 25 years ago, I first released my game Cosmo Chicken and last updated it in 1998 to version 1.6. Earlier today, a quarter of a century later, version 1.7 was released. Why? Because it had a bug that made the game crash DOSBox when running in there. I doubt anybody will ever play the patched version, but it's a matter of pride for me to fix my bugs no matter how old they are and it was an opportunity for me to get back to basics and a good reason to write a nostalgic blog post as a postmortem.

What was the bug?
When run in certain versions of DOSBox (including the latest official version 0.74-3), whenever certain sounds would play, DOSBox would crash to the desktop. If you had the DOSBox terminal window up, you might see the error message "Exit to error: DMA segbound wrapping (read)"
Earlier versions, such as 0.73, and indeed later versions of DOSBox, if any are ever released, as well as DOSBox-X would not crash, nor would real hardware, but that doesn't mean that there wasn't a bug in Cosmo Chicken's original code. It's just a happy circumstance that it wasn't a critical problem on there.
Segment:Offset memory addressing
To understand what happened, we need to take a look at how memory is handled in the 8086 CPU (and because of that, in the so-called "real mode" of all CPUs in the x86 family). This was the era of the infamous 640k memory barrier. The first x86 CPU had a 20-bit address bus, allowing it to address a maximum of 1 megabyte (1048576 bytes). In hexadecimal, that is 0x100000, with the individual bytes being numbered linearly from 0x00000 to 0xFFFFF. However, the registers on the 8086 were only 16 bits in size, which leaves them 4 bits short of being able to point to any address in memory using a single register.
Thus, pointers had to be more than just 1 register and, the solution Intel chose was to have 2 registers forming a pointer. A segment register and an offset register. The segment registers were CS for the Code Segment, DS for the Data Segment, SS for the Stack Segment, and ES as an Extra Segment register. These registers were then coupled with an offset register to form pointers. CS:IP coupled the Code Segment and Instruction Pointer to point to the currently executing instruction, SS:SP coupled the Stack Segment and Stack Pointer to point to the top of the stack and generally, DS:DX would be used for reading and ES:BX for writing when transferring data around through memory, with the BX register allowing some slightly more advanced addressing modes.
These register pairs weren't just concatenated to form a linear address, which would have allowed for 32-bit pointers for a total of 4 gigabytes of memory. That's something that didn't show up until the introduction of the 32-bit 386 processor family. For the 8086, that would have been overkill, and the architecture only had a 20-bit bus, so such pointers would have far exceeded the amount of memory physically addressable. So, instead, they took the segment register, shifted it left by 4 bits, and then added the value of the offset register to obtain a linear address. For instance, when ES has the value 0x2409 and BX has the value 0x1978 the address calculation would be
0x24090
0x01978
------- +
0x25A08
As the lower three nibbles of the segment register and the upper three nibbles of the offset register overlapped in the calculation, there were actually 4096 different combinations of segment:offset values that all mapped to the same linear address. For example, ES=0x2499 and BX=0x1078 or ES=0x2408 and BX=0x1988 would point to the same linear address of 0x25A08.
Now, the high nibble of the linear address (2, in this case) indicated that this address lay in a 64kB "page" numbered 2... that is, all the addresses ranging from 0x20000 to 0x2FFFF.
Sound Blaster DMA transfer
The original IBM PC was not very well equipped in the sound department, having a small speaker hooked up to a channel on the Intel 8253 PIT chip that would generate square waves at various frequencies and nothing else. Now, some enterprising souls figured out that, by rapidly (hundreds or thousands of times per second) changing the frequency of the generated square wave, they could generate far more complex sounds. This had to be done with very precise timing, though. As it all had to be done on that single CPU, it took a lot of the available processing power, leaving precious few cycles for actually running the game. Gamers wanted something better.

Image credit: Wdwd, CC BY-SA 3.0 , via Wikimedia Commons
In stepped Creative Labs with their Sound Blaster card. They took the Yamaha OPL2 chip that had previously been used on the AdLib Music Synthesizer Card and expanded on it by adding a channel for digitally sampled audio to the existing FM music synthesis. It's fair to say that this was a major revolution in PC gaming.
Now, to take the burden of reading the sound data from memory and outputting it over the DAC away from the CPU, the Sound Blaster used Direct Memory Access, or DMA for short. A chip called the Intel 8237 DMA controller would be set up to read from a certain area of memory and transfer the data onto a DMA channel. By default, the Sound Blaster would listen on DMA channel 1. As the DMA controller feeds the data to the DAC, the main CPU can go about its business and it will be informed of the transfer being completed by an interrupt request or IRQ. The default setting for early Sound Blasters was IRQ 7, but later models would default to IRQ 5.
This brings me to the root cause of the bug that crashed DOSBox. When setting up the DMA controller for DMA transfer, it did not take a standard segment:offset pointer for the source address. Instead, it took a page and an offset into that page. This is why I explained the x86 memory segmentation model before. Again using the aforementioned example address of 0x25A08, the DMA controller required that to be specified as offset 0x5A08 (a 16-bit word value) and page 0x02 (an 8-bit byte value). And, here is the crucial part: it didn't allow the DMA transfer to begin in one page and end in another.
Now, to be honest, I have no idea whether a DMA transfer straddling a page boundary caused any actual problems on real hardware, especially as by the time I wrote Cosmo Chicken, 386 and 486 machines were commonplace. Maybe they acted differently with more modern DMA controllers, or maybe they didn't. Perhaps the DAC would have garbage fed into it, which we'd hear as static. Perhaps (and I consider this the most likely scenario) the offset counter would wrap around from 0xFFFF to 0x0000 and this too could result in garbage being fed to the DAC. Perhaps the transfer would simply be aborted or not even started. And perhaps it would just work anyway. Whatever one of the faults it was, especially when the page boundary was overrun by just a few bytes, none of those scenarios would have been very noticeable if it wasn't an outright crash.
Update: there are actually some videos on YouTube of the game being played, a short video and a longer one that demonstrate that my guess of wrapping around seems to be the correct one, at least on whatever they used to record it. Note that in those recordings, the bouncy sound when hitting the landing pad at too high a velocity is cut off and the explosion sound is played. Thanks to Rikki Daman for bringing those videos to my attention.
So yeah, there you have it. As DOSBox's error message indicated, at least one sound effect was loaded into memory at a place straddling a page boundary and starting playback made DOSBox give up in utter terror to the point where the whole emulator crashed.
The fix
My game code did not make use of Turbo Pascal's memory allocator, preferring to use the DOS memory allocator instead. Explaining the details of the allocator would be well beyond the scope of this blog post, but for the most part, let's simplify it to DOS making allocations as sequentially as possible. Note: this bug would have occurred with the TP memory allocator too, just perhaps with a different sound - from the programme's point of view any given address handed out by either allocator may as well be random. But allocations happening one after the other with nothing being done in between (as commonly happens when loading data at game start) are not random. They tend to be sequential.
So, the fix I ended up implementing was that, if the block of memory allocated for a sound happens to straddle a page boundary, the newly allocated block is shrunk to end on that page boundary, but not released. Then, the allocation is retried. This most likely results in this second allocated block starting on the page boundary. Well, actually 16 bytes later, as there is an MCB header, but who's counting? It keeps doing this until an allocation succeeds and doesn't straddle the page boundary or there is no memory available. This ensures that the block that ends up being definitively allocated for the sound always falls within a memory page. At this point, it can also release the memory blocks that were held in reserve during this algorithm.
Problem solved... 25 years late.
Report: Members of Congress Helped Plan the January 6 Rally
Story of the Boy Scouts
Story of the Boy Scouts
Blassingame
1968
Submitter: Quaint Hardy Boys style illustrations and historical black and white photos accompany this book about the history of the Boy Scouts. While there are a few pictures of African American children and a boy with a turban on the cover, included also are some stories about the boys “howling like Indians” and “playing Indian” as they set up camp. One boy is described as a “cripple” who doesn’t look like “a man to lead” and grew up having to work with the girls in the sewing room rather than be outdoors with the boys. It’s a snapshot of the times, but there’s a lot that has happened in the 50+ years that have passed since this book was published. The kids in our library need more up to date info on scouting, and more culturally sensitive language. Girls can now join the Boy Scouts in their activities, and are no longer confined to the sewing room.
Holly: WorldCat’s description of this book says: “Discusses the origin and continuing growth of the Boy Scouts, relates true stories of Scouting heroism and adventure, and describes the many activities of Scouting.” I’m all for a history of the Boy Scouts, but respectful language is a must. Kids interested in scouting activities can definitely do better than this!
The post Story of the Boy Scouts appeared first on Awful Library Books.
Saturday Morning Breakfast Cereal - Natural

Click here to go see the bonus panel!
Hovertext:
The widespread belief that babies are doing something like science may explain all the reproducibility problems.
Today's News:








