The experimental setup – a Commodore 64 is connected to a monitor through a composite video to HDMI converter, with the code cartridge inserted into the expansion port.

Trolling IBM’s Quantum Processor Advantage With A Commodore 64

The memory map ofthe implementation, as set within the address space of the Commodore 64 - about 15kB of the accessible 64kB RAM is used. 8kB of this is reserved for code, although most of this is unused. Each of the two bitstrings for each Pauli string is stored separately (labeled as Pauli String X/Z) for more efficient addressing.
The memory map of
the implementation, as set within the address space of the Commodore 64 – about 15kB of the accessible 64kB RAM is used.

There’s been a lot of fuss about the ‘quantum advantage’ that would arise from the use of quantum processors and quantum systems in general. Yet in this high-noise, high-uncertainty era of quantum computing it seems fair to say that the advantage part is a bit of a stretch. Most recently an anonymous paper (PDF, starts at page 199) takes IBM’s claims with its 127-bit Eagle quantum processor to its ludicrous conclusion by running the same Trotterized Ising model on the ~1 MHz MOS 6510 processor in a Commodore 64. (Worth noting: this paper was submitted to Sigbovik, the conference of the Association for Computational Heresy.)

We previously covered the same claims by IBM already getting walloped by another group of researchers (Tindall et al., 2024) using a tensor network on a classical computer. The anonymous submitter of the Sigbovik paper based their experiment on a January 2024 research paper by [Tomislav Begušić] and colleagues as published in Science Advances. These researchers also used a classical tensor network to run the IBM experiment many times faster and more accurately, which the anonymous researcher(s) took as the basis for a version that runs on the C64 in a mere 15 kB of RAM, with the code put on an Atmel AT28C256 ROM inside a cartridge which the C64 then ran from.

The same sparse Pauli dynamics algorithm was used as by [Tomislav Begušić] et al., with some limitations due to the limited amount of RAM, implementing it in 6502 assembly. Although the C64 is ~300,000x slower per datapoint than a modern laptop, it does this much more efficiently than the quantum processor, and without the high error rate. Yes, that means that a compute cluster of Commodore 64s can likely outperform a ‘please call us for a quote’ quantum system depending on which linear algebra problem you’re trying to solve. Quantum computers may yet have their application, but this isn’t it, yet.

Thanks to [Stephen Walters] and [Pio] for the tip.

End-Of-Life For Z80 CPU And Peripherals Announced

In a Product Change Notification (PCN) published on April 15, Zilog (now owned by Littelfuse) announced the End of Life for a range of Z80 products, specifically virtually all of the Z84C00 range. This also includes the peripherals, such as the Z84C10 range of MPUs. These are currently already marked as EoL on stores like Mouser, with Littelfuse noting that the last orders with them can be placed until June 14th of 2024. After that you’ll have to try your luck with shady EBay sellers and a lucky box of old-new-stock found in the back of a warehouse.

What this effectively means is that after just under 48 years since its launch in 1976, the Zilog Z80 will no longer be available for sale as discrete components, which is likely to primarily impact hobbyists and people who are trying to keep retro systems going. This does not mean that it’s the end of the road for Z80, however, as the eZ80 will be produced for the foreseeable future.

These new chips will of course not come in easy to drop in DIPs, making the challenge of breadboarding your own Z80-based microcomputer that much tougher. Yet one thing that definitely won’t happen is any of us witnessing the end of the era of the Z80, 6502 and 8051 architectures.

Thanks to [Techokami] for the tip.

NASA’s Ingenuity Mars Helicopter Transitions Into Stationary Testbed

On April 16th NASA announced the formal end to Ingenuity’s days as the first ever Martian helicopter, following its 72nd and final flight mission in January. This flight ended with a rough landing during which the helicopter’s blades got damaged and separated, leaving the plucky flying machine with its wings clipped. During the final meet-up of the Mars Helicopter Team there was cake, but none for Ingenuity as its latest data set was reviewed by the team from 304 million kilometers away. This data confirms the latest software patch allows it to work stand-alone as a data collection platform.

With these latest software changes, Ingenuity will wake up daily, activate its computers and perform a self-check of all its components before collecting sensor data and images. The main goal of this is to collect long-term performance data on the helicopter’s systems, with enough onboard memory to allow for measurements to be stored for around 20 years. This means that although the Perseverance rover will have to trundle on without its flying mission buddy, one day in the future another rover, helicopter or primate will presumably drop by to either communicate with Ingenuity if it’s still alive, or harvest its memory unit for data retrieval.

Thanks to [Mark Stevens] for the tip.

Source Code To The 1999 FPS Game Descent 3 Released

On April 16th of this year, [Kevin Bentley] released the source code to the Sci-Fi FPS game Descent 3. Originally released in 1999 for Windows, the game has you control a flying ship which you have to guide through both in- and outdoor environments, while shooting at robots that have been infected with an alien virus as you try to save the solar system. It was later also ported to Mac OS and Linux, but was considered a commercial flop due to low sales.

As one of the original developers, [Kevin] explains that one of the goals of this code release is to give the game a second life, by cleaning up the C++ code and using new APIs. Original proprietary audio and video libraries from Interplay were removed, which means that some work is required before one can build a fresh copy of the game from this code base. That said, the released code is the latest 1.5 patch level, with the Mac OS and Linux support. Even if the original Descent games weren’t your cup of tea, it’s still great to see games being preserved and updated like this.

Thanks to [Phil Ashby] for the tip.

Compiling And Running Turbo Pascal In The Browser

When a friend of [Lawrence Kesteloot] found a stack of 3.5″ floppy disks, they found that it contained Turbo Pascal code which the two of them had worked on back in the Summer of 1989. Amidst reminiscing about the High School days and watching movies on VHS, [Lawrence] sought a way to bring these graphical applications once more back to life. Not finding an easy way to compile Turbo Pascal code on Mac even back in 2013 when he started the project, he ended up writing a Turbo Pascal compiler in JavaScript, as any reasonable person would do in this situation.

SPIDER.PAS in its full glory. (Credit: Lawrence Kesteloot)
SPIDER.PAS in its full glory. (Credit: Lawrence Kesteloot)

As noted by [Lawrence], the compiler doesn’t implement the full Turbo Pascal 5.5 language, but only the subset that was required to compile and run these applications which they had found on the floppy disks. These include ROSE.PAS and SPIDER.PAS along with three others, and can also be found in the GitHub repository. As can be seen in the online version of the compiler, it captures the feel of programming Pascal in 1989 on the command line.

Naturally, the software situation has changed somewhat over the last decade. We’ve recently seen some promising multi-platform Pascal compilers, and of course you could even run Turbo Pascal in DOSBox or similar. That might make this project seem irrelevant, but being able to write and run Pascal applications in more ways and on more platforms is never a bad thing.

Still Up And Coming: Non-Planar FDM 3D Printing With 3 Or 6 Axes

Printing the non-planar PLA part on top of the non-planar side of the PETG part. (Credit: Michael Wüthrich)
Printing the non-planar PLA part on top of the non-planar side of the PETG part. (Credit: Michael Wüthrich)

Most of the time FDM 3D printing involves laying down layers of thermoplastics, but the layer lines also form the biggest weakness with parts produced this way. Being able to lay out the lines to follow the part’s contours can theoretically strengthen the part and save material in the process. Recently, [Michael Wüthrich] demonstrated an approach that uses a modified Prusa Mini FDM printer to first lay out a part in PETG using non-planar printing, after which this PETG part was used to print on top of in PLA, effectively using the PETG as a ‘printbed’ from which the PLA can be easily removed and leaving the PLA part as fully non-planar on both sides.

The modification to the Prusa Mini printer is covered on Printables along with the required parts. The main change is to give the nozzle as much clearance as possible, for which [Michael] uses the E3D Revo belt nozzle. This nozzle requires a custom holder for the Prusa Mini. After this the printer is ready for non-planar printing, but as [Michael] notes in the Twitter thread, he did not use a slicer for this, as none exists. Instead he used Matlab, a custom script and a lot of manual labor.

Continue reading “Still Up And Coming: Non-Planar FDM 3D Printing With 3 Or 6 Axes”

Mechanisms of pulse current charging for stabilizing the cycling performance of commercial NMC/graphite LIBs. (Credit: Jia Guo et al., 2024)

Why Pulse Current Charging Lithium-Ion Batteries Extends Their Useful Lifespan

For as much capacity lithium-ion batteries have, their useful lifespan is generally measured in the hundreds of cycles. This degradation is caused by the electrodes themselves degrading, including the graphite anode in certain battery configurations fracturing. For a few years it’s been known that pulsed current (PC) charging can prevent much of this damage compared to constant current (CC) charging. The mechanism behind this was the subject of a recent research article by [Jia Guo] and colleagues as published in Advanced Energy Materials.

Raman spectra of a) as-cycled and b) surface-removed graphite anodes aged under CC and Pulse-2000 charging. FE-SEM images of the cross-sections of graphite electrodes aged with CC (c,d) and Pulse-2000 (e,f) charging. d,f) are edge-magnified images of (c,e). g) shows the micrograph and O and C element mapping of the surface of CC-aged graphite electrode. TEM images of h) fresh, i) CC, and j) Pulse-2000 aged graphite anodes. (Credit: Jia Guo et al., 2024)
Raman spectra of a) as-cycled and b) surface-removed graphite anodes aged under CC and Pulse-2000 charging. FE-SEM images of the cross-sections of graphite electrodes aged with CC (c,d) and Pulse-2000 (e,f) charging. d,f) are edge-magnified images of (c,e). g) shows the micrograph and O and C element mapping of the surface of CC-aged graphite electrode. TEM images of h) fresh, i) CC, and j) Pulse-2000 aged graphite anodes. (Credit: Jia Guo et al., 2024)

The authors examined the damage to the electrodes after multiple CC and PC cycles using Raman and X-ray absorption spectroscopy along with lifecycle measurements for CC and PC charging at 100 Hz (Pulse-100) and 2 kHz (Pulse-2000). Matching the results from the lifecycle measurements, the electrodes in the Pulse-2000 sample were in a much better state, indicating that the mechanical stress from pulse current charging is far less than that from constant current charging. A higher frequency with the PC shows increased improvements, though as noted by the authors, it’s not known yet at which frequencies diminishing returns will be observed.

The use of PC vs CC is not a new thing, with the state-of-the-art in electric vehicle battery charging technology being covered in a 2020 review article by [Xinrong Huang] and colleagues as published in Energies. A big question with the many different EV PC charging modes is what the optimum charging method is to maximize the useful lifespan of the battery pack. This also applies to lithium-metal batteries, with a 2017 research article by [Zi Li] and colleagues in Science Advances providing a molecular basis for how PC charging suppresses the formation of dendrites .

What this demonstrates quite well is that the battery chemistry itself is an important part, but the way that the cells are charged and discharged can be just as influential, with the 2 kHz PC charging in the research by [Jia Guo] and colleagues demonstrating a doubling of its cycle life over CC charging. Considering the amount of Li-ion batteries being installed in everything from smartphones and toys to cars, having these last double as long would be very beneficial.

Thanks to [Thomas Yoon] for the tip.